From 2e93482cee7c688d39a04309c6f4ef174855fcaf Mon Sep 17 00:00:00 2001 From: boosted-bot Date: Tue, 5 May 2026 12:03:33 +0100 Subject: [PATCH 01/13] chore: update tokens --- .../lib/border_raw_tokens.dart | 2 +- .../lib/color_raw_tokens.dart | 5 +- .../lib/dimension_raw_tokens.dart | 2 +- .../lib/effect_raw_tokens.dart | 4 +- .../lib/font_raw_tokens.dart | 2 +- .../lib/grid_raw_tokens.dart | 2 +- .../lib/opacity_raw_tokens.dart | 2 +- .../lib/ouds_component_version.dart | 41 +++++---- .../lib/ouds_tokens_version.dart | 14 +-- .../tokens/components/ouds_alert_tokens.dart | 2 +- .../tokens/components/ouds_badge_tokens.dart | 6 +- .../tokens/components/ouds_bar_tokens.dart | 44 ++++----- .../components/ouds_bulletList_tokens.dart | 2 +- .../components/ouds_buttonMono_tokens.dart | 2 +- .../tokens/components/ouds_button_tokens.dart | 2 +- .../components/ouds_checkbox_tokens.dart | 3 +- .../tokens/components/ouds_chip_tokens.dart | 2 +- .../components/ouds_controlItem_tokens.dart | 59 ++++++++---- .../components/ouds_divider_tokens.dart | 2 +- .../tokens/components/ouds_icon_tokens.dart | 5 +- .../components/ouds_inputTag_tokens.dart | 2 +- .../components/ouds_linkMono_tokens.dart | 2 +- .../tokens/components/ouds_link_tokens.dart | 2 +- .../components/ouds_pinCodeInput_tokens.dart | 2 +- .../components/ouds_radioButton_tokens.dart | 3 +- .../components/ouds_skeleton_tokens.dart | 2 +- .../tokens/components/ouds_switch_tokens.dart | 2 +- .../tokens/components/ouds_tag_tokens.dart | 2 +- .../components/ouds_textInput_tokens.dart | 4 +- .../semantic/ouds_border_semantic_tokens.dart | 2 +- .../ouds_color_action_semantic_tokens.dart | 6 +- .../ouds_color_always_semantic_tokens.dart | 2 +- .../ouds_color_bg_semantic_tokens.dart | 2 +- .../ouds_color_border_semantic_tokens.dart | 2 +- .../ouds_color_content_semantic_tokens.dart | 18 +++- .../ouds_color_opacity_semantic_tokens.dart | 2 +- .../ouds_color_overlay_semantic_tokens.dart | 14 +-- ...ouds_color_repository_semantic_tokens.dart | 8 +- .../ouds_color_surface_semantic_tokens.dart | 2 +- .../semantic/ouds_effect_semantic_tokens.dart | 2 +- .../semantic/ouds_font_semantic_tokens.dart | 2 +- .../semantic/ouds_grid_semantic_tokens.dart | 2 +- .../ouds_opacity_semantic_tokens.dart | 2 +- .../semantic/ouds_size_semantic_tokens.dart | 59 ++++++------ .../semantic/ouds_space_semantic_tokens.dart | 2 +- .../lib/components/orange_alert_tokens.dart | 2 +- .../lib/components/orange_badge_tokens.dart | 8 +- .../lib/components/orange_bar_tokens.dart | 70 +++++++-------- .../components/orange_bulletList_tokens.dart | 2 +- .../components/orange_buttonMono_tokens.dart | 2 +- .../lib/components/orange_button_tokens.dart | 2 +- .../components/orange_checkbox_tokens.dart | 4 +- .../lib/components/orange_chip_tokens.dart | 2 +- .../components/orange_controlItem_tokens.dart | 89 +++++++++++++++---- .../lib/components/orange_divider_tokens.dart | 2 +- .../lib/components/orange_icon_tokens.dart | 8 +- .../components/orange_inputTag_tokens.dart | 2 +- .../components/orange_linkMono_tokens.dart | 2 +- .../lib/components/orange_link_tokens.dart | 2 +- .../orange_pinCodeInput_tokens.dart | 2 +- .../components/orange_radioButton_tokens.dart | 4 +- .../components/orange_skeleton_tokens.dart | 2 +- .../lib/components/orange_switch_tokens.dart | 2 +- .../lib/components/orange_tag_tokens.dart | 6 +- .../components/orange_textInput_tokens.dart | 8 +- .../orange_border_semantic_tokens.dart | 2 +- .../orange_color_action_semantic_tokens.dart | 4 +- .../orange_color_always_semantic_tokens.dart | 2 +- .../orange_color_bg_semantic_tokens.dart | 2 +- .../orange_color_border_semantic_tokens.dart | 4 +- .../orange_color_content_semantic_tokens.dart | 10 ++- .../orange_color_opacity_semantic_tokens.dart | 2 +- .../orange_color_overlay_semantic_tokens.dart | 8 +- ...ange_color_repository_semantic_tokens.dart | 5 +- .../orange_color_surface_semantic_tokens.dart | 2 +- .../orange_effect_semantic_tokens.dart | 4 +- .../semantic/orange_font_semantic_tokens.dart | 2 +- .../semantic/orange_grid_semantic_tokens.dart | 4 +- .../orange_opacity_semantic_tokens.dart | 2 +- .../semantic/orange_size_semantic_tokens.dart | 66 +++++++------- .../orange_space_semantic_tokens.dart | 2 +- .../orangeCompact_alert_tokens.dart | 2 +- .../orangeCompact_badge_tokens.dart | 8 +- .../components/orangeCompact_bar_tokens.dart | 70 +++++++-------- .../orangeCompact_bulletList_tokens.dart | 2 +- .../orangeCompact_buttonMono_tokens.dart | 2 +- .../orangeCompact_button_tokens.dart | 2 +- .../orangeCompact_checkbox_tokens.dart | 4 +- .../components/orangeCompact_chip_tokens.dart | 2 +- .../orangeCompact_controlItem_tokens.dart | 89 +++++++++++++++---- .../orangeCompact_divider_tokens.dart | 2 +- .../components/orangeCompact_icon_tokens.dart | 8 +- .../orangeCompact_inputTag_tokens.dart | 2 +- .../orangeCompact_linkMono_tokens.dart | 2 +- .../components/orangeCompact_link_tokens.dart | 2 +- .../orangeCompact_pinCodeInput_tokens.dart | 2 +- .../orangeCompact_radioButton_tokens.dart | 4 +- .../orangeCompact_skeleton_tokens.dart | 2 +- .../orangeCompact_switch_tokens.dart | 2 +- .../components/orangeCompact_tag_tokens.dart | 6 +- .../orangeCompact_textInput_tokens.dart | 8 +- .../orangeCompact_border_semantic_tokens.dart | 2 +- ...eCompact_color_action_semantic_tokens.dart | 4 +- ...eCompact_color_always_semantic_tokens.dart | 2 +- ...rangeCompact_color_bg_semantic_tokens.dart | 2 +- ...eCompact_color_border_semantic_tokens.dart | 4 +- ...Compact_color_content_semantic_tokens.dart | 10 ++- ...Compact_color_opacity_semantic_tokens.dart | 2 +- ...Compact_color_overlay_semantic_tokens.dart | 8 +- ...pact_color_repository_semantic_tokens.dart | 5 +- ...Compact_color_surface_semantic_tokens.dart | 2 +- .../orangeCompact_effect_semantic_tokens.dart | 4 +- .../orangeCompact_font_semantic_tokens.dart | 2 +- .../orangeCompact_grid_semantic_tokens.dart | 4 +- ...orangeCompact_opacity_semantic_tokens.dart | 2 +- .../orangeCompact_size_semantic_tokens.dart | 66 +++++++------- .../orangeCompact_space_semantic_tokens.dart | 2 +- .../lib/components/sosh_alert_tokens.dart | 2 +- .../lib/components/sosh_badge_tokens.dart | 8 +- .../lib/components/sosh_bar_tokens.dart | 70 +++++++-------- .../components/sosh_bulletList_tokens.dart | 2 +- .../components/sosh_buttonMono_tokens.dart | 2 +- .../lib/components/sosh_button_tokens.dart | 2 +- .../lib/components/sosh_checkbox_tokens.dart | 4 +- .../lib/components/sosh_chip_tokens.dart | 2 +- .../components/sosh_controlItem_tokens.dart | 89 +++++++++++++++---- .../lib/components/sosh_divider_tokens.dart | 2 +- .../lib/components/sosh_icon_tokens.dart | 8 +- .../lib/components/sosh_inputTag_tokens.dart | 2 +- .../lib/components/sosh_linkMono_tokens.dart | 2 +- .../lib/components/sosh_link_tokens.dart | 2 +- .../components/sosh_pinCodeInput_tokens.dart | 2 +- .../components/sosh_radioButton_tokens.dart | 4 +- .../lib/components/sosh_skeleton_tokens.dart | 2 +- .../lib/components/sosh_switch_tokens.dart | 2 +- .../lib/components/sosh_tag_tokens.dart | 6 +- .../lib/components/sosh_textInput_tokens.dart | 8 +- .../lib/raw/sosh_color_raw_tokens.dart | 3 +- .../semantic/sosh_border_semantic_tokens.dart | 2 +- .../sosh_color_action_semantic_tokens.dart | 4 +- .../sosh_color_always_semantic_tokens.dart | 2 +- .../sosh_color_bg_semantic_tokens.dart | 2 +- .../sosh_color_border_semantic_tokens.dart | 4 +- .../sosh_color_content_semantic_tokens.dart | 10 ++- .../sosh_color_opacity_semantic_tokens.dart | 2 +- .../sosh_color_overlay_semantic_tokens.dart | 8 +- ...sosh_color_repository_semantic_tokens.dart | 5 +- .../sosh_color_surface_semantic_tokens.dart | 2 +- .../semantic/sosh_effect_semantic_tokens.dart | 4 +- .../semantic/sosh_font_semantic_tokens.dart | 2 +- .../semantic/sosh_grid_semantic_tokens.dart | 4 +- .../sosh_opacity_semantic_tokens.dart | 2 +- .../semantic/sosh_size_semantic_tokens.dart | 66 +++++++------- .../semantic/sosh_space_semantic_tokens.dart | 2 +- .../components/wireframe_alert_tokens.dart | 2 +- .../components/wireframe_badge_tokens.dart | 8 +- .../lib/components/wireframe_bar_tokens.dart | 70 +++++++-------- .../wireframe_bulletList_tokens.dart | 2 +- .../wireframe_buttonMono_tokens.dart | 2 +- .../components/wireframe_button_tokens.dart | 6 +- .../components/wireframe_checkbox_tokens.dart | 4 +- .../lib/components/wireframe_chip_tokens.dart | 2 +- .../wireframe_controlItem_tokens.dart | 89 +++++++++++++++---- .../components/wireframe_divider_tokens.dart | 2 +- .../lib/components/wireframe_icon_tokens.dart | 8 +- .../components/wireframe_inputTag_tokens.dart | 2 +- .../components/wireframe_linkMono_tokens.dart | 2 +- .../lib/components/wireframe_link_tokens.dart | 2 +- .../wireframe_pinCodeInput_tokens.dart | 2 +- .../wireframe_radioButton_tokens.dart | 4 +- .../components/wireframe_skeleton_tokens.dart | 2 +- .../components/wireframe_switch_tokens.dart | 2 +- .../lib/components/wireframe_tag_tokens.dart | 6 +- .../wireframe_textInput_tokens.dart | 6 +- .../lib/raw/wireframe_color_raw_tokens.dart | 5 +- .../wireframe_border_semantic_tokens.dart | 8 +- ...ireframe_color_action_semantic_tokens.dart | 4 +- ...ireframe_color_always_semantic_tokens.dart | 2 +- .../wireframe_color_bg_semantic_tokens.dart | 2 +- ...ireframe_color_border_semantic_tokens.dart | 8 +- ...reframe_color_content_semantic_tokens.dart | 10 ++- ...reframe_color_opacity_semantic_tokens.dart | 2 +- ...reframe_color_overlay_semantic_tokens.dart | 8 +- ...rame_color_repository_semantic_tokens.dart | 5 +- ...reframe_color_surface_semantic_tokens.dart | 2 +- .../wireframe_effect_semantic_tokens.dart | 4 +- .../wireframe_font_semantic_tokens.dart | 2 +- .../wireframe_grid_semantic_tokens.dart | 4 +- .../wireframe_opacity_semantic_tokens.dart | 2 +- .../wireframe_size_semantic_tokens.dart | 66 +++++++------- .../wireframe_space_semantic_tokens.dart | 2 +- 191 files changed, 1040 insertions(+), 699 deletions(-) diff --git a/ouds_global_raw_tokens/lib/border_raw_tokens.dart b/ouds_global_raw_tokens/lib/border_raw_tokens.dart index 5676ce824..bfee83394 100644 --- a/ouds_global_raw_tokens/lib/border_raw_tokens.dart +++ b/ouds_global_raw_tokens/lib/border_raw_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// OUDS core tokens version 1.9.0 +// OUDS core tokens version 1.10.0 // Generated by Tokenator class BorderRawTokens { diff --git a/ouds_global_raw_tokens/lib/color_raw_tokens.dart b/ouds_global_raw_tokens/lib/color_raw_tokens.dart index 4c43be220..9f3bef76b 100644 --- a/ouds_global_raw_tokens/lib/color_raw_tokens.dart +++ b/ouds_global_raw_tokens/lib/color_raw_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// OUDS core tokens version 1.9.0 +// OUDS core tokens version 1.10.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -109,8 +109,7 @@ class ColorRawTokens { static const colorOpacityBlack960 = Color(0xf5000000); static const colorOpacityDodgerBlue80 = Color(0x1426b2ff); static const colorOpacityDodgerBlue520 = Color(0x8500598a); - static const colorOpacityGrayDark800800 = Color(0xcc1f1f1f); - static const colorOpacityGrayLight80800 = Color(0xccf4f4f4); + static const colorOpacityGrayDark880800 = Color(0xcc141414); static const colorOpacityMalachite120 = Color(0x1f3de35a); static const colorOpacityMalachite640 = Color(0xa30e621d); static const colorOpacityScarlet80 = Color(0x14db0002); diff --git a/ouds_global_raw_tokens/lib/dimension_raw_tokens.dart b/ouds_global_raw_tokens/lib/dimension_raw_tokens.dart index 8e33e3fd2..a19827ddc 100644 --- a/ouds_global_raw_tokens/lib/dimension_raw_tokens.dart +++ b/ouds_global_raw_tokens/lib/dimension_raw_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// OUDS core tokens version 1.9.0 +// OUDS core tokens version 1.10.0 // Generated by Tokenator class DimensionRawTokens { diff --git a/ouds_global_raw_tokens/lib/effect_raw_tokens.dart b/ouds_global_raw_tokens/lib/effect_raw_tokens.dart index 6d4271614..59bc531ea 100644 --- a/ouds_global_raw_tokens/lib/effect_raw_tokens.dart +++ b/ouds_global_raw_tokens/lib/effect_raw_tokens.dart @@ -10,10 +10,10 @@ // Software description: Flutter library of reusable graphical components // -// OUDS core tokens version 1.9.0 +// OUDS core tokens version 1.10.0 // Generated by Tokenator class EffectRawTokens { - static const effectBlur160 = 16; static const effectBlur320 = 32; + static const effectBlur480 = 48; } \ No newline at end of file diff --git a/ouds_global_raw_tokens/lib/font_raw_tokens.dart b/ouds_global_raw_tokens/lib/font_raw_tokens.dart index 74840c619..7fbc1ce12 100644 --- a/ouds_global_raw_tokens/lib/font_raw_tokens.dart +++ b/ouds_global_raw_tokens/lib/font_raw_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// OUDS core tokens version 1.9.0 +// OUDS core tokens version 1.10.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_global_raw_tokens/lib/grid_raw_tokens.dart b/ouds_global_raw_tokens/lib/grid_raw_tokens.dart index 8ea7c88b4..9817d826e 100644 --- a/ouds_global_raw_tokens/lib/grid_raw_tokens.dart +++ b/ouds_global_raw_tokens/lib/grid_raw_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// OUDS core tokens version 1.9.0 +// OUDS core tokens version 1.10.0 // Generated by Tokenator import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; diff --git a/ouds_global_raw_tokens/lib/opacity_raw_tokens.dart b/ouds_global_raw_tokens/lib/opacity_raw_tokens.dart index 201b200d4..880ab9dab 100644 --- a/ouds_global_raw_tokens/lib/opacity_raw_tokens.dart +++ b/ouds_global_raw_tokens/lib/opacity_raw_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// OUDS core tokens version 1.9.0 +// OUDS core tokens version 1.10.0 // Generated by Tokenator class OpacityRawTokens { diff --git a/ouds_theme_contract/lib/ouds_component_version.dart b/ouds_theme_contract/lib/ouds_component_version.dart index 9beb006cc..aa4068391 100644 --- a/ouds_theme_contract/lib/ouds_component_version.dart +++ b/ouds_theme_contract/lib/ouds_component_version.dart @@ -13,22 +13,27 @@ // Generated by Tokenator class OudsComponentVersion { - static const alertMessage = '1.1.0'; - static const badge = '1.2.0'; - static const bar = '1.0.0'; - static const bulletList = '1.0.0'; - static const button = '3.2.0'; - static const checkbox = '2.4.0'; - static const chip = '1.3.0'; - static const divider = '1.0.0'; - static const inlineAlert = '1.0.0'; - static const link = '2.2.0'; - static const passwordInput = '1.2.0'; - static const phoneNumberInput = '1.2.0'; - static const pinCodeInput = '1.2.0'; - static const radioButton = '1.4.0'; - static const skeleton = '1.0.0'; - static const switchButton = '1.5.0'; - static const tag = '1.4.0'; - static const textInput = '1.3.0'; + static const alertMessage = '1.1.0'; + static const badge = '1.2.0'; + static const badgeCount = '1.2.0'; + static const badgeIcon = '1.3.0'; + static const bar = '1.0.0'; + static const bottomSheet = '1.0.0'; + static const bulletList = '1.1.0'; + static const button = '3.2.0'; + static const checkbox = '2.4.0'; + static const divider = '1.0.0'; + static const filterChip = '1.4.0'; + static const inlineAlert = '1.0.0'; + static const inputTag = '1.2.0'; + static const link = '2.2.0'; + static const passwordInput = '1.3.0'; + static const phoneNumberInput = '1.3.0'; + static const pinCodeInput = '1.3.0'; + static const radioButton = '1.4.0'; + static const skeleton = '1.0.0'; + static const suggestionChip = '1.4.0'; + static const switchButton = '1.5.0'; + static const tag = '1.5.0'; + static const textInput = '1.4.0'; } diff --git a/ouds_theme_contract/lib/ouds_tokens_version.dart b/ouds_theme_contract/lib/ouds_tokens_version.dart index cac791562..7a705f11f 100644 --- a/ouds_theme_contract/lib/ouds_tokens_version.dart +++ b/ouds_theme_contract/lib/ouds_tokens_version.dart @@ -13,14 +13,14 @@ // Generated by Tokenator class OudsTokensVersion { - static const oudsCore = '1.9.0'; + static const oudsCore = '1.10.0'; static const androidCore = '1.0.0'; static const androidSystem = '1.2.0'; static const orangeCore = '1.2.0'; - static const orangeBrand = '2.3.0'; - static const orangeCompactBrand = '2.3.0'; - static const soshCore = '1.2.0'; - static const soshBrand = '2.3.0'; - static const wireframeCore = '1.3.0'; - static const wireframeBrand = '2.3.0'; + static const orangeBrand = '2.4.0'; + static const orangeCompactBrand = '2.4.0'; + static const soshCore = '1.3.0'; + static const soshBrand = '2.4.0'; + static const wireframeCore = '1.4.0'; + static const wireframeBrand = '2.4.0'; } diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_alert_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_alert_tokens.dart index 279a55d3b..a8a41b041 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_alert_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_alert_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator abstract class OudsAlertTokens { diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_badge_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_badge_tokens.dart index 0c0102969..8dffb57c1 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_badge_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_badge_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator abstract class OudsBadgeTokens { @@ -18,7 +18,9 @@ abstract class OudsBadgeTokens { late double sizeMedium; late double sizeSmall; late double sizeXsmall; - late double spaceInset; + late double spaceInsetMediumLarge; + late double spaceInsetSmall; + late double spaceInsetXsmall; late double spacePaddingInlineLarge; late double spacePaddingInlineMedium; } diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_bar_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_bar_tokens.dart index 4ad5e5f60..805c3f3c6 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_bar_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_bar_tokens.dart @@ -10,27 +10,14 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; abstract class OudsBarTokens { - late double borderRadiusActiveIndicatorCustomBottom; - late double borderRadiusActiveIndicatorCustomTop; - late Color colorActiveIndicatorAndroidSelectedDisabled; - late Color colorActiveIndicatorAndroidSelectedEnabled; - late Color colorActiveIndicatorAndroidSelectedFocus; - late Color colorActiveIndicatorAndroidSelectedHover; - late Color colorActiveIndicatorAndroidSelectedPressed; - late Color colorActiveIndicatorAndroidUnselectedDisabled; - late Color colorActiveIndicatorAndroidUnselectedFocus; - late Color colorActiveIndicatorAndroidUnselectedHover; - late Color colorActiveIndicatorAndroidUnselectedPressed; - late Color colorActiveIndicatorCustomSelectedEnabled; - late Color colorActiveIndicatorCustomSelectedFocus; - late Color colorActiveIndicatorCustomSelectedHover; - late Color colorActiveIndicatorCustomSelectedPressed; + late double borderRadiusCurrentIndicatorCustomBottom; + late double borderRadiusCurrentIndicatorCustomTop; late Color colorBgOpaque; late Color colorBgTranslucentDark; late Color colorBgTranslucentLight; @@ -40,14 +27,27 @@ abstract class OudsBarTokens { late Color colorContentSelectedFocus; late Color colorContentSelectedHover; late Color colorContentSelectedPressed; - late Color colorContentUnselectedEnabledDark; - late Color colorContentUnselectedEnabledLight; + late Color colorContentUnselectedEnabled; late Color colorContentUnselectedFocus; late Color colorContentUnselectedHover; late Color colorContentUnselectedPressed; + late Color colorCurrentIndicatorAndroidSelectedDisabled; + late Color colorCurrentIndicatorAndroidSelectedEnabled; + late Color colorCurrentIndicatorAndroidSelectedFocus; + late Color colorCurrentIndicatorAndroidSelectedHover; + late Color colorCurrentIndicatorAndroidSelectedPressed; + late Color colorCurrentIndicatorAndroidUnselectedDisabled; + late Color colorCurrentIndicatorAndroidUnselectedFocus; + late Color colorCurrentIndicatorAndroidUnselectedHover; + late Color colorCurrentIndicatorAndroidUnselectedPressed; + late Color colorCurrentIndicatorCustomSelectedEnabled; + late Color colorCurrentIndicatorCustomSelectedFocus; + late Color colorCurrentIndicatorCustomSelectedHover; + late Color colorCurrentIndicatorCustomSelectedPressed; + late Color colorIosAccent; late int effectBgBlur; - late double opacityActiveIndicatorCustom; - late double sizeHeightActiveIndicatorCustom; - late double sizeWidthActiveIndicatorCustomBottom; - late double sizeWidthActiveIndicatorCustomTop; + late double opacityCurrentIndicatorCustom; + late double sizeHeightCurrentIndicatorCustom; + late double sizeWidthCurrentIndicatorCustomBottom; + late double sizeWidthCurrentIndicatorCustomTop; } diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_bulletList_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_bulletList_tokens.dart index c23543b2d..21092a615 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_bulletList_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_bulletList_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator abstract class OudsBulletListTokens { diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_buttonMono_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_buttonMono_tokens.dart index 95dfbc9da..6cf0b5de1 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_buttonMono_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_buttonMono_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_button_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_button_tokens.dart index 132c1642b..c9c8aa751 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_button_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_button_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_checkbox_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_checkbox_tokens.dart index 5bbdc2929..41264c13f 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_checkbox_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_checkbox_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator abstract class OudsCheckboxTokens { @@ -23,7 +23,6 @@ abstract class OudsCheckboxTokens { late double borderWidthUnselectedFocus; late double borderWidthUnselectedHover; late double borderWidthUnselectedPressed; - late double sizeIndicator; late double sizeMaxHeight; late double sizeMinHeight; late double sizeMinWidth; diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_chip_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_chip_tokens.dart index 43312c0e0..b15f39efe 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_chip_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_chip_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_controlItem_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_controlItem_tokens.dart index 4848b03c9..d1cfdf188 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_controlItem_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_controlItem_tokens.dart @@ -10,30 +10,57 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; abstract class OudsControlItemTokens { - late double borderRadius; - late double borderRadiusItemOnly; - late Color colorBgFocus; - late Color colorBgHover; - late Color colorBgLoading; - late Color colorBgPressed; - late Color colorContentLoader; - late double sizeErrorIcon; - late double sizeIcon; - late double sizeLoader; - late double sizeMaxHeightAssetsContainer; + late double borderRadiusCurrentIndicator; + late double borderRadiusDefault; + late double borderRadiusMedia; + late double borderRadiusMediaRoundedCorner; + late double borderRadiusRounded; + late double borderWidthCurrentPage; + late double borderWidthDefault; + late Color colorBadgeSafetyArea; + late Color colorBgCurrentDisabled; + late Color colorBgCurrentEnabled; + late Color colorBgCurrentFocus; + late Color colorBgCurrentHover; + late Color colorBgCurrentPressed; + late Color colorContentCurrentDisabled; + late Color colorContentCurrentEnabled; + late Color colorContentCurrentFocus; + late Color colorContentCurrentHover; + late Color colorContentCurrentPressed; + late double fontLetterSpacingAvatarInitialXlarge; + late double fontLineHeightAvatarInitialXlarge; + late double fontSizeAvatarInitialXlarge; + late double opacityCurrentDivider; + late double opacityCurrentIndicator; + late double sizeAssetLarge; + late double sizeAssetMedium; + late double sizeAssetSmall; + late double sizeAssetXlarge; + late double sizeControlIndicator; + late double sizeCurrentIndicatorWidth; + late double sizeFlagHeight; late double sizeMaxWidth; - late double sizeMinHeight; + late double sizeMinHeightCompact; + late double sizeMinHeightDefault; late double sizeMinWidth; late double spaceColumnGap; - late double spacePaddingBlockDefault; - late double spacePaddingBlockTopErrorText; + late double spacePaddingBlockBottomSlot; + late double spacePaddingBlockDensityCompact; + late double spacePaddingBlockDensityCompactBottomExpandContainer; + late double spacePaddingBlockDensityCompactTopAlignmentTopCounterweight; + late double spacePaddingBlockDensityCompactTopAlignmentTopTextContainer; + late double spacePaddingBlockDensityDefault; + late double spacePaddingBlockDensityDefaultBottomExpandContainer; + late double spacePaddingBlockDensityDefaultTopAlignmentTopCounterweight; + late double spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer; + late double spacePaddingBlockTopHelperText; late double spacePaddingInline; - late double spacePaddingInlineErrorIcon; late double spaceRowGap; } diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_divider_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_divider_tokens.dart index f056bf741..8f9f6bd1b 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_divider_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_divider_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator abstract class OudsDividerTokens { diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_icon_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_icon_tokens.dart index 53586e73f..8d55378cf 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_icon_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_icon_tokens.dart @@ -10,13 +10,14 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; abstract class OudsIconTokens { - late Color colorContentDefault; late Color colorContentStatusWarningExternalShape; late Color colorContentStatusWarningInternalShape; + late Color colorContentStatusWarningInverseExternalShape; + late Color colorContentStatusWarningInverseInternalShape; } diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_inputTag_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_inputTag_tokens.dart index 34983fd95..98717341a 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_inputTag_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_inputTag_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_linkMono_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_linkMono_tokens.dart index 39fdf9714..460d27f19 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_linkMono_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_linkMono_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_link_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_link_tokens.dart index 58c01a6b3..0b1aec7de 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_link_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_link_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_pinCodeInput_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_pinCodeInput_tokens.dart index 1eeaa5b8a..e349d9203 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_pinCodeInput_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_pinCodeInput_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator abstract class OudsPinCodeInputTokens { diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_radioButton_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_radioButton_tokens.dart index b7866dcb8..f4050e38b 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_radioButton_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_radioButton_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator abstract class OudsRadioButtonTokens { @@ -23,7 +23,6 @@ abstract class OudsRadioButtonTokens { late double borderWidthUnselectedFocus; late double borderWidthUnselectedHover; late double borderWidthUnselectedPressed; - late double sizeIndicator; late double sizeMaxHeight; late double sizeMinHeight; late double sizeMinWidth; diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_skeleton_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_skeleton_tokens.dart index d919d58be..3d0f3b143 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_skeleton_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_skeleton_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_switch_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_switch_tokens.dart index b894cefc5..3dccf3806 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_switch_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_switch_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_tag_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_tag_tokens.dart index c8c615b66..cc27c6c67 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_tag_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_tag_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator abstract class OudsTagTokens { diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_textInput_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_textInput_tokens.dart index 68be1b9cf..3b3ab6ae0 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_textInput_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_textInput_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -33,6 +33,8 @@ abstract class OudsTextInputTokens { late double sizeVerticalDividerHeight; late double spaceColumnGapDefault; late double spaceColumnGapInlineText; + late double spaceColumnGapLabelAsterisk; + late double spaceColumnGapLabelSmallAsterisk; late double spaceColumnGapTrailingErrorAction; late double spacePaddingBlockDefault; late double spacePaddingBlockTopHelperText; diff --git a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_border_semantic_tokens.dart b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_border_semantic_tokens.dart index 75bc804e4..a209fe72b 100644 --- a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_border_semantic_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_border_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator abstract class OudsBorderSemanticTokens { diff --git a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_action_semantic_tokens.dart b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_action_semantic_tokens.dart index 0401bc71f..ce65c428c 100644 --- a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_action_semantic_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_action_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -26,8 +26,6 @@ abstract class OudsColorActionSemanticTokens { final Color actionHighlightedLight; final Color actionHoverDark; final Color actionHoverLight; - final Color actionIosAccentDark; - final Color actionIosAccentLight; final Color actionLoadingDark; final Color actionLoadingLight; final Color actionNegativeEnabledDark; @@ -74,8 +72,6 @@ abstract class OudsColorActionSemanticTokens { required this.actionHighlightedLight, required this.actionHoverDark, required this.actionHoverLight, - required this.actionIosAccentDark, - required this.actionIosAccentLight, required this.actionLoadingDark, required this.actionLoadingLight, required this.actionNegativeEnabledDark, diff --git a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_always_semantic_tokens.dart b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_always_semantic_tokens.dart index 4f96a5c24..6ad7384b3 100644 --- a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_always_semantic_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_always_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_bg_semantic_tokens.dart b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_bg_semantic_tokens.dart index 1fb71a9f3..fb13b0887 100644 --- a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_bg_semantic_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_bg_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_border_semantic_tokens.dart b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_border_semantic_tokens.dart index f9215e144..1b7b169fc 100644 --- a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_border_semantic_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_border_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_content_semantic_tokens.dart b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_content_semantic_tokens.dart index 9867ba94e..b9b618353 100644 --- a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_content_semantic_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_content_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -76,6 +76,14 @@ abstract class OudsColorContentSemanticTokens { final Color contentStatusAccentLight; final Color contentStatusInfoDark; final Color contentStatusInfoLight; + final Color contentStatusInverseInfoDark; + final Color contentStatusInverseInfoLight; + final Color contentStatusInverseNegativeDark; + final Color contentStatusInverseNegativeLight; + final Color contentStatusInversePositiveDark; + final Color contentStatusInversePositiveLight; + final Color contentStatusInverseWarningDark; + final Color contentStatusInverseWarningLight; final Color contentStatusNegativeDark; final Color contentStatusNegativeLight; final Color contentStatusPositiveDark; @@ -144,6 +152,14 @@ abstract class OudsColorContentSemanticTokens { required this.contentStatusAccentLight, required this.contentStatusInfoDark, required this.contentStatusInfoLight, + required this.contentStatusInverseInfoDark, + required this.contentStatusInverseInfoLight, + required this.contentStatusInverseNegativeDark, + required this.contentStatusInverseNegativeLight, + required this.contentStatusInversePositiveDark, + required this.contentStatusInversePositiveLight, + required this.contentStatusInverseWarningDark, + required this.contentStatusInverseWarningLight, required this.contentStatusNegativeDark, required this.contentStatusNegativeLight, required this.contentStatusPositiveDark, diff --git a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_opacity_semantic_tokens.dart b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_opacity_semantic_tokens.dart index 420ff2699..41e8749b4 100644 --- a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_opacity_semantic_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_opacity_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_overlay_semantic_tokens.dart b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_overlay_semantic_tokens.dart index b963bbdb0..baed528c8 100644 --- a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_overlay_semantic_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_overlay_semantic_tokens.dart @@ -10,28 +10,32 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; abstract class OudsColorOverlaySemanticTokens { + final Color overlayBackdropDark; + final Color overlayBackdropLight; final Color overlayDragDark; final Color overlayDragLight; final Color overlayDropdownDark; final Color overlayDropdownLight; - final Color overlayModalDark; - final Color overlayModalLight; + final Color overlayModalSheetDark; + final Color overlayModalSheetLight; final Color overlayTooltipDark; final Color overlayTooltipLight; const OudsColorOverlaySemanticTokens({ + required this.overlayBackdropDark, + required this.overlayBackdropLight, required this.overlayDragDark, required this.overlayDragLight, required this.overlayDropdownDark, required this.overlayDropdownLight, - required this.overlayModalDark, - required this.overlayModalLight, + required this.overlayModalSheetDark, + required this.overlayModalSheetLight, required this.overlayTooltipDark, required this.overlayTooltipLight, }); diff --git a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_repository_semantic_tokens.dart b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_repository_semantic_tokens.dart index 14dfef67c..a3fa52bc3 100644 --- a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_repository_semantic_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_repository_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -105,7 +105,8 @@ abstract class OudsColorRepositorySemanticTokens { final Color repositoryPrimaryLowest; final Color repositoryPrimaryMedium; final Color repositorySecondaryHigh; - final Color repositorySecondaryHigher; + final Color repositorySecondaryHigherHigh; + final Color repositorySecondaryHigherLow; final Color repositorySecondaryHighest; final Color repositorySecondaryLow; final Color repositorySecondaryLower; @@ -216,7 +217,8 @@ abstract class OudsColorRepositorySemanticTokens { required this.repositoryPrimaryLowest, required this.repositoryPrimaryMedium, required this.repositorySecondaryHigh, - required this.repositorySecondaryHigher, + required this.repositorySecondaryHigherHigh, + required this.repositorySecondaryHigherLow, required this.repositorySecondaryHighest, required this.repositorySecondaryLow, required this.repositorySecondaryLower, diff --git a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_surface_semantic_tokens.dart b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_surface_semantic_tokens.dart index a2c2e0d57..95b762741 100644 --- a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_surface_semantic_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_surface_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_effect_semantic_tokens.dart b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_effect_semantic_tokens.dart index bc116f401..429ce8cf7 100644 --- a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_effect_semantic_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_effect_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator abstract class OudsEffectSemanticTokens { diff --git a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_font_semantic_tokens.dart b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_font_semantic_tokens.dart index a064e093c..2e48ac52a 100644 --- a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_font_semantic_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_font_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_grid_semantic_tokens.dart b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_grid_semantic_tokens.dart index 7b31be03b..c5842bfc6 100644 --- a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_grid_semantic_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_grid_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator abstract class OudsGridSemanticTokens { diff --git a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_opacity_semantic_tokens.dart b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_opacity_semantic_tokens.dart index 3eb848da5..2387603e7 100644 --- a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_opacity_semantic_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_opacity_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator abstract class OudsOpacitySemanticTokens { diff --git a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_size_semantic_tokens.dart b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_size_semantic_tokens.dart index 8cb9e1de4..cb02082d8 100644 --- a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_size_semantic_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_size_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator abstract class OudsSizeSemanticTokens { @@ -81,33 +81,34 @@ abstract class OudsSizeSemanticTokens { late double iconWithLabelXlargeSizeLarge; late double iconWithLabelXlargeSizeMedium; late double iconWithLabelXlargeSizeSmall; - late double maxWidthTypeBodyLargeMobile; - late double maxWidthTypeBodyLargeTablet; - late double maxWidthTypeBodyMediumMobile; - late double maxWidthTypeBodyMediumTablet; - late double maxWidthTypeBodySmallMobile; - late double maxWidthTypeBodySmallTablet; - late double maxWidthTypeDisplayLargeMobile; - late double maxWidthTypeDisplayLargeTablet; - late double maxWidthTypeDisplayMediumMobile; - late double maxWidthTypeDisplayMediumTablet; - late double maxWidthTypeDisplaySmallMobile; - late double maxWidthTypeDisplaySmallTablet; - late double maxWidthTypeHeadingLargeMobile; - late double maxWidthTypeHeadingLargeTablet; - late double maxWidthTypeHeadingMediumMobile; - late double maxWidthTypeHeadingMediumTablet; - late double maxWidthTypeHeadingSmallMobile; - late double maxWidthTypeHeadingSmallTablet; - late double maxWidthTypeHeadingXlargeMobile; - late double maxWidthTypeHeadingXlargeTablet; - late double maxWidthTypeLabelLargeMobile; - late double maxWidthTypeLabelLargeTablet; - late double maxWidthTypeLabelMediumMobile; - late double maxWidthTypeLabelMediumTablet; - late double maxWidthTypeLabelSmallMobile; - late double maxWidthTypeLabelSmallTablet; - late double maxWidthTypeLabelXlargeMobile; - late double maxWidthTypeLabelXlargeTablet; + late double iconWithLabelXlargeSizeXsmall; + late double maxWidthBodyLargeMobile; + late double maxWidthBodyLargeTablet; + late double maxWidthBodyMediumMobile; + late double maxWidthBodyMediumTablet; + late double maxWidthBodySmallMobile; + late double maxWidthBodySmallTablet; + late double maxWidthDisplayLargeMobile; + late double maxWidthDisplayLargeTablet; + late double maxWidthDisplayMediumMobile; + late double maxWidthDisplayMediumTablet; + late double maxWidthDisplaySmallMobile; + late double maxWidthDisplaySmallTablet; + late double maxWidthHeadingLargeMobile; + late double maxWidthHeadingLargeTablet; + late double maxWidthHeadingMediumMobile; + late double maxWidthHeadingMediumTablet; + late double maxWidthHeadingSmallMobile; + late double maxWidthHeadingSmallTablet; + late double maxWidthHeadingXlargeMobile; + late double maxWidthHeadingXlargeTablet; + late double maxWidthLabelLargeMobile; + late double maxWidthLabelLargeTablet; + late double maxWidthLabelMediumMobile; + late double maxWidthLabelMediumTablet; + late double maxWidthLabelSmallMobile; + late double maxWidthLabelSmallTablet; + late double maxWidthLabelXlargeMobile; + late double maxWidthLabelXlargeTablet; late double minInteractiveArea; } diff --git a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_space_semantic_tokens.dart b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_space_semantic_tokens.dart index 7389db569..43a486b83 100644 --- a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_space_semantic_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_space_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator abstract class OudsSpaceSemanticTokens { diff --git a/ouds_theme_orange/lib/components/orange_alert_tokens.dart b/ouds_theme_orange/lib/components/orange_alert_tokens.dart index d4f145093..f84f7bbf5 100644 --- a/ouds_theme_orange/lib/components/orange_alert_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_alert_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; diff --git a/ouds_theme_orange/lib/components/orange_badge_tokens.dart b/ouds_theme_orange/lib/components/orange_badge_tokens.dart index 8a0217498..42383dfd7 100644 --- a/ouds_theme_orange/lib/components/orange_badge_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_badge_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; @@ -31,7 +31,11 @@ class OrangeBadgeTokens extends OudsBadgeTokens { @override double get sizeXsmall => DimensionRawTokens.dimension100; @override - double get spaceInset => DimensionRawTokens.dimensionOutOfSystem75; + double get spaceInsetMediumLarge => DimensionRawTokens.dimensionOutOfSystem75; + @override + double get spaceInsetSmall => DimensionRawTokens.dimensionOutOfSystem50; + @override + double get spaceInsetXsmall => DimensionRawTokens.dimensionOutOfSystem25; @override double get spacePaddingInlineLarge => providersTokens.spaceTokens.paddingInline2xsmall; @override diff --git a/ouds_theme_orange/lib/components/orange_bar_tokens.dart b/ouds_theme_orange/lib/components/orange_bar_tokens.dart index 58bb41b7b..3e76c19e4 100644 --- a/ouds_theme_orange/lib/components/orange_bar_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_bar_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -26,71 +26,71 @@ class OrangeBarTokens extends OudsBarTokens { OrangeBarTokens(this.providersTokens); @override - double get borderRadiusActiveIndicatorCustomBottom => providersTokens.borderTokens.radiusNone; + double get borderRadiusCurrentIndicatorCustomBottom => providersTokens.borderTokens.radiusNone; @override - double get borderRadiusActiveIndicatorCustomTop => providersTokens.borderTokens.radiusNone; + double get borderRadiusCurrentIndicatorCustomTop => providersTokens.borderTokens.radiusNone; @override - Color get colorActiveIndicatorAndroidSelectedDisabled => providersTokens.colorScheme.opacityTransparent; + Color get colorBgOpaque => providersTokens.colorScheme.bgSecondary; @override - Color get colorActiveIndicatorAndroidSelectedEnabled => providersTokens.colorScheme.opacityTransparent; + Color get colorBgTranslucentDark => ColorRawTokens.colorOpacityGrayDark880800; @override - Color get colorActiveIndicatorAndroidSelectedFocus => providersTokens.colorScheme.opacityTransparent; + Color get colorBgTranslucentLight => ColorRawTokens.colorOpacityWhite800; @override - Color get colorActiveIndicatorAndroidSelectedHover => providersTokens.colorScheme.opacityTransparent; + Color get colorBorderBadge => providersTokens.colorScheme.bgSecondary; @override - Color get colorActiveIndicatorAndroidSelectedPressed => providersTokens.colorScheme.opacityTransparent; + Color get colorContentOnIosAccent => providersTokens.colorScheme.contentOnActionSelected; @override - Color get colorActiveIndicatorAndroidUnselectedDisabled => providersTokens.colorScheme.opacityTransparent; + Color get colorContentSelectedEnabled => providersTokens.colorScheme.contentDefault; @override - Color get colorActiveIndicatorAndroidUnselectedFocus => providersTokens.colorScheme.opacityTransparent; + Color get colorContentSelectedFocus => providersTokens.colorScheme.actionFocus; @override - Color get colorActiveIndicatorAndroidUnselectedHover => providersTokens.colorScheme.opacityTransparent; + Color get colorContentSelectedHover => providersTokens.colorScheme.actionHover; @override - Color get colorActiveIndicatorAndroidUnselectedPressed => providersTokens.colorScheme.opacityTransparent; + Color get colorContentSelectedPressed => providersTokens.colorScheme.actionPressed; @override - Color get colorActiveIndicatorCustomSelectedEnabled => providersTokens.colorScheme.actionSelected; + Color get colorContentUnselectedEnabled => providersTokens.colorScheme.contentMuted; @override - Color get colorActiveIndicatorCustomSelectedFocus => providersTokens.colorScheme.actionFocus; + Color get colorContentUnselectedFocus => providersTokens.colorScheme.contentDefault; @override - Color get colorActiveIndicatorCustomSelectedHover => providersTokens.colorScheme.actionHover; + Color get colorContentUnselectedHover => providersTokens.colorScheme.contentDefault; @override - Color get colorActiveIndicatorCustomSelectedPressed => providersTokens.colorScheme.actionPressed; + Color get colorContentUnselectedPressed => providersTokens.colorScheme.actionPressed; @override - Color get colorBgOpaque => providersTokens.colorScheme.bgSecondary; + Color get colorCurrentIndicatorAndroidSelectedDisabled => providersTokens.colorScheme.opacityTransparent; @override - Color get colorBgTranslucentDark => ColorRawTokens.colorOpacityGrayDark800800; + Color get colorCurrentIndicatorAndroidSelectedEnabled => providersTokens.colorScheme.opacityTransparent; @override - Color get colorBgTranslucentLight => ColorRawTokens.colorOpacityGrayLight80800; + Color get colorCurrentIndicatorAndroidSelectedFocus => providersTokens.colorScheme.opacityTransparent; @override - Color get colorBorderBadge => providersTokens.colorScheme.bgSecondary; + Color get colorCurrentIndicatorAndroidSelectedHover => providersTokens.colorScheme.opacityTransparent; @override - Color get colorContentOnIosAccent => providersTokens.colorScheme.contentOnActionSelected; + Color get colorCurrentIndicatorAndroidSelectedPressed => providersTokens.colorScheme.opacityTransparent; @override - Color get colorContentSelectedEnabled => providersTokens.colorScheme.contentDefault; + Color get colorCurrentIndicatorAndroidUnselectedDisabled => providersTokens.colorScheme.opacityTransparent; @override - Color get colorContentSelectedFocus => providersTokens.colorScheme.actionFocus; + Color get colorCurrentIndicatorAndroidUnselectedFocus => providersTokens.colorScheme.opacityTransparent; @override - Color get colorContentSelectedHover => providersTokens.colorScheme.actionHover; + Color get colorCurrentIndicatorAndroidUnselectedHover => providersTokens.colorScheme.opacityTransparent; @override - Color get colorContentSelectedPressed => providersTokens.colorScheme.actionPressed; + Color get colorCurrentIndicatorAndroidUnselectedPressed => providersTokens.colorScheme.opacityTransparent; @override - Color get colorContentUnselectedEnabledDark => ColorRawTokens.colorOpacityWhite600; + Color get colorCurrentIndicatorCustomSelectedEnabled => providersTokens.colorScheme.actionSelected; @override - Color get colorContentUnselectedEnabledLight => ColorRawTokens.colorOpacityBlack600; + Color get colorCurrentIndicatorCustomSelectedFocus => providersTokens.colorScheme.actionFocus; @override - Color get colorContentUnselectedFocus => providersTokens.colorScheme.contentDefault; + Color get colorCurrentIndicatorCustomSelectedHover => providersTokens.colorScheme.actionHover; @override - Color get colorContentUnselectedHover => providersTokens.colorScheme.contentDefault; + Color get colorCurrentIndicatorCustomSelectedPressed => providersTokens.colorScheme.actionPressed; @override - Color get colorContentUnselectedPressed => providersTokens.colorScheme.actionPressed; + Color get colorIosAccent => providersTokens.colorScheme.actionSelected; @override - int get effectBgBlur => EffectRawTokens.effectBlur160; + int get effectBgBlur => EffectRawTokens.effectBlur320; @override - double get opacityActiveIndicatorCustom => providersTokens.opacityTokens.opaque; + double get opacityCurrentIndicatorCustom => providersTokens.opacityTokens.opaque; @override - double get sizeHeightActiveIndicatorCustom => DimensionRawTokens.dimensionOutOfSystem75; + double get sizeHeightCurrentIndicatorCustom => DimensionRawTokens.dimensionOutOfSystem75; @override - double get sizeWidthActiveIndicatorCustomBottom => DimensionRawTokens.dimension300; + double get sizeWidthCurrentIndicatorCustomBottom => DimensionRawTokens.dimension300; @override - double get sizeWidthActiveIndicatorCustomTop => DimensionRawTokens.dimension650; + double get sizeWidthCurrentIndicatorCustomTop => DimensionRawTokens.dimension500; } diff --git a/ouds_theme_orange/lib/components/orange_bulletList_tokens.dart b/ouds_theme_orange/lib/components/orange_bulletList_tokens.dart index ba3b96981..668cd5818 100644 --- a/ouds_theme_orange/lib/components/orange_bulletList_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_bulletList_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; diff --git a/ouds_theme_orange/lib/components/orange_buttonMono_tokens.dart b/ouds_theme_orange/lib/components/orange_buttonMono_tokens.dart index c6863d4af..58f2af012 100644 --- a/ouds_theme_orange/lib/components/orange_buttonMono_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_buttonMono_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_orange/lib/components/orange_button_tokens.dart b/ouds_theme_orange/lib/components/orange_button_tokens.dart index 4c2e6ec8f..8a20cdae9 100644 --- a/ouds_theme_orange/lib/components/orange_button_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_button_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_orange/lib/components/orange_checkbox_tokens.dart b/ouds_theme_orange/lib/components/orange_checkbox_tokens.dart index 0fe69fd8e..4e8872d8c 100644 --- a/ouds_theme_orange/lib/components/orange_checkbox_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_checkbox_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/ouds_tokens_provider.dart'; @@ -40,8 +40,6 @@ class OrangeCheckboxTokens extends OudsCheckboxTokens { @override double get borderWidthUnselectedPressed => providersTokens.borderTokens.widthMedium; @override - double get sizeIndicator => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; - @override double get sizeMaxHeight => providersTokens.sizeTokens.minInteractiveArea; @override double get sizeMinHeight => providersTokens.sizeTokens.minInteractiveArea; diff --git a/ouds_theme_orange/lib/components/orange_chip_tokens.dart b/ouds_theme_orange/lib/components/orange_chip_tokens.dart index f037b07ef..da4581ca2 100644 --- a/ouds_theme_orange/lib/components/orange_chip_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_chip_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_orange/lib/components/orange_controlItem_tokens.dart b/ouds_theme_orange/lib/components/orange_controlItem_tokens.dart index f5f68a8f5..3c1d40f5d 100644 --- a/ouds_theme_orange/lib/components/orange_controlItem_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_controlItem_tokens.dart @@ -10,11 +10,12 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; +import 'package:ouds_global_raw_tokens/font_raw_tokens.dart'; import 'package:ouds_theme_contract/ouds_tokens_provider.dart'; import 'package:ouds_theme_contract/theme/tokens/components/ouds_controlItem_tokens.dart'; @@ -24,43 +25,97 @@ class OrangeControlItemTokens extends OudsControlItemTokens { OrangeControlItemTokens(this.providersTokens); @override - double get borderRadius => providersTokens.borderTokens.radiusNone; + double get borderRadiusCurrentIndicator => providersTokens.borderTokens.radiusNone; @override - double get borderRadiusItemOnly => providersTokens.borderTokens.radiusDefault; + double get borderRadiusDefault => providersTokens.borderTokens.radiusDefault; @override - Color get colorBgFocus => providersTokens.colorScheme.actionSupportFocus; + double get borderRadiusMedia => providersTokens.borderTokens.radiusDefault; @override - Color get colorBgHover => providersTokens.colorScheme.actionSupportHover; + double get borderRadiusMediaRoundedCorner => providersTokens.borderTokens.radiusSmall; @override - Color get colorBgLoading => providersTokens.colorScheme.actionSupportLoading; + double get borderRadiusRounded => providersTokens.borderTokens.radiusMedium; @override - Color get colorBgPressed => providersTokens.colorScheme.actionSupportPressed; + double get borderWidthCurrentPage => providersTokens.borderTokens.widthMedium; @override - Color get colorContentLoader => providersTokens.colorScheme.contentDefault; + double get borderWidthDefault => providersTokens.borderTokens.widthDefault; @override - double get sizeErrorIcon => providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + Color get colorBadgeSafetyArea => providersTokens.colorScheme.bgPrimary; @override - double get sizeIcon => providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + Color get colorBgCurrentDisabled => providersTokens.colorScheme.actionSupportDisabled; @override - double get sizeLoader => providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + Color get colorBgCurrentEnabled => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.actionSupportEnabled, providersTokens.colorScheme.actionSupportHover); @override - double get sizeMaxHeightAssetsContainer => DimensionRawTokens.dimension1200; + Color get colorBgCurrentFocus => providersTokens.colorScheme.actionSupportFocus; + @override + Color get colorBgCurrentHover => providersTokens.colorScheme.actionSupportHover; + @override + Color get colorBgCurrentPressed => providersTokens.colorScheme.actionSupportPressed; + @override + Color get colorContentCurrentDisabled => providersTokens.colorScheme.contentDefault; + @override + Color get colorContentCurrentEnabled => providersTokens.colorScheme.contentDefault; + @override + Color get colorContentCurrentFocus => providersTokens.colorScheme.contentDefault; + @override + Color get colorContentCurrentHover => providersTokens.colorScheme.contentDefault; + @override + Color get colorContentCurrentPressed => providersTokens.colorScheme.contentDefault; + @override + double get fontLetterSpacingAvatarInitialXlarge => FontRawTokens.fontLetterSpacing450; + @override + double get fontLineHeightAvatarInitialXlarge => FontRawTokens.fontLineHeight650; + @override + double get fontSizeAvatarInitialXlarge => FontRawTokens.fontSize450; + @override + double get opacityCurrentDivider => providersTokens.opacityTokens.opaque; + @override + double get opacityCurrentIndicator => providersTokens.opacityTokens.opaque; + @override + double get sizeAssetLarge => DimensionRawTokens.dimension500; + @override + double get sizeAssetMedium => providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + @override + double get sizeAssetSmall => providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + @override + double get sizeAssetXlarge => DimensionRawTokens.dimension700; + @override + double get sizeControlIndicator => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + @override + double get sizeCurrentIndicatorWidth => DimensionRawTokens.dimension50; + @override + double get sizeFlagHeight => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; @override double get sizeMaxWidth => DimensionRawTokens.dimension4000; @override - double get sizeMinHeight => DimensionRawTokens.dimension650; + double get sizeMinHeightCompact => providersTokens.sizeTokens.minInteractiveArea; + @override + double get sizeMinHeightDefault => DimensionRawTokens.dimension750; @override double get sizeMinWidth => DimensionRawTokens.dimension2000; @override double get spaceColumnGap => providersTokens.spaceTokens.columnGapMedium; @override - double get spacePaddingBlockDefault => providersTokens.spaceTokens.paddingBlockMedium; + double get spacePaddingBlockBottomSlot => providersTokens.spaceTokens.paddingBlock3xsmall; @override - double get spacePaddingBlockTopErrorText => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingBlockDensityCompact => providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingInline => providersTokens.spaceTokens.paddingInlineLarge; + double get spacePaddingBlockDensityCompactBottomExpandContainer => providersTokens.spaceTokens.paddingBlock2xlarge; + @override + double get spacePaddingBlockDensityCompactTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingInlineErrorIcon => providersTokens.spaceTokens.paddingInline4xsmall; + double get spacePaddingBlockDensityCompactTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlockNone; + @override + double get spacePaddingBlockDensityDefault => providersTokens.spaceTokens.paddingBlockMedium; + @override + double get spacePaddingBlockDensityDefaultBottomExpandContainer => providersTokens.spaceTokens.paddingBlock3xlarge; + @override + double get spacePaddingBlockDensityDefaultTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockSmall; + @override + double get spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlock4xsmall; + @override + double get spacePaddingBlockTopHelperText => providersTokens.spaceTokens.paddingBlockXsmall; + @override + double get spacePaddingInline => providersTokens.spaceTokens.paddingInlineLarge; @override double get spaceRowGap => providersTokens.spaceTokens.rowGapNone; } diff --git a/ouds_theme_orange/lib/components/orange_divider_tokens.dart b/ouds_theme_orange/lib/components/orange_divider_tokens.dart index a16fddf7f..442ed1387 100644 --- a/ouds_theme_orange/lib/components/orange_divider_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_divider_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/ouds_tokens_provider.dart'; diff --git a/ouds_theme_orange/lib/components/orange_icon_tokens.dart b/ouds_theme_orange/lib/components/orange_icon_tokens.dart index c8097ab25..1d981c017 100644 --- a/ouds_theme_orange/lib/components/orange_icon_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_icon_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -22,10 +22,12 @@ class OrangeIconTokens extends OudsIconTokens { OrangeIconTokens(this.providersTokens); - @override - Color get colorContentDefault => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.repositoryNeutralEmphasizedBlack, providersTokens.colorScheme.repositoryNeutralMutedLower); @override Color get colorContentStatusWarningExternalShape => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.repositoryWarningMedium, providersTokens.colorScheme.repositoryWarningLow); @override Color get colorContentStatusWarningInternalShape => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.repositoryWarningHigh, providersTokens.colorScheme.opacityTransparent); + @override + Color get colorContentStatusWarningInverseExternalShape => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.repositoryWarningLow, providersTokens.colorScheme.repositoryWarningMedium); + @override + Color get colorContentStatusWarningInverseInternalShape => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.opacityTransparent, providersTokens.colorScheme.repositoryWarningHigh); } diff --git a/ouds_theme_orange/lib/components/orange_inputTag_tokens.dart b/ouds_theme_orange/lib/components/orange_inputTag_tokens.dart index 01c45d755..2fb6beaa5 100644 --- a/ouds_theme_orange/lib/components/orange_inputTag_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_inputTag_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_orange/lib/components/orange_linkMono_tokens.dart b/ouds_theme_orange/lib/components/orange_linkMono_tokens.dart index 635801b4c..ae1fe3d06 100644 --- a/ouds_theme_orange/lib/components/orange_linkMono_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_linkMono_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_orange/lib/components/orange_link_tokens.dart b/ouds_theme_orange/lib/components/orange_link_tokens.dart index f6bc298d6..ae61c1ced 100644 --- a/ouds_theme_orange/lib/components/orange_link_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_link_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_orange/lib/components/orange_pinCodeInput_tokens.dart b/ouds_theme_orange/lib/components/orange_pinCodeInput_tokens.dart index de11170c0..456c98b6a 100644 --- a/ouds_theme_orange/lib/components/orange_pinCodeInput_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_pinCodeInput_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; diff --git a/ouds_theme_orange/lib/components/orange_radioButton_tokens.dart b/ouds_theme_orange/lib/components/orange_radioButton_tokens.dart index 3c74d365c..1e2786e6f 100644 --- a/ouds_theme_orange/lib/components/orange_radioButton_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_radioButton_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/ouds_tokens_provider.dart'; @@ -40,8 +40,6 @@ class OrangeRadioButtonTokens extends OudsRadioButtonTokens { @override double get borderWidthUnselectedPressed => providersTokens.borderTokens.widthMedium; @override - double get sizeIndicator => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; - @override double get sizeMaxHeight => providersTokens.sizeTokens.minInteractiveArea; @override double get sizeMinHeight => providersTokens.sizeTokens.minInteractiveArea; diff --git a/ouds_theme_orange/lib/components/orange_skeleton_tokens.dart b/ouds_theme_orange/lib/components/orange_skeleton_tokens.dart index 974a1d3a0..d8a2e5732 100644 --- a/ouds_theme_orange/lib/components/orange_skeleton_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_skeleton_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_orange/lib/components/orange_switch_tokens.dart b/ouds_theme_orange/lib/components/orange_switch_tokens.dart index 6a3fefb6f..a2c92c0e5 100644 --- a/ouds_theme_orange/lib/components/orange_switch_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_switch_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_orange/lib/components/orange_tag_tokens.dart b/ouds_theme_orange/lib/components/orange_tag_tokens.dart index 508b0e0bf..1a740aef7 100644 --- a/ouds_theme_orange/lib/components/orange_tag_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_tag_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; @@ -35,9 +35,9 @@ class OrangeTagTokens extends OudsTagTokens { @override double get sizeMinHeightSmall => DimensionRawTokens.dimension300; @override - double get sizeMinWidthDefault => DimensionRawTokens.dimension600; + double get sizeMinWidthDefault => DimensionRawTokens.dimension400; @override - double get sizeMinWidthSmall => DimensionRawTokens.dimension550; + double get sizeMinWidthSmall => DimensionRawTokens.dimension300; @override double get spaceColumnGapDefault => providersTokens.spaceTokens.columnGap2xsmall; @override diff --git a/ouds_theme_orange/lib/components/orange_textInput_tokens.dart b/ouds_theme_orange/lib/components/orange_textInput_tokens.dart index db168ff29..d5bb4fad8 100644 --- a/ouds_theme_orange/lib/components/orange_textInput_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_textInput_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -26,7 +26,7 @@ class OrangeTextInputTokens extends OudsTextInputTokens { @override double get borderRadiusDefault => providersTokens.borderTokens.radiusDefault; @override - double get borderRadiusRounded => providersTokens.borderTokens.radiusSmall; + double get borderRadiusRounded => providersTokens.borderTokens.radiusMedium; @override double get borderWidthDefault => providersTokens.borderTokens.widthDefault; @override @@ -58,6 +58,10 @@ class OrangeTextInputTokens extends OudsTextInputTokens { @override double get spaceColumnGapInlineText => providersTokens.spaceTokens.columnGapXsmall; @override + double get spaceColumnGapLabelAsterisk => providersTokens.spaceTokens.columnGap2xsmall; + @override + double get spaceColumnGapLabelSmallAsterisk => DimensionRawTokens.dimensionOutOfSystem75; + @override double get spaceColumnGapTrailingErrorAction => providersTokens.spaceTokens.columnGapXsmall; @override double get spacePaddingBlockDefault => providersTokens.spaceTokens.paddingBlock2xsmall; diff --git a/ouds_theme_orange/lib/semantic/orange_border_semantic_tokens.dart b/ouds_theme_orange/lib/semantic/orange_border_semantic_tokens.dart index 17d24bfb4..a96e104ee 100644 --- a/ouds_theme_orange/lib/semantic/orange_border_semantic_tokens.dart +++ b/ouds_theme_orange/lib/semantic/orange_border_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_border_semantic_tokens.dart'; diff --git a/ouds_theme_orange/lib/semantic/orange_color_action_semantic_tokens.dart b/ouds_theme_orange/lib/semantic/orange_color_action_semantic_tokens.dart index ee4e6c350..ecef4b122 100644 --- a/ouds_theme_orange/lib/semantic/orange_color_action_semantic_tokens.dart +++ b/ouds_theme_orange/lib/semantic/orange_color_action_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_orange/raw/orange_color_raw_tokens.dart'; @@ -29,8 +29,6 @@ class OrangeColorActionSemanticTokens extends OudsColorActionSemanticTokens { super.actionHighlightedLight = ColorRawTokens.colorFunctionalBlack, super.actionHoverDark = ColorRawTokens.colorOpacityWhite640, super.actionHoverLight = ColorRawTokens.colorOpacityBlack680, - super.actionIosAccentDark = OrangeColorRawTokens.colorOrange500, - super.actionIosAccentLight = OrangeColorRawTokens.colorOrange550, super.actionLoadingDark = OrangeColorRawTokens.colorOrange500, super.actionLoadingLight = OrangeColorRawTokens.colorOrange550, super.actionNegativeEnabledDark = ColorRawTokens.colorFunctionalScarlet300, diff --git a/ouds_theme_orange/lib/semantic/orange_color_always_semantic_tokens.dart b/ouds_theme_orange/lib/semantic/orange_color_always_semantic_tokens.dart index 429c0b370..9186e475d 100644 --- a/ouds_theme_orange/lib/semantic/orange_color_always_semantic_tokens.dart +++ b/ouds_theme_orange/lib/semantic/orange_color_always_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_color_always_semantic_tokens.dart'; diff --git a/ouds_theme_orange/lib/semantic/orange_color_bg_semantic_tokens.dart b/ouds_theme_orange/lib/semantic/orange_color_bg_semantic_tokens.dart index 71e618293..50688a882 100644 --- a/ouds_theme_orange/lib/semantic/orange_color_bg_semantic_tokens.dart +++ b/ouds_theme_orange/lib/semantic/orange_color_bg_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_orange/raw/orange_color_raw_tokens.dart'; diff --git a/ouds_theme_orange/lib/semantic/orange_color_border_semantic_tokens.dart b/ouds_theme_orange/lib/semantic/orange_color_border_semantic_tokens.dart index 55b8eb6a1..5327b4a09 100644 --- a/ouds_theme_orange/lib/semantic/orange_color_border_semantic_tokens.dart +++ b/ouds_theme_orange/lib/semantic/orange_color_border_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -28,7 +28,7 @@ class OrangeColorBorderSemanticTokens extends OudsColorBorderSemanticTokens { super.borderBrandTertiaryLight = const Color(0x00ff0000), super.borderDefaultDark = ColorRawTokens.colorOpacityWhite200, super.borderDefaultLight = ColorRawTokens.colorOpacityBlack200, - super.borderEmphasizedDark = ColorRawTokens.colorOpacityWhite920, + super.borderEmphasizedDark = ColorRawTokens.colorFunctionalGrayLight160, super.borderEmphasizedLight = ColorRawTokens.colorFunctionalBlack, super.borderFocusDark = ColorRawTokens.colorFunctionalGrayLight160, super.borderFocusInsetDark = ColorRawTokens.colorFunctionalGrayDark880, diff --git a/ouds_theme_orange/lib/semantic/orange_color_content_semantic_tokens.dart b/ouds_theme_orange/lib/semantic/orange_color_content_semantic_tokens.dart index 8a0eeb33c..c39228ace 100644 --- a/ouds_theme_orange/lib/semantic/orange_color_content_semantic_tokens.dart +++ b/ouds_theme_orange/lib/semantic/orange_color_content_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -80,6 +80,14 @@ class OrangeColorContentSemanticTokens extends OudsColorContentSemanticTokens { super.contentStatusAccentLight = OrangeColorRawTokens.colorOrange500, super.contentStatusInfoDark = ColorRawTokens.colorFunctionalDodgerBlue300, super.contentStatusInfoLight = ColorRawTokens.colorFunctionalDodgerBlue700, + super.contentStatusInverseInfoDark = ColorRawTokens.colorFunctionalDodgerBlue700, + super.contentStatusInverseInfoLight = ColorRawTokens.colorFunctionalDodgerBlue300, + super.contentStatusInverseNegativeDark = ColorRawTokens.colorFunctionalScarlet600, + super.contentStatusInverseNegativeLight = ColorRawTokens.colorFunctionalScarlet300, + super.contentStatusInversePositiveDark = ColorRawTokens.colorFunctionalMalachite750, + super.contentStatusInversePositiveLight = ColorRawTokens.colorFunctionalMalachite300, + super.contentStatusInverseWarningDark = ColorRawTokens.colorFunctionalSun750, + super.contentStatusInverseWarningLight = ColorRawTokens.colorFunctionalSun300, super.contentStatusNegativeDark = ColorRawTokens.colorFunctionalScarlet300, super.contentStatusNegativeLight = ColorRawTokens.colorFunctionalScarlet600, super.contentStatusPositiveDark = ColorRawTokens.colorFunctionalMalachite300, diff --git a/ouds_theme_orange/lib/semantic/orange_color_opacity_semantic_tokens.dart b/ouds_theme_orange/lib/semantic/orange_color_opacity_semantic_tokens.dart index 3d2cc4926..9e077e08b 100644 --- a/ouds_theme_orange/lib/semantic/orange_color_opacity_semantic_tokens.dart +++ b/ouds_theme_orange/lib/semantic/orange_color_opacity_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_color_opacity_semantic_tokens.dart'; diff --git a/ouds_theme_orange/lib/semantic/orange_color_overlay_semantic_tokens.dart b/ouds_theme_orange/lib/semantic/orange_color_overlay_semantic_tokens.dart index 001cbc035..debdaeb00 100644 --- a/ouds_theme_orange/lib/semantic/orange_color_overlay_semantic_tokens.dart +++ b/ouds_theme_orange/lib/semantic/orange_color_overlay_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_color_overlay_semantic_tokens.dart'; @@ -18,12 +18,14 @@ import 'package:ouds_global_raw_tokens/color_raw_tokens.dart'; class OrangeColorOverlaySemanticTokens extends OudsColorOverlaySemanticTokens { const OrangeColorOverlaySemanticTokens({ + super.overlayBackdropDark = ColorRawTokens.colorOpacityBlack680, + super.overlayBackdropLight = ColorRawTokens.colorOpacityBlack680, super.overlayDragDark = ColorRawTokens.colorOpacityWhite80, super.overlayDragLight = ColorRawTokens.colorOpacityBlack40, super.overlayDropdownDark = ColorRawTokens.colorFunctionalGrayDark560, super.overlayDropdownLight = ColorRawTokens.colorFunctionalWhite, - super.overlayModalDark = ColorRawTokens.colorFunctionalGrayDark640, - super.overlayModalLight = ColorRawTokens.colorFunctionalWhite, + super.overlayModalSheetDark = ColorRawTokens.colorFunctionalGrayDark720, + super.overlayModalSheetLight = ColorRawTokens.colorFunctionalWhite, super.overlayTooltipDark = ColorRawTokens.colorFunctionalGrayDark560, super.overlayTooltipLight = ColorRawTokens.colorFunctionalGrayDark720, }); diff --git a/ouds_theme_orange/lib/semantic/orange_color_repository_semantic_tokens.dart b/ouds_theme_orange/lib/semantic/orange_color_repository_semantic_tokens.dart index 492b62f4a..7e0728894 100644 --- a/ouds_theme_orange/lib/semantic/orange_color_repository_semantic_tokens.dart +++ b/ouds_theme_orange/lib/semantic/orange_color_repository_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -109,7 +109,8 @@ class OrangeColorRepositorySemanticTokens extends OudsColorRepositorySemanticTok super.repositoryPrimaryLowest = const Color(0x00ff0000), super.repositoryPrimaryMedium = OrangeColorRawTokens.colorOrange550, super.repositorySecondaryHigh = const Color(0x00ff0000), - super.repositorySecondaryHigher = const Color(0x00ff0000), + super.repositorySecondaryHigherHigh = const Color(0x00ff0000), + super.repositorySecondaryHigherLow = const Color(0x00ff0000), super.repositorySecondaryHighest = const Color(0x00ff0000), super.repositorySecondaryLow = const Color(0x00ff0000), super.repositorySecondaryLower = const Color(0x00ff0000), diff --git a/ouds_theme_orange/lib/semantic/orange_color_surface_semantic_tokens.dart b/ouds_theme_orange/lib/semantic/orange_color_surface_semantic_tokens.dart index 17f17db60..a6ba03b96 100644 --- a/ouds_theme_orange/lib/semantic/orange_color_surface_semantic_tokens.dart +++ b/ouds_theme_orange/lib/semantic/orange_color_surface_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_orange/lib/semantic/orange_effect_semantic_tokens.dart b/ouds_theme_orange/lib/semantic/orange_effect_semantic_tokens.dart index 59c69113d..46f80f44e 100644 --- a/ouds_theme_orange/lib/semantic/orange_effect_semantic_tokens.dart +++ b/ouds_theme_orange/lib/semantic/orange_effect_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_effect_semantic_tokens.dart'; @@ -18,5 +18,5 @@ import 'package:ouds_global_raw_tokens/effect_raw_tokens.dart'; class OrangeEffectSemanticTokens extends OudsEffectSemanticTokens { @override - int get blurDrag => EffectRawTokens.effectBlur320; + int get blurDrag => EffectRawTokens.effectBlur480; } diff --git a/ouds_theme_orange/lib/semantic/orange_font_semantic_tokens.dart b/ouds_theme_orange/lib/semantic/orange_font_semantic_tokens.dart index 4efe43f32..9b980470a 100644 --- a/ouds_theme_orange/lib/semantic/orange_font_semantic_tokens.dart +++ b/ouds_theme_orange/lib/semantic/orange_font_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_orange/lib/semantic/orange_grid_semantic_tokens.dart b/ouds_theme_orange/lib/semantic/orange_grid_semantic_tokens.dart index ec020d25d..1a4db58c9 100644 --- a/ouds_theme_orange/lib/semantic/orange_grid_semantic_tokens.dart +++ b/ouds_theme_orange/lib/semantic/orange_grid_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_grid_semantic_tokens.dart'; @@ -18,7 +18,7 @@ import 'package:ouds_global_raw_tokens/grid_raw_tokens.dart'; class OrangeGridSemanticTokens extends OudsGridSemanticTokens { @override - double get compactColumnGap => GridRawTokens.gridColumnGap100; + double get compactColumnGap => GridRawTokens.gridColumnGap200; @override double get compactMargin => GridRawTokens.gridMargin300; @override diff --git a/ouds_theme_orange/lib/semantic/orange_opacity_semantic_tokens.dart b/ouds_theme_orange/lib/semantic/orange_opacity_semantic_tokens.dart index 2ac68cc87..5b9c437df 100644 --- a/ouds_theme_orange/lib/semantic/orange_opacity_semantic_tokens.dart +++ b/ouds_theme_orange/lib/semantic/orange_opacity_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_opacity_semantic_tokens.dart'; diff --git a/ouds_theme_orange/lib/semantic/orange_size_semantic_tokens.dart b/ouds_theme_orange/lib/semantic/orange_size_semantic_tokens.dart index 2f9451a27..1a8c2f3d2 100644 --- a/ouds_theme_orange/lib/semantic/orange_size_semantic_tokens.dart +++ b/ouds_theme_orange/lib/semantic/orange_size_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_size_semantic_tokens.dart'; @@ -126,7 +126,7 @@ class OrangeSizeSemanticTokens extends OudsSizeSemanticTokens { @override double get iconWithLabelLargeSizeSmall => DimensionRawTokens.dimension300; @override - double get iconWithLabelLargeSizeXlarge => DimensionRawTokens.dimension550; + double get iconWithLabelLargeSizeXlarge => DimensionRawTokens.dimension450; @override double get iconWithLabelLargeSizeXsmall => DimensionRawTokens.dimension250; @override @@ -146,67 +146,69 @@ class OrangeSizeSemanticTokens extends OudsSizeSemanticTokens { @override double get iconWithLabelSmallSizeXsmall => DimensionRawTokens.dimensionOutOfSystem250; @override - double get iconWithLabelXlargeSizeLarge => DimensionRawTokens.dimension550; + double get iconWithLabelXlargeSizeLarge => DimensionRawTokens.dimension500; @override - double get iconWithLabelXlargeSizeMedium => DimensionRawTokens.dimension500; + double get iconWithLabelXlargeSizeMedium => DimensionRawTokens.dimension450; @override double get iconWithLabelXlargeSizeSmall => DimensionRawTokens.dimension400; @override - double get maxWidthTypeBodyLargeMobile => DimensionRawTokens.dimension6000; + double get iconWithLabelXlargeSizeXsmall => DimensionRawTokens.dimension350; @override - double get maxWidthTypeBodyLargeTablet => DimensionRawTokens.dimension6000; + double get maxWidthBodyLargeMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeBodyMediumMobile => DimensionRawTokens.dimension6000; + double get maxWidthBodyLargeTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeBodyMediumTablet => DimensionRawTokens.dimension6000; + double get maxWidthBodyMediumMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeBodySmallMobile => DimensionRawTokens.dimension6000; + double get maxWidthBodyMediumTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeBodySmallTablet => DimensionRawTokens.dimension6000; + double get maxWidthBodySmallMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeDisplayLargeMobile => DimensionRawTokens.dimension9000; + double get maxWidthBodySmallTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeDisplayLargeTablet => DimensionRawTokens.dimension9000; + double get maxWidthDisplayLargeMobile => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeDisplayMediumMobile => DimensionRawTokens.dimension9000; + double get maxWidthDisplayLargeTablet => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeDisplayMediumTablet => DimensionRawTokens.dimension9000; + double get maxWidthDisplayMediumMobile => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeDisplaySmallMobile => DimensionRawTokens.dimension9000; + double get maxWidthDisplayMediumTablet => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeDisplaySmallTablet => DimensionRawTokens.dimension9000; + double get maxWidthDisplaySmallMobile => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeHeadingLargeMobile => DimensionRawTokens.dimension7000; + double get maxWidthDisplaySmallTablet => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeHeadingLargeTablet => DimensionRawTokens.dimension9000; + double get maxWidthHeadingLargeMobile => DimensionRawTokens.dimension7000; @override - double get maxWidthTypeHeadingMediumMobile => DimensionRawTokens.dimension7000; + double get maxWidthHeadingLargeTablet => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeHeadingMediumTablet => DimensionRawTokens.dimension7000; + double get maxWidthHeadingMediumMobile => DimensionRawTokens.dimension7000; @override - double get maxWidthTypeHeadingSmallMobile => DimensionRawTokens.dimension6000; + double get maxWidthHeadingMediumTablet => DimensionRawTokens.dimension7000; @override - double get maxWidthTypeHeadingSmallTablet => DimensionRawTokens.dimension7000; + double get maxWidthHeadingSmallMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeHeadingXlargeMobile => DimensionRawTokens.dimension7000; + double get maxWidthHeadingSmallTablet => DimensionRawTokens.dimension7000; @override - double get maxWidthTypeHeadingXlargeTablet => DimensionRawTokens.dimension9000; + double get maxWidthHeadingXlargeMobile => DimensionRawTokens.dimension7000; @override - double get maxWidthTypeLabelLargeMobile => DimensionRawTokens.dimension6000; + double get maxWidthHeadingXlargeTablet => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeLabelLargeTablet => DimensionRawTokens.dimension6000; + double get maxWidthLabelLargeMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelMediumMobile => DimensionRawTokens.dimension6000; + double get maxWidthLabelLargeTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelMediumTablet => DimensionRawTokens.dimension6000; + double get maxWidthLabelMediumMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelSmallMobile => DimensionRawTokens.dimension6000; + double get maxWidthLabelMediumTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelSmallTablet => DimensionRawTokens.dimension6000; + double get maxWidthLabelSmallMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelXlargeMobile => DimensionRawTokens.dimension6000; + double get maxWidthLabelSmallTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelXlargeTablet => DimensionRawTokens.dimension6000; + double get maxWidthLabelXlargeMobile => DimensionRawTokens.dimension6000; + @override + double get maxWidthLabelXlargeTablet => DimensionRawTokens.dimension6000; @override double get minInteractiveArea => DimensionRawTokens.dimension600; } diff --git a/ouds_theme_orange/lib/semantic/orange_space_semantic_tokens.dart b/ouds_theme_orange/lib/semantic/orange_space_semantic_tokens.dart index b7a5d7d24..6a4ed4765 100644 --- a/ouds_theme_orange/lib/semantic/orange_space_semantic_tokens.dart +++ b/ouds_theme_orange/lib/semantic/orange_space_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange brand tokens version 2.3.0 +// Orange brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_space_semantic_tokens.dart'; diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_alert_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_alert_tokens.dart index f284e52d2..fe1433bbb 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_alert_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_alert_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_badge_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_badge_tokens.dart index 1181c952d..58be79b2c 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_badge_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_badge_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; @@ -31,7 +31,11 @@ class OrangeCompactBadgeTokens extends OudsBadgeTokens { @override double get sizeXsmall => DimensionRawTokens.dimension100; @override - double get spaceInset => DimensionRawTokens.dimensionOutOfSystem75; + double get spaceInsetMediumLarge => DimensionRawTokens.dimensionOutOfSystem75; + @override + double get spaceInsetSmall => DimensionRawTokens.dimensionOutOfSystem50; + @override + double get spaceInsetXsmall => DimensionRawTokens.dimensionOutOfSystem25; @override double get spacePaddingInlineLarge => providersTokens.spaceTokens.paddingInline2xsmall; @override diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_bar_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_bar_tokens.dart index d46a42594..a79e00274 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_bar_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_bar_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -26,71 +26,71 @@ class OrangeCompactBarTokens extends OudsBarTokens { OrangeCompactBarTokens(this.providersTokens); @override - double get borderRadiusActiveIndicatorCustomBottom => providersTokens.borderTokens.radiusNone; + double get borderRadiusCurrentIndicatorCustomBottom => providersTokens.borderTokens.radiusNone; @override - double get borderRadiusActiveIndicatorCustomTop => providersTokens.borderTokens.radiusNone; + double get borderRadiusCurrentIndicatorCustomTop => providersTokens.borderTokens.radiusNone; @override - Color get colorActiveIndicatorAndroidSelectedDisabled => providersTokens.colorScheme.opacityTransparent; + Color get colorBgOpaque => providersTokens.colorScheme.bgSecondary; @override - Color get colorActiveIndicatorAndroidSelectedEnabled => providersTokens.colorScheme.opacityTransparent; + Color get colorBgTranslucentDark => ColorRawTokens.colorOpacityGrayDark880800; @override - Color get colorActiveIndicatorAndroidSelectedFocus => providersTokens.colorScheme.opacityTransparent; + Color get colorBgTranslucentLight => ColorRawTokens.colorOpacityWhite800; @override - Color get colorActiveIndicatorAndroidSelectedHover => providersTokens.colorScheme.opacityTransparent; + Color get colorBorderBadge => providersTokens.colorScheme.bgSecondary; @override - Color get colorActiveIndicatorAndroidSelectedPressed => providersTokens.colorScheme.opacityTransparent; + Color get colorContentOnIosAccent => providersTokens.colorScheme.contentOnActionSelected; @override - Color get colorActiveIndicatorAndroidUnselectedDisabled => providersTokens.colorScheme.opacityTransparent; + Color get colorContentSelectedEnabled => providersTokens.colorScheme.contentDefault; @override - Color get colorActiveIndicatorAndroidUnselectedFocus => providersTokens.colorScheme.opacityTransparent; + Color get colorContentSelectedFocus => providersTokens.colorScheme.actionFocus; @override - Color get colorActiveIndicatorAndroidUnselectedHover => providersTokens.colorScheme.opacityTransparent; + Color get colorContentSelectedHover => providersTokens.colorScheme.actionHover; @override - Color get colorActiveIndicatorAndroidUnselectedPressed => providersTokens.colorScheme.opacityTransparent; + Color get colorContentSelectedPressed => providersTokens.colorScheme.actionPressed; @override - Color get colorActiveIndicatorCustomSelectedEnabled => providersTokens.colorScheme.actionSelected; + Color get colorContentUnselectedEnabled => providersTokens.colorScheme.contentMuted; @override - Color get colorActiveIndicatorCustomSelectedFocus => providersTokens.colorScheme.actionFocus; + Color get colorContentUnselectedFocus => providersTokens.colorScheme.contentDefault; @override - Color get colorActiveIndicatorCustomSelectedHover => providersTokens.colorScheme.actionHover; + Color get colorContentUnselectedHover => providersTokens.colorScheme.contentDefault; @override - Color get colorActiveIndicatorCustomSelectedPressed => providersTokens.colorScheme.actionPressed; + Color get colorContentUnselectedPressed => providersTokens.colorScheme.actionPressed; @override - Color get colorBgOpaque => providersTokens.colorScheme.bgSecondary; + Color get colorCurrentIndicatorAndroidSelectedDisabled => providersTokens.colorScheme.opacityTransparent; @override - Color get colorBgTranslucentDark => ColorRawTokens.colorOpacityGrayDark800800; + Color get colorCurrentIndicatorAndroidSelectedEnabled => providersTokens.colorScheme.opacityTransparent; @override - Color get colorBgTranslucentLight => ColorRawTokens.colorOpacityGrayLight80800; + Color get colorCurrentIndicatorAndroidSelectedFocus => providersTokens.colorScheme.opacityTransparent; @override - Color get colorBorderBadge => providersTokens.colorScheme.bgSecondary; + Color get colorCurrentIndicatorAndroidSelectedHover => providersTokens.colorScheme.opacityTransparent; @override - Color get colorContentOnIosAccent => providersTokens.colorScheme.contentOnActionSelected; + Color get colorCurrentIndicatorAndroidSelectedPressed => providersTokens.colorScheme.opacityTransparent; @override - Color get colorContentSelectedEnabled => providersTokens.colorScheme.contentDefault; + Color get colorCurrentIndicatorAndroidUnselectedDisabled => providersTokens.colorScheme.opacityTransparent; @override - Color get colorContentSelectedFocus => providersTokens.colorScheme.actionFocus; + Color get colorCurrentIndicatorAndroidUnselectedFocus => providersTokens.colorScheme.opacityTransparent; @override - Color get colorContentSelectedHover => providersTokens.colorScheme.actionHover; + Color get colorCurrentIndicatorAndroidUnselectedHover => providersTokens.colorScheme.opacityTransparent; @override - Color get colorContentSelectedPressed => providersTokens.colorScheme.actionPressed; + Color get colorCurrentIndicatorAndroidUnselectedPressed => providersTokens.colorScheme.opacityTransparent; @override - Color get colorContentUnselectedEnabledDark => ColorRawTokens.colorOpacityWhite600; + Color get colorCurrentIndicatorCustomSelectedEnabled => providersTokens.colorScheme.actionSelected; @override - Color get colorContentUnselectedEnabledLight => ColorRawTokens.colorOpacityBlack600; + Color get colorCurrentIndicatorCustomSelectedFocus => providersTokens.colorScheme.actionFocus; @override - Color get colorContentUnselectedFocus => providersTokens.colorScheme.contentDefault; + Color get colorCurrentIndicatorCustomSelectedHover => providersTokens.colorScheme.actionHover; @override - Color get colorContentUnselectedHover => providersTokens.colorScheme.contentDefault; + Color get colorCurrentIndicatorCustomSelectedPressed => providersTokens.colorScheme.actionPressed; @override - Color get colorContentUnselectedPressed => providersTokens.colorScheme.actionPressed; + Color get colorIosAccent => providersTokens.colorScheme.actionSelected; @override - int get effectBgBlur => EffectRawTokens.effectBlur160; + int get effectBgBlur => EffectRawTokens.effectBlur320; @override - double get opacityActiveIndicatorCustom => providersTokens.opacityTokens.opaque; + double get opacityCurrentIndicatorCustom => providersTokens.opacityTokens.opaque; @override - double get sizeHeightActiveIndicatorCustom => DimensionRawTokens.dimensionOutOfSystem75; + double get sizeHeightCurrentIndicatorCustom => DimensionRawTokens.dimensionOutOfSystem75; @override - double get sizeWidthActiveIndicatorCustomBottom => DimensionRawTokens.dimension300; + double get sizeWidthCurrentIndicatorCustomBottom => DimensionRawTokens.dimension300; @override - double get sizeWidthActiveIndicatorCustomTop => DimensionRawTokens.dimension650; + double get sizeWidthCurrentIndicatorCustomTop => DimensionRawTokens.dimension500; } diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_bulletList_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_bulletList_tokens.dart index 9dcf5ef4a..f78cc02af 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_bulletList_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_bulletList_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_buttonMono_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_buttonMono_tokens.dart index 783b19b10..c1edd790b 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_buttonMono_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_buttonMono_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_button_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_button_tokens.dart index 43ca868ab..6d7a8b116 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_button_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_button_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_checkbox_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_checkbox_tokens.dart index 9419fa1e0..ec4070916 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_checkbox_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_checkbox_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/ouds_tokens_provider.dart'; @@ -40,8 +40,6 @@ class OrangeCompactCheckboxTokens extends OudsCheckboxTokens { @override double get borderWidthUnselectedPressed => providersTokens.borderTokens.widthMedium; @override - double get sizeIndicator => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; - @override double get sizeMaxHeight => providersTokens.sizeTokens.minInteractiveArea; @override double get sizeMinHeight => providersTokens.sizeTokens.minInteractiveArea; diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_chip_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_chip_tokens.dart index 710d34d69..cc7b75126 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_chip_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_chip_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_controlItem_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_controlItem_tokens.dart index be09ca4ba..ff5018251 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_controlItem_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_controlItem_tokens.dart @@ -10,11 +10,12 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; +import 'package:ouds_global_raw_tokens/font_raw_tokens.dart'; import 'package:ouds_theme_contract/ouds_tokens_provider.dart'; import 'package:ouds_theme_contract/theme/tokens/components/ouds_controlItem_tokens.dart'; @@ -24,43 +25,97 @@ class OrangeCompactControlItemTokens extends OudsControlItemTokens { OrangeCompactControlItemTokens(this.providersTokens); @override - double get borderRadius => providersTokens.borderTokens.radiusNone; + double get borderRadiusCurrentIndicator => providersTokens.borderTokens.radiusNone; @override - double get borderRadiusItemOnly => providersTokens.borderTokens.radiusDefault; + double get borderRadiusDefault => providersTokens.borderTokens.radiusDefault; @override - Color get colorBgFocus => providersTokens.colorScheme.actionSupportFocus; + double get borderRadiusMedia => providersTokens.borderTokens.radiusDefault; @override - Color get colorBgHover => providersTokens.colorScheme.actionSupportHover; + double get borderRadiusMediaRoundedCorner => providersTokens.borderTokens.radiusSmall; @override - Color get colorBgLoading => providersTokens.colorScheme.actionSupportLoading; + double get borderRadiusRounded => providersTokens.borderTokens.radiusMedium; @override - Color get colorBgPressed => providersTokens.colorScheme.actionSupportPressed; + double get borderWidthCurrentPage => providersTokens.borderTokens.widthMedium; @override - Color get colorContentLoader => providersTokens.colorScheme.contentDefault; + double get borderWidthDefault => providersTokens.borderTokens.widthDefault; @override - double get sizeErrorIcon => providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + Color get colorBadgeSafetyArea => providersTokens.colorScheme.bgPrimary; @override - double get sizeIcon => providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + Color get colorBgCurrentDisabled => providersTokens.colorScheme.actionSupportDisabled; @override - double get sizeLoader => providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + Color get colorBgCurrentEnabled => providersTokens.colorScheme.actionSupportEnabled; @override - double get sizeMaxHeightAssetsContainer => DimensionRawTokens.dimension1000; + Color get colorBgCurrentFocus => providersTokens.colorScheme.actionSupportFocus; + @override + Color get colorBgCurrentHover => providersTokens.colorScheme.actionSupportHover; + @override + Color get colorBgCurrentPressed => providersTokens.colorScheme.actionSupportPressed; + @override + Color get colorContentCurrentDisabled => providersTokens.colorScheme.contentDefault; + @override + Color get colorContentCurrentEnabled => providersTokens.colorScheme.contentDefault; + @override + Color get colorContentCurrentFocus => providersTokens.colorScheme.contentDefault; + @override + Color get colorContentCurrentHover => providersTokens.colorScheme.contentDefault; + @override + Color get colorContentCurrentPressed => providersTokens.colorScheme.contentDefault; + @override + double get fontLetterSpacingAvatarInitialXlarge => FontRawTokens.fontLetterSpacing350; + @override + double get fontLineHeightAvatarInitialXlarge => FontRawTokens.fontLineHeight550; + @override + double get fontSizeAvatarInitialXlarge => FontRawTokens.fontSize350; + @override + double get opacityCurrentDivider => providersTokens.opacityTokens.opaque; + @override + double get opacityCurrentIndicator => providersTokens.opacityTokens.opaque; + @override + double get sizeAssetLarge => DimensionRawTokens.dimension450; + @override + double get sizeAssetMedium => providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + @override + double get sizeAssetSmall => providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + @override + double get sizeAssetXlarge => DimensionRawTokens.dimension650; + @override + double get sizeControlIndicator => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + @override + double get sizeCurrentIndicatorWidth => DimensionRawTokens.dimension50; + @override + double get sizeFlagHeight => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; @override double get sizeMaxWidth => DimensionRawTokens.dimension4000; @override - double get sizeMinHeight => DimensionRawTokens.dimension500; + double get sizeMinHeightCompact => providersTokens.sizeTokens.minInteractiveArea; + @override + double get sizeMinHeightDefault => DimensionRawTokens.dimension650; @override double get sizeMinWidth => DimensionRawTokens.dimension1800; @override double get spaceColumnGap => providersTokens.spaceTokens.columnGapMedium; @override - double get spacePaddingBlockDefault => providersTokens.spaceTokens.paddingBlockMedium; + double get spacePaddingBlockBottomSlot => providersTokens.spaceTokens.paddingBlock4xsmall; @override - double get spacePaddingBlockTopErrorText => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingBlockDensityCompact => providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingInline => providersTokens.spaceTokens.paddingInlineLarge; + double get spacePaddingBlockDensityCompactBottomExpandContainer => providersTokens.spaceTokens.paddingBlock2xlarge; + @override + double get spacePaddingBlockDensityCompactTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingInlineErrorIcon => providersTokens.spaceTokens.paddingInline4xsmall; + double get spacePaddingBlockDensityCompactTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlockNone; + @override + double get spacePaddingBlockDensityDefault => providersTokens.spaceTokens.paddingBlockMedium; + @override + double get spacePaddingBlockDensityDefaultBottomExpandContainer => providersTokens.spaceTokens.paddingBlock3xlarge; + @override + double get spacePaddingBlockDensityDefaultTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockSmall; + @override + double get spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlockNone; + @override + double get spacePaddingBlockTopHelperText => providersTokens.spaceTokens.paddingBlockXsmall; + @override + double get spacePaddingInline => providersTokens.spaceTokens.paddingInlineLarge; @override double get spaceRowGap => providersTokens.spaceTokens.rowGapNone; } diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_divider_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_divider_tokens.dart index 0b1f281b7..fbece539f 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_divider_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_divider_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/ouds_tokens_provider.dart'; diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_icon_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_icon_tokens.dart index 38bbc6e0f..097d61185 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_icon_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_icon_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -22,10 +22,12 @@ class OrangeCompactIconTokens extends OudsIconTokens { OrangeCompactIconTokens(this.providersTokens); - @override - Color get colorContentDefault => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.repositoryNeutralEmphasizedBlack, providersTokens.colorScheme.repositoryNeutralMutedLower); @override Color get colorContentStatusWarningExternalShape => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.repositoryWarningMedium, providersTokens.colorScheme.repositoryWarningLow); @override Color get colorContentStatusWarningInternalShape => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.repositoryWarningHigh, providersTokens.colorScheme.opacityTransparent); + @override + Color get colorContentStatusWarningInverseExternalShape => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.repositoryWarningLow, providersTokens.colorScheme.repositoryWarningMedium); + @override + Color get colorContentStatusWarningInverseInternalShape => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.opacityTransparent, providersTokens.colorScheme.repositoryWarningHigh); } diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_inputTag_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_inputTag_tokens.dart index 03d1a9e4f..1739e894a 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_inputTag_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_inputTag_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_linkMono_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_linkMono_tokens.dart index c27b730cc..80df6986c 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_linkMono_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_linkMono_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_link_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_link_tokens.dart index b7e33c680..e266e2cf0 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_link_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_link_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_pinCodeInput_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_pinCodeInput_tokens.dart index 2574f0284..ae5044e0e 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_pinCodeInput_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_pinCodeInput_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_radioButton_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_radioButton_tokens.dart index ddc122d10..72a988efe 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_radioButton_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_radioButton_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/ouds_tokens_provider.dart'; @@ -40,8 +40,6 @@ class OrangeCompactRadioButtonTokens extends OudsRadioButtonTokens { @override double get borderWidthUnselectedPressed => providersTokens.borderTokens.widthMedium; @override - double get sizeIndicator => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; - @override double get sizeMaxHeight => providersTokens.sizeTokens.minInteractiveArea; @override double get sizeMinHeight => providersTokens.sizeTokens.minInteractiveArea; diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_skeleton_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_skeleton_tokens.dart index a4a621cc5..7bc4fe783 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_skeleton_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_skeleton_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_switch_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_switch_tokens.dart index be32fb6b5..892612f97 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_switch_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_switch_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_tag_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_tag_tokens.dart index ac642bf75..da910d002 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_tag_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_tag_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; @@ -35,9 +35,9 @@ class OrangeCompactTagTokens extends OudsTagTokens { @override double get sizeMinHeightSmall => DimensionRawTokens.dimension250; @override - double get sizeMinWidthDefault => DimensionRawTokens.dimension550; + double get sizeMinWidthDefault => DimensionRawTokens.dimension350; @override - double get sizeMinWidthSmall => DimensionRawTokens.dimension500; + double get sizeMinWidthSmall => DimensionRawTokens.dimension300; @override double get spaceColumnGapDefault => providersTokens.spaceTokens.columnGap2xsmall; @override diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_textInput_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_textInput_tokens.dart index 1f29afb7a..d3f79f40e 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_textInput_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_textInput_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -26,7 +26,7 @@ class OrangeCompactTextInputTokens extends OudsTextInputTokens { @override double get borderRadiusDefault => providersTokens.borderTokens.radiusDefault; @override - double get borderRadiusRounded => providersTokens.borderTokens.radiusSmall; + double get borderRadiusRounded => providersTokens.borderTokens.radiusMedium; @override double get borderWidthDefault => providersTokens.borderTokens.widthDefault; @override @@ -58,6 +58,10 @@ class OrangeCompactTextInputTokens extends OudsTextInputTokens { @override double get spaceColumnGapInlineText => providersTokens.spaceTokens.columnGapXsmall; @override + double get spaceColumnGapLabelAsterisk => providersTokens.spaceTokens.columnGap2xsmall; + @override + double get spaceColumnGapLabelSmallAsterisk => DimensionRawTokens.dimensionOutOfSystem75; + @override double get spaceColumnGapTrailingErrorAction => providersTokens.spaceTokens.columnGapXsmall; @override double get spacePaddingBlockDefault => providersTokens.spaceTokens.paddingBlock2xsmall; diff --git a/ouds_theme_orange_compact/lib/semantic/orangeCompact_border_semantic_tokens.dart b/ouds_theme_orange_compact/lib/semantic/orangeCompact_border_semantic_tokens.dart index 1a471bf5e..2400ca440 100644 --- a/ouds_theme_orange_compact/lib/semantic/orangeCompact_border_semantic_tokens.dart +++ b/ouds_theme_orange_compact/lib/semantic/orangeCompact_border_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_border_semantic_tokens.dart'; diff --git a/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_action_semantic_tokens.dart b/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_action_semantic_tokens.dart index 21a8aaf89..f41df6935 100644 --- a/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_action_semantic_tokens.dart +++ b/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_action_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_orange/raw/orange_color_raw_tokens.dart'; @@ -29,8 +29,6 @@ class OrangeCompactColorActionSemanticTokens extends OudsColorActionSemanticToke super.actionHighlightedLight = ColorRawTokens.colorFunctionalBlack, super.actionHoverDark = ColorRawTokens.colorOpacityWhite640, super.actionHoverLight = ColorRawTokens.colorOpacityBlack680, - super.actionIosAccentDark = OrangeColorRawTokens.colorOrange500, - super.actionIosAccentLight = OrangeColorRawTokens.colorOrange550, super.actionLoadingDark = OrangeColorRawTokens.colorOrange500, super.actionLoadingLight = OrangeColorRawTokens.colorOrange550, super.actionNegativeEnabledDark = ColorRawTokens.colorFunctionalScarlet300, diff --git a/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_always_semantic_tokens.dart b/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_always_semantic_tokens.dart index e559aea55..30c7a9f96 100644 --- a/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_always_semantic_tokens.dart +++ b/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_always_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_color_always_semantic_tokens.dart'; diff --git a/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_bg_semantic_tokens.dart b/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_bg_semantic_tokens.dart index 3135fd32b..99d39e344 100644 --- a/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_bg_semantic_tokens.dart +++ b/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_bg_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_orange/raw/orange_color_raw_tokens.dart'; diff --git a/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_border_semantic_tokens.dart b/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_border_semantic_tokens.dart index d23ab57eb..d851eb9eb 100644 --- a/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_border_semantic_tokens.dart +++ b/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_border_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -28,7 +28,7 @@ class OrangeCompactColorBorderSemanticTokens extends OudsColorBorderSemanticToke super.borderBrandTertiaryLight = const Color(0x00ff0000), super.borderDefaultDark = ColorRawTokens.colorOpacityWhite200, super.borderDefaultLight = ColorRawTokens.colorOpacityBlack200, - super.borderEmphasizedDark = ColorRawTokens.colorOpacityWhite920, + super.borderEmphasizedDark = ColorRawTokens.colorFunctionalGrayLight160, super.borderEmphasizedLight = ColorRawTokens.colorFunctionalBlack, super.borderFocusDark = ColorRawTokens.colorFunctionalGrayLight160, super.borderFocusInsetDark = ColorRawTokens.colorFunctionalBlack, diff --git a/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_content_semantic_tokens.dart b/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_content_semantic_tokens.dart index 2de44ac9e..83e027a15 100644 --- a/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_content_semantic_tokens.dart +++ b/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_content_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -80,6 +80,14 @@ class OrangeCompactColorContentSemanticTokens extends OudsColorContentSemanticTo super.contentStatusAccentLight = OrangeColorRawTokens.colorOrange500, super.contentStatusInfoDark = ColorRawTokens.colorFunctionalDodgerBlue300, super.contentStatusInfoLight = ColorRawTokens.colorFunctionalDodgerBlue700, + super.contentStatusInverseInfoDark = ColorRawTokens.colorFunctionalDodgerBlue700, + super.contentStatusInverseInfoLight = ColorRawTokens.colorFunctionalDodgerBlue300, + super.contentStatusInverseNegativeDark = ColorRawTokens.colorFunctionalScarlet600, + super.contentStatusInverseNegativeLight = ColorRawTokens.colorFunctionalScarlet300, + super.contentStatusInversePositiveDark = ColorRawTokens.colorFunctionalMalachite750, + super.contentStatusInversePositiveLight = ColorRawTokens.colorFunctionalMalachite300, + super.contentStatusInverseWarningDark = ColorRawTokens.colorFunctionalSun750, + super.contentStatusInverseWarningLight = ColorRawTokens.colorFunctionalSun300, super.contentStatusNegativeDark = ColorRawTokens.colorFunctionalScarlet300, super.contentStatusNegativeLight = ColorRawTokens.colorFunctionalScarlet600, super.contentStatusPositiveDark = ColorRawTokens.colorFunctionalMalachite300, diff --git a/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_opacity_semantic_tokens.dart b/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_opacity_semantic_tokens.dart index 3a41a0a9a..ac7d99fd5 100644 --- a/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_opacity_semantic_tokens.dart +++ b/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_opacity_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_color_opacity_semantic_tokens.dart'; diff --git a/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_overlay_semantic_tokens.dart b/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_overlay_semantic_tokens.dart index 1d92ac31c..c0886a434 100644 --- a/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_overlay_semantic_tokens.dart +++ b/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_overlay_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_color_overlay_semantic_tokens.dart'; @@ -18,12 +18,14 @@ import 'package:ouds_global_raw_tokens/color_raw_tokens.dart'; class OrangeCompactColorOverlaySemanticTokens extends OudsColorOverlaySemanticTokens { const OrangeCompactColorOverlaySemanticTokens({ + super.overlayBackdropDark = ColorRawTokens.colorOpacityBlack680, + super.overlayBackdropLight = ColorRawTokens.colorOpacityBlack680, super.overlayDragDark = ColorRawTokens.colorOpacityWhite80, super.overlayDragLight = ColorRawTokens.colorOpacityBlack40, super.overlayDropdownDark = ColorRawTokens.colorFunctionalGrayDark560, super.overlayDropdownLight = ColorRawTokens.colorFunctionalWhite, - super.overlayModalDark = ColorRawTokens.colorFunctionalGrayDark640, - super.overlayModalLight = ColorRawTokens.colorFunctionalWhite, + super.overlayModalSheetDark = ColorRawTokens.colorFunctionalGrayDark720, + super.overlayModalSheetLight = ColorRawTokens.colorFunctionalWhite, super.overlayTooltipDark = ColorRawTokens.colorFunctionalGrayDark560, super.overlayTooltipLight = ColorRawTokens.colorFunctionalGrayDark720, }); diff --git a/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_repository_semantic_tokens.dart b/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_repository_semantic_tokens.dart index 0852d983d..ef90a3cff 100644 --- a/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_repository_semantic_tokens.dart +++ b/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_repository_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -109,7 +109,8 @@ class OrangeCompactColorRepositorySemanticTokens extends OudsColorRepositorySema super.repositoryPrimaryLowest = const Color(0x00ff0000), super.repositoryPrimaryMedium = OrangeColorRawTokens.colorOrange550, super.repositorySecondaryHigh = const Color(0x00ff0000), - super.repositorySecondaryHigher = const Color(0x00ff0000), + super.repositorySecondaryHigherHigh = const Color(0x00ff0000), + super.repositorySecondaryHigherLow = const Color(0x00ff0000), super.repositorySecondaryHighest = const Color(0x00ff0000), super.repositorySecondaryLow = const Color(0x00ff0000), super.repositorySecondaryLower = const Color(0x00ff0000), diff --git a/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_surface_semantic_tokens.dart b/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_surface_semantic_tokens.dart index 68119a047..84a3caa10 100644 --- a/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_surface_semantic_tokens.dart +++ b/ouds_theme_orange_compact/lib/semantic/orangeCompact_color_surface_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_orange_compact/lib/semantic/orangeCompact_effect_semantic_tokens.dart b/ouds_theme_orange_compact/lib/semantic/orangeCompact_effect_semantic_tokens.dart index e6605007e..5bed7340f 100644 --- a/ouds_theme_orange_compact/lib/semantic/orangeCompact_effect_semantic_tokens.dart +++ b/ouds_theme_orange_compact/lib/semantic/orangeCompact_effect_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_effect_semantic_tokens.dart'; @@ -18,5 +18,5 @@ import 'package:ouds_global_raw_tokens/effect_raw_tokens.dart'; class OrangeCompactEffectSemanticTokens extends OudsEffectSemanticTokens { @override - int get blurDrag => EffectRawTokens.effectBlur320; + int get blurDrag => EffectRawTokens.effectBlur480; } diff --git a/ouds_theme_orange_compact/lib/semantic/orangeCompact_font_semantic_tokens.dart b/ouds_theme_orange_compact/lib/semantic/orangeCompact_font_semantic_tokens.dart index 873a831f8..5f476767d 100644 --- a/ouds_theme_orange_compact/lib/semantic/orangeCompact_font_semantic_tokens.dart +++ b/ouds_theme_orange_compact/lib/semantic/orangeCompact_font_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_orange_compact/lib/semantic/orangeCompact_grid_semantic_tokens.dart b/ouds_theme_orange_compact/lib/semantic/orangeCompact_grid_semantic_tokens.dart index ef4360fbe..4ae361b6a 100644 --- a/ouds_theme_orange_compact/lib/semantic/orangeCompact_grid_semantic_tokens.dart +++ b/ouds_theme_orange_compact/lib/semantic/orangeCompact_grid_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_grid_semantic_tokens.dart'; @@ -18,7 +18,7 @@ import 'package:ouds_global_raw_tokens/grid_raw_tokens.dart'; class OrangeCompactGridSemanticTokens extends OudsGridSemanticTokens { @override - double get compactColumnGap => GridRawTokens.gridColumnGap100; + double get compactColumnGap => GridRawTokens.gridColumnGap200; @override double get compactMargin => GridRawTokens.gridMargin100; @override diff --git a/ouds_theme_orange_compact/lib/semantic/orangeCompact_opacity_semantic_tokens.dart b/ouds_theme_orange_compact/lib/semantic/orangeCompact_opacity_semantic_tokens.dart index 77c3e3f04..97f23ce3e 100644 --- a/ouds_theme_orange_compact/lib/semantic/orangeCompact_opacity_semantic_tokens.dart +++ b/ouds_theme_orange_compact/lib/semantic/orangeCompact_opacity_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_opacity_semantic_tokens.dart'; diff --git a/ouds_theme_orange_compact/lib/semantic/orangeCompact_size_semantic_tokens.dart b/ouds_theme_orange_compact/lib/semantic/orangeCompact_size_semantic_tokens.dart index 396a721eb..d012bdab0 100644 --- a/ouds_theme_orange_compact/lib/semantic/orangeCompact_size_semantic_tokens.dart +++ b/ouds_theme_orange_compact/lib/semantic/orangeCompact_size_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_size_semantic_tokens.dart'; @@ -126,7 +126,7 @@ class OrangeCompactSizeSemanticTokens extends OudsSizeSemanticTokens { @override double get iconWithLabelLargeSizeSmall => DimensionRawTokens.dimension250; @override - double get iconWithLabelLargeSizeXlarge => DimensionRawTokens.dimension500; + double get iconWithLabelLargeSizeXlarge => DimensionRawTokens.dimension400; @override double get iconWithLabelLargeSizeXsmall => DimensionRawTokens.dimension200; @override @@ -146,67 +146,69 @@ class OrangeCompactSizeSemanticTokens extends OudsSizeSemanticTokens { @override double get iconWithLabelSmallSizeXsmall => DimensionRawTokens.dimensionOutOfSystem250; @override - double get iconWithLabelXlargeSizeLarge => DimensionRawTokens.dimension500; + double get iconWithLabelXlargeSizeLarge => DimensionRawTokens.dimension450; @override - double get iconWithLabelXlargeSizeMedium => DimensionRawTokens.dimension450; + double get iconWithLabelXlargeSizeMedium => DimensionRawTokens.dimension400; @override double get iconWithLabelXlargeSizeSmall => DimensionRawTokens.dimension350; @override - double get maxWidthTypeBodyLargeMobile => DimensionRawTokens.dimension6000; + double get iconWithLabelXlargeSizeXsmall => DimensionRawTokens.dimension300; @override - double get maxWidthTypeBodyLargeTablet => DimensionRawTokens.dimension6000; + double get maxWidthBodyLargeMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeBodyMediumMobile => DimensionRawTokens.dimension6000; + double get maxWidthBodyLargeTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeBodyMediumTablet => DimensionRawTokens.dimension6000; + double get maxWidthBodyMediumMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeBodySmallMobile => DimensionRawTokens.dimension6000; + double get maxWidthBodyMediumTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeBodySmallTablet => DimensionRawTokens.dimension6000; + double get maxWidthBodySmallMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeDisplayLargeMobile => DimensionRawTokens.dimension9000; + double get maxWidthBodySmallTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeDisplayLargeTablet => DimensionRawTokens.dimension9000; + double get maxWidthDisplayLargeMobile => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeDisplayMediumMobile => DimensionRawTokens.dimension9000; + double get maxWidthDisplayLargeTablet => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeDisplayMediumTablet => DimensionRawTokens.dimension9000; + double get maxWidthDisplayMediumMobile => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeDisplaySmallMobile => DimensionRawTokens.dimension7000; + double get maxWidthDisplayMediumTablet => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeDisplaySmallTablet => DimensionRawTokens.dimension9000; + double get maxWidthDisplaySmallMobile => DimensionRawTokens.dimension7000; @override - double get maxWidthTypeHeadingLargeMobile => DimensionRawTokens.dimension7000; + double get maxWidthDisplaySmallTablet => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeHeadingLargeTablet => DimensionRawTokens.dimension7000; + double get maxWidthHeadingLargeMobile => DimensionRawTokens.dimension7000; @override - double get maxWidthTypeHeadingMediumMobile => DimensionRawTokens.dimension6000; + double get maxWidthHeadingLargeTablet => DimensionRawTokens.dimension7000; @override - double get maxWidthTypeHeadingMediumTablet => DimensionRawTokens.dimension6000; + double get maxWidthHeadingMediumMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeHeadingSmallMobile => DimensionRawTokens.dimension6000; + double get maxWidthHeadingMediumTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeHeadingSmallTablet => DimensionRawTokens.dimension6000; + double get maxWidthHeadingSmallMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeHeadingXlargeMobile => DimensionRawTokens.dimension7000; + double get maxWidthHeadingSmallTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeHeadingXlargeTablet => DimensionRawTokens.dimension7000; + double get maxWidthHeadingXlargeMobile => DimensionRawTokens.dimension7000; @override - double get maxWidthTypeLabelLargeMobile => DimensionRawTokens.dimension6000; + double get maxWidthHeadingXlargeTablet => DimensionRawTokens.dimension7000; @override - double get maxWidthTypeLabelLargeTablet => DimensionRawTokens.dimension6000; + double get maxWidthLabelLargeMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelMediumMobile => DimensionRawTokens.dimension6000; + double get maxWidthLabelLargeTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelMediumTablet => DimensionRawTokens.dimension6000; + double get maxWidthLabelMediumMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelSmallMobile => DimensionRawTokens.dimension6000; + double get maxWidthLabelMediumTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelSmallTablet => DimensionRawTokens.dimension6000; + double get maxWidthLabelSmallMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelXlargeMobile => DimensionRawTokens.dimension6000; + double get maxWidthLabelSmallTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelXlargeTablet => DimensionRawTokens.dimension6000; + double get maxWidthLabelXlargeMobile => DimensionRawTokens.dimension6000; + @override + double get maxWidthLabelXlargeTablet => DimensionRawTokens.dimension6000; @override double get minInteractiveArea => DimensionRawTokens.dimension500; } diff --git a/ouds_theme_orange_compact/lib/semantic/orangeCompact_space_semantic_tokens.dart b/ouds_theme_orange_compact/lib/semantic/orangeCompact_space_semantic_tokens.dart index 07a9ed2e1..654a0eaf2 100644 --- a/ouds_theme_orange_compact/lib/semantic/orangeCompact_space_semantic_tokens.dart +++ b/ouds_theme_orange_compact/lib/semantic/orangeCompact_space_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Orange Compact brand tokens version 2.3.0 +// Orange Compact brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_space_semantic_tokens.dart'; diff --git a/ouds_theme_sosh/lib/components/sosh_alert_tokens.dart b/ouds_theme_sosh/lib/components/sosh_alert_tokens.dart index 885c44938..dcec7dc77 100644 --- a/ouds_theme_sosh/lib/components/sosh_alert_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_alert_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; diff --git a/ouds_theme_sosh/lib/components/sosh_badge_tokens.dart b/ouds_theme_sosh/lib/components/sosh_badge_tokens.dart index b5d69f853..23c06ec16 100644 --- a/ouds_theme_sosh/lib/components/sosh_badge_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_badge_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; @@ -31,7 +31,11 @@ class SoshBadgeTokens extends OudsBadgeTokens { @override double get sizeXsmall => DimensionRawTokens.dimension100; @override - double get spaceInset => DimensionRawTokens.dimensionOutOfSystem75; + double get spaceInsetMediumLarge => DimensionRawTokens.dimensionOutOfSystem75; + @override + double get spaceInsetSmall => DimensionRawTokens.dimensionOutOfSystem50; + @override + double get spaceInsetXsmall => DimensionRawTokens.dimensionOutOfSystem25; @override double get spacePaddingInlineLarge => providersTokens.spaceTokens.paddingInline2xsmall; @override diff --git a/ouds_theme_sosh/lib/components/sosh_bar_tokens.dart b/ouds_theme_sosh/lib/components/sosh_bar_tokens.dart index f8b82d73e..abe33d31b 100644 --- a/ouds_theme_sosh/lib/components/sosh_bar_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_bar_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -26,71 +26,71 @@ class SoshBarTokens extends OudsBarTokens { SoshBarTokens(this.providersTokens); @override - double get borderRadiusActiveIndicatorCustomBottom => providersTokens.borderTokens.radiusPill; + double get borderRadiusCurrentIndicatorCustomBottom => providersTokens.borderTokens.radiusPill; @override - double get borderRadiusActiveIndicatorCustomTop => providersTokens.borderTokens.radiusDefault; + double get borderRadiusCurrentIndicatorCustomTop => providersTokens.borderTokens.radiusDefault; @override - Color get colorActiveIndicatorAndroidSelectedDisabled => providersTokens.colorScheme.opacityTransparent; + Color get colorBgOpaque => providersTokens.colorScheme.bgSecondary; @override - Color get colorActiveIndicatorAndroidSelectedEnabled => providersTokens.colorScheme.opacityTransparent; + Color get colorBgTranslucentDark => ColorRawTokens.colorOpacityBlueDuckDark960800; @override - Color get colorActiveIndicatorAndroidSelectedFocus => providersTokens.colorScheme.opacityTransparent; + Color get colorBgTranslucentLight => ColorRawTokens.colorOpacityWhite800; @override - Color get colorActiveIndicatorAndroidSelectedHover => providersTokens.colorScheme.opacityTransparent; + Color get colorBorderBadge => providersTokens.colorScheme.bgSecondary; @override - Color get colorActiveIndicatorAndroidSelectedPressed => providersTokens.colorScheme.opacityTransparent; + Color get colorContentOnIosAccent => providersTokens.colorScheme.contentOnActionSelected; @override - Color get colorActiveIndicatorAndroidUnselectedDisabled => providersTokens.colorScheme.opacityTransparent; + Color get colorContentSelectedEnabled => providersTokens.colorScheme.actionSelected; @override - Color get colorActiveIndicatorAndroidUnselectedFocus => providersTokens.colorScheme.opacityTransparent; + Color get colorContentSelectedFocus => providersTokens.colorScheme.actionFocus; @override - Color get colorActiveIndicatorAndroidUnselectedHover => providersTokens.colorScheme.opacityTransparent; + Color get colorContentSelectedHover => providersTokens.colorScheme.actionHover; @override - Color get colorActiveIndicatorAndroidUnselectedPressed => providersTokens.colorScheme.opacityTransparent; + Color get colorContentSelectedPressed => providersTokens.colorScheme.actionPressed; @override - Color get colorActiveIndicatorCustomSelectedEnabled => providersTokens.colorScheme.actionSelected; + Color get colorContentUnselectedEnabled => providersTokens.colorScheme.contentMuted; @override - Color get colorActiveIndicatorCustomSelectedFocus => providersTokens.colorScheme.actionFocus; + Color get colorContentUnselectedFocus => providersTokens.colorScheme.contentDefault; @override - Color get colorActiveIndicatorCustomSelectedHover => providersTokens.colorScheme.actionHover; + Color get colorContentUnselectedHover => providersTokens.colorScheme.contentDefault; @override - Color get colorActiveIndicatorCustomSelectedPressed => providersTokens.colorScheme.actionPressed; + Color get colorContentUnselectedPressed => providersTokens.colorScheme.actionPressed; @override - Color get colorBgOpaque => providersTokens.colorScheme.bgSecondary; + Color get colorCurrentIndicatorAndroidSelectedDisabled => providersTokens.colorScheme.opacityTransparent; @override - Color get colorBgTranslucentDark => ColorRawTokens.colorOpacityGrayDark800800; + Color get colorCurrentIndicatorAndroidSelectedEnabled => providersTokens.colorScheme.opacityTransparent; @override - Color get colorBgTranslucentLight => ColorRawTokens.colorOpacityGrayLight80800; + Color get colorCurrentIndicatorAndroidSelectedFocus => providersTokens.colorScheme.opacityTransparent; @override - Color get colorBorderBadge => providersTokens.colorScheme.bgSecondary; + Color get colorCurrentIndicatorAndroidSelectedHover => providersTokens.colorScheme.opacityTransparent; @override - Color get colorContentOnIosAccent => providersTokens.colorScheme.contentOnActionSelected; + Color get colorCurrentIndicatorAndroidSelectedPressed => providersTokens.colorScheme.opacityTransparent; @override - Color get colorContentSelectedEnabled => providersTokens.colorScheme.actionSelected; + Color get colorCurrentIndicatorAndroidUnselectedDisabled => providersTokens.colorScheme.opacityTransparent; @override - Color get colorContentSelectedFocus => providersTokens.colorScheme.actionFocus; + Color get colorCurrentIndicatorAndroidUnselectedFocus => providersTokens.colorScheme.opacityTransparent; @override - Color get colorContentSelectedHover => providersTokens.colorScheme.actionHover; + Color get colorCurrentIndicatorAndroidUnselectedHover => providersTokens.colorScheme.opacityTransparent; @override - Color get colorContentSelectedPressed => providersTokens.colorScheme.actionPressed; + Color get colorCurrentIndicatorAndroidUnselectedPressed => providersTokens.colorScheme.opacityTransparent; @override - Color get colorContentUnselectedEnabledDark => ColorRawTokens.colorOpacityWhite600; + Color get colorCurrentIndicatorCustomSelectedEnabled => providersTokens.colorScheme.actionSelected; @override - Color get colorContentUnselectedEnabledLight => ColorRawTokens.colorOpacityBlack600; + Color get colorCurrentIndicatorCustomSelectedFocus => providersTokens.colorScheme.actionFocus; @override - Color get colorContentUnselectedFocus => providersTokens.colorScheme.contentDefault; + Color get colorCurrentIndicatorCustomSelectedHover => providersTokens.colorScheme.actionHover; @override - Color get colorContentUnselectedHover => providersTokens.colorScheme.contentDefault; + Color get colorCurrentIndicatorCustomSelectedPressed => providersTokens.colorScheme.actionPressed; @override - Color get colorContentUnselectedPressed => providersTokens.colorScheme.actionPressed; + Color get colorIosAccent => providersTokens.colorScheme.actionSelected; @override - int get effectBgBlur => EffectRawTokens.effectBlur160; + int get effectBgBlur => EffectRawTokens.effectBlur320; @override - double get opacityActiveIndicatorCustom => providersTokens.opacityTokens.opaque; + double get opacityCurrentIndicatorCustom => providersTokens.opacityTokens.opaque; @override - double get sizeHeightActiveIndicatorCustom => DimensionRawTokens.dimensionOutOfSystem75; + double get sizeHeightCurrentIndicatorCustom => DimensionRawTokens.dimensionOutOfSystem75; @override - double get sizeWidthActiveIndicatorCustomBottom => DimensionRawTokens.dimension300; + double get sizeWidthCurrentIndicatorCustomBottom => DimensionRawTokens.dimension300; @override - double get sizeWidthActiveIndicatorCustomTop => DimensionRawTokens.dimension650; + double get sizeWidthCurrentIndicatorCustomTop => DimensionRawTokens.dimension500; } diff --git a/ouds_theme_sosh/lib/components/sosh_bulletList_tokens.dart b/ouds_theme_sosh/lib/components/sosh_bulletList_tokens.dart index 1cae52c39..7624b4878 100644 --- a/ouds_theme_sosh/lib/components/sosh_bulletList_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_bulletList_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; diff --git a/ouds_theme_sosh/lib/components/sosh_buttonMono_tokens.dart b/ouds_theme_sosh/lib/components/sosh_buttonMono_tokens.dart index 4dc75f158..30565f7a4 100644 --- a/ouds_theme_sosh/lib/components/sosh_buttonMono_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_buttonMono_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_sosh/lib/components/sosh_button_tokens.dart b/ouds_theme_sosh/lib/components/sosh_button_tokens.dart index e619623ac..dd41ef399 100644 --- a/ouds_theme_sosh/lib/components/sosh_button_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_button_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_sosh/lib/components/sosh_checkbox_tokens.dart b/ouds_theme_sosh/lib/components/sosh_checkbox_tokens.dart index 6ae929b1f..100b343e3 100644 --- a/ouds_theme_sosh/lib/components/sosh_checkbox_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_checkbox_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/ouds_tokens_provider.dart'; @@ -40,8 +40,6 @@ class SoshCheckboxTokens extends OudsCheckboxTokens { @override double get borderWidthUnselectedPressed => providersTokens.borderTokens.widthMedium; @override - double get sizeIndicator => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; - @override double get sizeMaxHeight => providersTokens.sizeTokens.minInteractiveArea; @override double get sizeMinHeight => providersTokens.sizeTokens.minInteractiveArea; diff --git a/ouds_theme_sosh/lib/components/sosh_chip_tokens.dart b/ouds_theme_sosh/lib/components/sosh_chip_tokens.dart index 2a388462f..0d4122358 100644 --- a/ouds_theme_sosh/lib/components/sosh_chip_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_chip_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_sosh/lib/components/sosh_controlItem_tokens.dart b/ouds_theme_sosh/lib/components/sosh_controlItem_tokens.dart index 2ffb8dc1e..6836072ca 100644 --- a/ouds_theme_sosh/lib/components/sosh_controlItem_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_controlItem_tokens.dart @@ -10,11 +10,12 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; +import 'package:ouds_global_raw_tokens/font_raw_tokens.dart'; import 'package:ouds_theme_contract/ouds_tokens_provider.dart'; import 'package:ouds_theme_contract/theme/tokens/components/ouds_controlItem_tokens.dart'; @@ -24,43 +25,97 @@ class SoshControlItemTokens extends OudsControlItemTokens { SoshControlItemTokens(this.providersTokens); @override - double get borderRadius => providersTokens.borderTokens.radiusNone; + double get borderRadiusCurrentIndicator => providersTokens.borderTokens.radiusDefault; @override - double get borderRadiusItemOnly => providersTokens.borderTokens.radiusDefault; + double get borderRadiusDefault => providersTokens.borderTokens.radiusDefault; @override - Color get colorBgFocus => providersTokens.colorScheme.actionSupportFocus; + double get borderRadiusMedia => providersTokens.borderTokens.radiusDefault; @override - Color get colorBgHover => providersTokens.colorScheme.actionSupportHover; + double get borderRadiusMediaRoundedCorner => providersTokens.borderTokens.radiusDefault; @override - Color get colorBgLoading => providersTokens.colorScheme.actionSupportLoading; + double get borderRadiusRounded => providersTokens.borderTokens.radiusDefault; @override - Color get colorBgPressed => providersTokens.colorScheme.actionSupportPressed; + double get borderWidthCurrentPage => providersTokens.borderTokens.widthMedium; @override - Color get colorContentLoader => providersTokens.colorScheme.contentDefault; + double get borderWidthDefault => providersTokens.borderTokens.widthDefault; @override - double get sizeErrorIcon => providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + Color get colorBadgeSafetyArea => providersTokens.colorScheme.bgPrimary; @override - double get sizeIcon => providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + Color get colorBgCurrentDisabled => providersTokens.colorScheme.actionSupportDisabled; @override - double get sizeLoader => providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + Color get colorBgCurrentEnabled => providersTokens.colorScheme.actionSupportEnabled; @override - double get sizeMaxHeightAssetsContainer => DimensionRawTokens.dimension1200; + Color get colorBgCurrentFocus => providersTokens.colorScheme.actionSupportFocus; + @override + Color get colorBgCurrentHover => providersTokens.colorScheme.actionSupportHover; + @override + Color get colorBgCurrentPressed => providersTokens.colorScheme.actionSupportPressed; + @override + Color get colorContentCurrentDisabled => providersTokens.colorScheme.contentDefault; + @override + Color get colorContentCurrentEnabled => providersTokens.colorScheme.contentDefault; + @override + Color get colorContentCurrentFocus => providersTokens.colorScheme.contentDefault; + @override + Color get colorContentCurrentHover => providersTokens.colorScheme.contentDefault; + @override + Color get colorContentCurrentPressed => providersTokens.colorScheme.contentDefault; + @override + double get fontLetterSpacingAvatarInitialXlarge => FontRawTokens.fontLetterSpacing450; + @override + double get fontLineHeightAvatarInitialXlarge => FontRawTokens.fontLineHeight650; + @override + double get fontSizeAvatarInitialXlarge => FontRawTokens.fontSize450; + @override + double get opacityCurrentDivider => providersTokens.opacityTokens.opaque; + @override + double get opacityCurrentIndicator => providersTokens.opacityTokens.opaque; + @override + double get sizeAssetLarge => DimensionRawTokens.dimension500; + @override + double get sizeAssetMedium => providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + @override + double get sizeAssetSmall => providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + @override + double get sizeAssetXlarge => DimensionRawTokens.dimension700; + @override + double get sizeControlIndicator => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + @override + double get sizeCurrentIndicatorWidth => DimensionRawTokens.dimension50; + @override + double get sizeFlagHeight => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; @override double get sizeMaxWidth => DimensionRawTokens.dimension4000; @override - double get sizeMinHeight => DimensionRawTokens.dimension650; + double get sizeMinHeightCompact => providersTokens.sizeTokens.minInteractiveArea; + @override + double get sizeMinHeightDefault => DimensionRawTokens.dimension750; @override double get sizeMinWidth => DimensionRawTokens.dimension2000; @override double get spaceColumnGap => providersTokens.spaceTokens.columnGapMedium; @override - double get spacePaddingBlockDefault => providersTokens.spaceTokens.paddingBlockMedium; + double get spacePaddingBlockBottomSlot => providersTokens.spaceTokens.paddingBlock3xsmall; @override - double get spacePaddingBlockTopErrorText => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingBlockDensityCompact => providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingInline => providersTokens.spaceTokens.paddingInlineLarge; + double get spacePaddingBlockDensityCompactBottomExpandContainer => providersTokens.spaceTokens.paddingBlock2xlarge; + @override + double get spacePaddingBlockDensityCompactTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingInlineErrorIcon => providersTokens.spaceTokens.paddingInline4xsmall; + double get spacePaddingBlockDensityCompactTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlockNone; + @override + double get spacePaddingBlockDensityDefault => providersTokens.spaceTokens.paddingBlockMedium; + @override + double get spacePaddingBlockDensityDefaultBottomExpandContainer => providersTokens.spaceTokens.paddingBlock3xlarge; + @override + double get spacePaddingBlockDensityDefaultTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockSmall; + @override + double get spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlock4xsmall; + @override + double get spacePaddingBlockTopHelperText => providersTokens.spaceTokens.paddingBlockXsmall; + @override + double get spacePaddingInline => providersTokens.spaceTokens.paddingInlineLarge; @override double get spaceRowGap => providersTokens.spaceTokens.rowGapNone; } diff --git a/ouds_theme_sosh/lib/components/sosh_divider_tokens.dart b/ouds_theme_sosh/lib/components/sosh_divider_tokens.dart index 3276a956f..9d6dbed31 100644 --- a/ouds_theme_sosh/lib/components/sosh_divider_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_divider_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/ouds_tokens_provider.dart'; diff --git a/ouds_theme_sosh/lib/components/sosh_icon_tokens.dart b/ouds_theme_sosh/lib/components/sosh_icon_tokens.dart index eeb60d585..523d40cc2 100644 --- a/ouds_theme_sosh/lib/components/sosh_icon_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_icon_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -22,10 +22,12 @@ class SoshIconTokens extends OudsIconTokens { SoshIconTokens(this.providersTokens); - @override - Color get colorContentDefault => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.repositoryNeutralEmphasizedBlack, providersTokens.colorScheme.repositoryNeutralMutedLower); @override Color get colorContentStatusWarningExternalShape => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.repositoryWarningMedium, providersTokens.colorScheme.repositoryWarningLow); @override Color get colorContentStatusWarningInternalShape => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.repositoryWarningHigh, providersTokens.colorScheme.opacityTransparent); + @override + Color get colorContentStatusWarningInverseExternalShape => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.repositoryWarningLow, providersTokens.colorScheme.repositoryWarningMedium); + @override + Color get colorContentStatusWarningInverseInternalShape => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.opacityTransparent, providersTokens.colorScheme.repositoryWarningHigh); } diff --git a/ouds_theme_sosh/lib/components/sosh_inputTag_tokens.dart b/ouds_theme_sosh/lib/components/sosh_inputTag_tokens.dart index 2008b937c..c1435463c 100644 --- a/ouds_theme_sosh/lib/components/sosh_inputTag_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_inputTag_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_sosh/lib/components/sosh_linkMono_tokens.dart b/ouds_theme_sosh/lib/components/sosh_linkMono_tokens.dart index aad32e420..a0f7c4eae 100644 --- a/ouds_theme_sosh/lib/components/sosh_linkMono_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_linkMono_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_sosh/lib/components/sosh_link_tokens.dart b/ouds_theme_sosh/lib/components/sosh_link_tokens.dart index 77314f286..692e5433e 100644 --- a/ouds_theme_sosh/lib/components/sosh_link_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_link_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_sosh/lib/components/sosh_pinCodeInput_tokens.dart b/ouds_theme_sosh/lib/components/sosh_pinCodeInput_tokens.dart index 33ce5ac3b..697894522 100644 --- a/ouds_theme_sosh/lib/components/sosh_pinCodeInput_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_pinCodeInput_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; diff --git a/ouds_theme_sosh/lib/components/sosh_radioButton_tokens.dart b/ouds_theme_sosh/lib/components/sosh_radioButton_tokens.dart index 8b9c88c03..0fedcb48d 100644 --- a/ouds_theme_sosh/lib/components/sosh_radioButton_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_radioButton_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/ouds_tokens_provider.dart'; @@ -40,8 +40,6 @@ class SoshRadioButtonTokens extends OudsRadioButtonTokens { @override double get borderWidthUnselectedPressed => providersTokens.borderTokens.widthMedium; @override - double get sizeIndicator => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; - @override double get sizeMaxHeight => providersTokens.sizeTokens.minInteractiveArea; @override double get sizeMinHeight => providersTokens.sizeTokens.minInteractiveArea; diff --git a/ouds_theme_sosh/lib/components/sosh_skeleton_tokens.dart b/ouds_theme_sosh/lib/components/sosh_skeleton_tokens.dart index 710b68994..93f6b7c95 100644 --- a/ouds_theme_sosh/lib/components/sosh_skeleton_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_skeleton_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_sosh/lib/components/sosh_switch_tokens.dart b/ouds_theme_sosh/lib/components/sosh_switch_tokens.dart index 641b90b12..268229252 100644 --- a/ouds_theme_sosh/lib/components/sosh_switch_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_switch_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_sosh/lib/components/sosh_tag_tokens.dart b/ouds_theme_sosh/lib/components/sosh_tag_tokens.dart index c6fafee8d..c35774096 100644 --- a/ouds_theme_sosh/lib/components/sosh_tag_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_tag_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; @@ -35,9 +35,9 @@ class SoshTagTokens extends OudsTagTokens { @override double get sizeMinHeightSmall => DimensionRawTokens.dimension300; @override - double get sizeMinWidthDefault => DimensionRawTokens.dimension600; + double get sizeMinWidthDefault => DimensionRawTokens.dimension400; @override - double get sizeMinWidthSmall => DimensionRawTokens.dimension550; + double get sizeMinWidthSmall => DimensionRawTokens.dimension300; @override double get spaceColumnGapDefault => providersTokens.spaceTokens.columnGap2xsmall; @override diff --git a/ouds_theme_sosh/lib/components/sosh_textInput_tokens.dart b/ouds_theme_sosh/lib/components/sosh_textInput_tokens.dart index dddf53743..c3120fd5e 100644 --- a/ouds_theme_sosh/lib/components/sosh_textInput_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_textInput_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -28,7 +28,7 @@ class SoshTextInputTokens extends OudsTextInputTokens { @override double get borderRadiusRounded => providersTokens.borderTokens.radiusDefault; @override - double get borderWidthDefault => providersTokens.borderTokens.widthThin; + double get borderWidthDefault => providersTokens.borderTokens.widthDefault; @override double get borderWidthFocus => providersTokens.borderTokens.widthMedium; @override @@ -58,6 +58,10 @@ class SoshTextInputTokens extends OudsTextInputTokens { @override double get spaceColumnGapInlineText => providersTokens.spaceTokens.columnGapXsmall; @override + double get spaceColumnGapLabelAsterisk => providersTokens.spaceTokens.columnGap2xsmall; + @override + double get spaceColumnGapLabelSmallAsterisk => DimensionRawTokens.dimensionOutOfSystem75; + @override double get spaceColumnGapTrailingErrorAction => providersTokens.spaceTokens.columnGapXsmall; @override double get spacePaddingBlockDefault => providersTokens.spaceTokens.paddingBlock2xsmall; diff --git a/ouds_theme_sosh/lib/raw/sosh_color_raw_tokens.dart b/ouds_theme_sosh/lib/raw/sosh_color_raw_tokens.dart index 2427986ec..547348d66 100644 --- a/ouds_theme_sosh/lib/raw/sosh_color_raw_tokens.dart +++ b/ouds_theme_sosh/lib/raw/sosh_color_raw_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh core tokens version 1.2.0 +// Sosh core tokens version 1.3.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -63,6 +63,7 @@ class SoshColorRawTokens { static const colorMagenta800 = Color(0xff590d20); static const colorMagenta900 = Color(0xff2c0710); static const colorMagenta950 = Color(0xff160308); + static const colorOpacityBlueDuckDark960800 = Color(0xcc061618); static const colorOpacityMagenta120 = Color(0x1fe55277); /** Test for support Figma */ static const colorOpacityMagenta640 = Color(0xa3851430); /** Test for support Figma */ } \ No newline at end of file diff --git a/ouds_theme_sosh/lib/semantic/sosh_border_semantic_tokens.dart b/ouds_theme_sosh/lib/semantic/sosh_border_semantic_tokens.dart index 6e46c1c7d..539e9b03b 100644 --- a/ouds_theme_sosh/lib/semantic/sosh_border_semantic_tokens.dart +++ b/ouds_theme_sosh/lib/semantic/sosh_border_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_border_semantic_tokens.dart'; diff --git a/ouds_theme_sosh/lib/semantic/sosh_color_action_semantic_tokens.dart b/ouds_theme_sosh/lib/semantic/sosh_color_action_semantic_tokens.dart index 0df23d6f5..bcb5bb84e 100644 --- a/ouds_theme_sosh/lib/semantic/sosh_color_action_semantic_tokens.dart +++ b/ouds_theme_sosh/lib/semantic/sosh_color_action_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_sosh/raw/sosh_color_raw_tokens.dart'; @@ -29,8 +29,6 @@ class SoshColorActionSemanticTokens extends OudsColorActionSemanticTokens { super.actionHighlightedLight = SoshColorRawTokens.colorBlueDuckDark400, super.actionHoverDark = ColorRawTokens.colorFunctionalGrayLight160, super.actionHoverLight = ColorRawTokens.colorFunctionalBlack, - super.actionIosAccentDark = SoshColorRawTokens.colorBlueDuckLight800, - super.actionIosAccentLight = SoshColorRawTokens.colorMagenta500, super.actionLoadingDark = SoshColorRawTokens.colorCitrine300, super.actionLoadingLight = SoshColorRawTokens.colorBlueDuckDark400, super.actionNegativeEnabledDark = ColorRawTokens.colorFunctionalScarlet300, diff --git a/ouds_theme_sosh/lib/semantic/sosh_color_always_semantic_tokens.dart b/ouds_theme_sosh/lib/semantic/sosh_color_always_semantic_tokens.dart index 17cee8fc3..9e6b175d2 100644 --- a/ouds_theme_sosh/lib/semantic/sosh_color_always_semantic_tokens.dart +++ b/ouds_theme_sosh/lib/semantic/sosh_color_always_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_color_always_semantic_tokens.dart'; diff --git a/ouds_theme_sosh/lib/semantic/sosh_color_bg_semantic_tokens.dart b/ouds_theme_sosh/lib/semantic/sosh_color_bg_semantic_tokens.dart index 77d4a22d1..0f84195e2 100644 --- a/ouds_theme_sosh/lib/semantic/sosh_color_bg_semantic_tokens.dart +++ b/ouds_theme_sosh/lib/semantic/sosh_color_bg_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_sosh/raw/sosh_color_raw_tokens.dart'; diff --git a/ouds_theme_sosh/lib/semantic/sosh_color_border_semantic_tokens.dart b/ouds_theme_sosh/lib/semantic/sosh_color_border_semantic_tokens.dart index 0851eea58..f7da729b9 100644 --- a/ouds_theme_sosh/lib/semantic/sosh_color_border_semantic_tokens.dart +++ b/ouds_theme_sosh/lib/semantic/sosh_color_border_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_sosh/raw/sosh_color_raw_tokens.dart'; @@ -27,7 +27,7 @@ class SoshColorBorderSemanticTokens extends OudsColorBorderSemanticTokens { super.borderBrandTertiaryLight = SoshColorRawTokens.colorCitrine500, super.borderDefaultDark = ColorRawTokens.colorOpacityWhite200, super.borderDefaultLight = ColorRawTokens.colorOpacityBlack200, - super.borderEmphasizedDark = ColorRawTokens.colorOpacityWhite920, + super.borderEmphasizedDark = ColorRawTokens.colorFunctionalGrayLight160, super.borderEmphasizedLight = ColorRawTokens.colorFunctionalBlack, super.borderFocusDark = ColorRawTokens.colorFunctionalGrayLight160, super.borderFocusInsetDark = ColorRawTokens.colorFunctionalGrayDark880, diff --git a/ouds_theme_sosh/lib/semantic/sosh_color_content_semantic_tokens.dart b/ouds_theme_sosh/lib/semantic/sosh_color_content_semantic_tokens.dart index e97e02697..cd83f6fdb 100644 --- a/ouds_theme_sosh/lib/semantic/sosh_color_content_semantic_tokens.dart +++ b/ouds_theme_sosh/lib/semantic/sosh_color_content_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_sosh/raw/sosh_color_raw_tokens.dart'; @@ -79,6 +79,14 @@ class SoshColorContentSemanticTokens extends OudsColorContentSemanticTokens { super.contentStatusAccentLight = SoshColorRawTokens.colorMagenta500, super.contentStatusInfoDark = ColorRawTokens.colorFunctionalDodgerBlue300, super.contentStatusInfoLight = ColorRawTokens.colorFunctionalDodgerBlue700, + super.contentStatusInverseInfoDark = ColorRawTokens.colorFunctionalDodgerBlue700, + super.contentStatusInverseInfoLight = ColorRawTokens.colorFunctionalDodgerBlue300, + super.contentStatusInverseNegativeDark = ColorRawTokens.colorFunctionalScarlet600, + super.contentStatusInverseNegativeLight = ColorRawTokens.colorFunctionalScarlet300, + super.contentStatusInversePositiveDark = ColorRawTokens.colorFunctionalMalachite750, + super.contentStatusInversePositiveLight = ColorRawTokens.colorFunctionalMalachite300, + super.contentStatusInverseWarningDark = ColorRawTokens.colorFunctionalSun750, + super.contentStatusInverseWarningLight = ColorRawTokens.colorFunctionalSun300, super.contentStatusNegativeDark = ColorRawTokens.colorFunctionalScarlet300, super.contentStatusNegativeLight = ColorRawTokens.colorFunctionalScarlet600, super.contentStatusPositiveDark = ColorRawTokens.colorFunctionalMalachite300, diff --git a/ouds_theme_sosh/lib/semantic/sosh_color_opacity_semantic_tokens.dart b/ouds_theme_sosh/lib/semantic/sosh_color_opacity_semantic_tokens.dart index 71f6ed9ec..34a7dd97d 100644 --- a/ouds_theme_sosh/lib/semantic/sosh_color_opacity_semantic_tokens.dart +++ b/ouds_theme_sosh/lib/semantic/sosh_color_opacity_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_color_opacity_semantic_tokens.dart'; diff --git a/ouds_theme_sosh/lib/semantic/sosh_color_overlay_semantic_tokens.dart b/ouds_theme_sosh/lib/semantic/sosh_color_overlay_semantic_tokens.dart index e0bff0753..55dadbd4c 100644 --- a/ouds_theme_sosh/lib/semantic/sosh_color_overlay_semantic_tokens.dart +++ b/ouds_theme_sosh/lib/semantic/sosh_color_overlay_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_sosh/raw/sosh_color_raw_tokens.dart'; @@ -19,12 +19,14 @@ import 'package:ouds_global_raw_tokens/color_raw_tokens.dart'; class SoshColorOverlaySemanticTokens extends OudsColorOverlaySemanticTokens { const SoshColorOverlaySemanticTokens({ + super.overlayBackdropDark = ColorRawTokens.colorOpacityBlack680, + super.overlayBackdropLight = ColorRawTokens.colorOpacityBlack680, super.overlayDragDark = ColorRawTokens.colorOpacityWhite80, super.overlayDragLight = ColorRawTokens.colorOpacityBlack40, super.overlayDropdownDark = ColorRawTokens.colorFunctionalGrayDark560, super.overlayDropdownLight = ColorRawTokens.colorFunctionalWhite, - super.overlayModalDark = SoshColorRawTokens.colorBlueDuckDark720, - super.overlayModalLight = ColorRawTokens.colorFunctionalWhite, + super.overlayModalSheetDark = SoshColorRawTokens.colorBlueDuckDark800, + super.overlayModalSheetLight = ColorRawTokens.colorFunctionalWhite, super.overlayTooltipDark = ColorRawTokens.colorFunctionalGrayDark560, super.overlayTooltipLight = ColorRawTokens.colorFunctionalGrayDark720, }); diff --git a/ouds_theme_sosh/lib/semantic/sosh_color_repository_semantic_tokens.dart b/ouds_theme_sosh/lib/semantic/sosh_color_repository_semantic_tokens.dart index 062cb3367..ac410e373 100644 --- a/ouds_theme_sosh/lib/semantic/sosh_color_repository_semantic_tokens.dart +++ b/ouds_theme_sosh/lib/semantic/sosh_color_repository_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -109,7 +109,8 @@ class SoshColorRepositorySemanticTokens extends OudsColorRepositorySemanticToken super.repositoryPrimaryLowest = SoshColorRawTokens.colorMagenta50, super.repositoryPrimaryMedium = SoshColorRawTokens.colorMagenta500, super.repositorySecondaryHigh = SoshColorRawTokens.colorBlueDuckDark720, - super.repositorySecondaryHigher = SoshColorRawTokens.colorBlueDuckDark880, + super.repositorySecondaryHigherHigh = SoshColorRawTokens.colorBlueDuckDark880, + super.repositorySecondaryHigherLow = SoshColorRawTokens.colorBlueDuckDark800, super.repositorySecondaryHighest = SoshColorRawTokens.colorBlueDuckDark960, super.repositorySecondaryLow = SoshColorRawTokens.colorBlueDuckDark400, super.repositorySecondaryLower = SoshColorRawTokens.colorBlueDuckLight800, diff --git a/ouds_theme_sosh/lib/semantic/sosh_color_surface_semantic_tokens.dart b/ouds_theme_sosh/lib/semantic/sosh_color_surface_semantic_tokens.dart index 1e16c6f07..416180d5b 100644 --- a/ouds_theme_sosh/lib/semantic/sosh_color_surface_semantic_tokens.dart +++ b/ouds_theme_sosh/lib/semantic/sosh_color_surface_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_sosh/raw/sosh_color_raw_tokens.dart'; diff --git a/ouds_theme_sosh/lib/semantic/sosh_effect_semantic_tokens.dart b/ouds_theme_sosh/lib/semantic/sosh_effect_semantic_tokens.dart index 18020c378..b6f8b151b 100644 --- a/ouds_theme_sosh/lib/semantic/sosh_effect_semantic_tokens.dart +++ b/ouds_theme_sosh/lib/semantic/sosh_effect_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_effect_semantic_tokens.dart'; @@ -18,5 +18,5 @@ import 'package:ouds_global_raw_tokens/effect_raw_tokens.dart'; class SoshEffectSemanticTokens extends OudsEffectSemanticTokens { @override - int get blurDrag => EffectRawTokens.effectBlur320; + int get blurDrag => EffectRawTokens.effectBlur480; } diff --git a/ouds_theme_sosh/lib/semantic/sosh_font_semantic_tokens.dart b/ouds_theme_sosh/lib/semantic/sosh_font_semantic_tokens.dart index 6829d74b7..2e34c9880 100644 --- a/ouds_theme_sosh/lib/semantic/sosh_font_semantic_tokens.dart +++ b/ouds_theme_sosh/lib/semantic/sosh_font_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_sosh/lib/semantic/sosh_grid_semantic_tokens.dart b/ouds_theme_sosh/lib/semantic/sosh_grid_semantic_tokens.dart index 61d0a0d62..84673de53 100644 --- a/ouds_theme_sosh/lib/semantic/sosh_grid_semantic_tokens.dart +++ b/ouds_theme_sosh/lib/semantic/sosh_grid_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_grid_semantic_tokens.dart'; @@ -18,7 +18,7 @@ import 'package:ouds_global_raw_tokens/grid_raw_tokens.dart'; class SoshGridSemanticTokens extends OudsGridSemanticTokens { @override - double get compactColumnGap => GridRawTokens.gridColumnGap100; + double get compactColumnGap => GridRawTokens.gridColumnGap200; @override double get compactMargin => GridRawTokens.gridMargin300; @override diff --git a/ouds_theme_sosh/lib/semantic/sosh_opacity_semantic_tokens.dart b/ouds_theme_sosh/lib/semantic/sosh_opacity_semantic_tokens.dart index 66d584dd9..f3649a50a 100644 --- a/ouds_theme_sosh/lib/semantic/sosh_opacity_semantic_tokens.dart +++ b/ouds_theme_sosh/lib/semantic/sosh_opacity_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_opacity_semantic_tokens.dart'; diff --git a/ouds_theme_sosh/lib/semantic/sosh_size_semantic_tokens.dart b/ouds_theme_sosh/lib/semantic/sosh_size_semantic_tokens.dart index e14b99655..c819c7506 100644 --- a/ouds_theme_sosh/lib/semantic/sosh_size_semantic_tokens.dart +++ b/ouds_theme_sosh/lib/semantic/sosh_size_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_size_semantic_tokens.dart'; @@ -126,7 +126,7 @@ class SoshSizeSemanticTokens extends OudsSizeSemanticTokens { @override double get iconWithLabelLargeSizeSmall => DimensionRawTokens.dimension300; @override - double get iconWithLabelLargeSizeXlarge => DimensionRawTokens.dimension550; + double get iconWithLabelLargeSizeXlarge => DimensionRawTokens.dimension450; @override double get iconWithLabelLargeSizeXsmall => DimensionRawTokens.dimension250; @override @@ -146,67 +146,69 @@ class SoshSizeSemanticTokens extends OudsSizeSemanticTokens { @override double get iconWithLabelSmallSizeXsmall => DimensionRawTokens.dimensionOutOfSystem250; @override - double get iconWithLabelXlargeSizeLarge => DimensionRawTokens.dimension550; + double get iconWithLabelXlargeSizeLarge => DimensionRawTokens.dimension500; @override - double get iconWithLabelXlargeSizeMedium => DimensionRawTokens.dimension500; + double get iconWithLabelXlargeSizeMedium => DimensionRawTokens.dimension450; @override double get iconWithLabelXlargeSizeSmall => DimensionRawTokens.dimension400; @override - double get maxWidthTypeBodyLargeMobile => DimensionRawTokens.dimension6000; + double get iconWithLabelXlargeSizeXsmall => DimensionRawTokens.dimension350; @override - double get maxWidthTypeBodyLargeTablet => DimensionRawTokens.dimension6000; + double get maxWidthBodyLargeMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeBodyMediumMobile => DimensionRawTokens.dimension6000; + double get maxWidthBodyLargeTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeBodyMediumTablet => DimensionRawTokens.dimension6000; + double get maxWidthBodyMediumMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeBodySmallMobile => DimensionRawTokens.dimension6000; + double get maxWidthBodyMediumTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeBodySmallTablet => DimensionRawTokens.dimension6000; + double get maxWidthBodySmallMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeDisplayLargeMobile => DimensionRawTokens.dimension9000; + double get maxWidthBodySmallTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeDisplayLargeTablet => DimensionRawTokens.dimension9000; + double get maxWidthDisplayLargeMobile => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeDisplayMediumMobile => DimensionRawTokens.dimension9000; + double get maxWidthDisplayLargeTablet => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeDisplayMediumTablet => DimensionRawTokens.dimension9000; + double get maxWidthDisplayMediumMobile => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeDisplaySmallMobile => DimensionRawTokens.dimension9000; + double get maxWidthDisplayMediumTablet => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeDisplaySmallTablet => DimensionRawTokens.dimension9000; + double get maxWidthDisplaySmallMobile => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeHeadingLargeMobile => DimensionRawTokens.dimension7000; + double get maxWidthDisplaySmallTablet => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeHeadingLargeTablet => DimensionRawTokens.dimension9000; + double get maxWidthHeadingLargeMobile => DimensionRawTokens.dimension7000; @override - double get maxWidthTypeHeadingMediumMobile => DimensionRawTokens.dimension7000; + double get maxWidthHeadingLargeTablet => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeHeadingMediumTablet => DimensionRawTokens.dimension7000; + double get maxWidthHeadingMediumMobile => DimensionRawTokens.dimension7000; @override - double get maxWidthTypeHeadingSmallMobile => DimensionRawTokens.dimension6000; + double get maxWidthHeadingMediumTablet => DimensionRawTokens.dimension7000; @override - double get maxWidthTypeHeadingSmallTablet => DimensionRawTokens.dimension7000; + double get maxWidthHeadingSmallMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeHeadingXlargeMobile => DimensionRawTokens.dimension7000; + double get maxWidthHeadingSmallTablet => DimensionRawTokens.dimension7000; @override - double get maxWidthTypeHeadingXlargeTablet => DimensionRawTokens.dimension9000; + double get maxWidthHeadingXlargeMobile => DimensionRawTokens.dimension7000; @override - double get maxWidthTypeLabelLargeMobile => DimensionRawTokens.dimension6000; + double get maxWidthHeadingXlargeTablet => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeLabelLargeTablet => DimensionRawTokens.dimension6000; + double get maxWidthLabelLargeMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelMediumMobile => DimensionRawTokens.dimension6000; + double get maxWidthLabelLargeTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelMediumTablet => DimensionRawTokens.dimension6000; + double get maxWidthLabelMediumMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelSmallMobile => DimensionRawTokens.dimension6000; + double get maxWidthLabelMediumTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelSmallTablet => DimensionRawTokens.dimension6000; + double get maxWidthLabelSmallMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelXlargeMobile => DimensionRawTokens.dimension6000; + double get maxWidthLabelSmallTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelXlargeTablet => DimensionRawTokens.dimension6000; + double get maxWidthLabelXlargeMobile => DimensionRawTokens.dimension6000; + @override + double get maxWidthLabelXlargeTablet => DimensionRawTokens.dimension6000; @override double get minInteractiveArea => DimensionRawTokens.dimension600; } diff --git a/ouds_theme_sosh/lib/semantic/sosh_space_semantic_tokens.dart b/ouds_theme_sosh/lib/semantic/sosh_space_semantic_tokens.dart index 8b83ad2ed..fbb387530 100644 --- a/ouds_theme_sosh/lib/semantic/sosh_space_semantic_tokens.dart +++ b/ouds_theme_sosh/lib/semantic/sosh_space_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Sosh brand tokens version 2.3.0 +// Sosh brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_space_semantic_tokens.dart'; diff --git a/ouds_theme_wireframe/lib/components/wireframe_alert_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_alert_tokens.dart index 9bbf5d78d..fea3658e3 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_alert_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_alert_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; diff --git a/ouds_theme_wireframe/lib/components/wireframe_badge_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_badge_tokens.dart index d74ebbfeb..621aca7fe 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_badge_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_badge_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; @@ -31,7 +31,11 @@ class WireframeBadgeTokens extends OudsBadgeTokens { @override double get sizeXsmall => DimensionRawTokens.dimension100; @override - double get spaceInset => DimensionRawTokens.dimensionOutOfSystem75; + double get spaceInsetMediumLarge => DimensionRawTokens.dimensionOutOfSystem75; + @override + double get spaceInsetSmall => DimensionRawTokens.dimensionOutOfSystem50; + @override + double get spaceInsetXsmall => DimensionRawTokens.dimensionOutOfSystem25; @override double get spacePaddingInlineLarge => providersTokens.spaceTokens.paddingInline2xsmall; @override diff --git a/ouds_theme_wireframe/lib/components/wireframe_bar_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_bar_tokens.dart index 5b0f277da..3bbb24103 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_bar_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_bar_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -26,71 +26,71 @@ class WireframeBarTokens extends OudsBarTokens { WireframeBarTokens(this.providersTokens); @override - double get borderRadiusActiveIndicatorCustomBottom => providersTokens.borderTokens.radiusPill; + double get borderRadiusCurrentIndicatorCustomBottom => providersTokens.borderTokens.radiusPill; @override - double get borderRadiusActiveIndicatorCustomTop => providersTokens.borderTokens.radiusDefault; + double get borderRadiusCurrentIndicatorCustomTop => providersTokens.borderTokens.radiusDefault; @override - Color get colorActiveIndicatorAndroidSelectedDisabled => providersTokens.colorScheme.actionSupportDisabled; + Color get colorBgOpaque => providersTokens.colorScheme.bgSecondary; @override - Color get colorActiveIndicatorAndroidSelectedEnabled => providersTokens.colorScheme.actionSupportEnabled; + Color get colorBgTranslucentDark => ColorRawTokens.colorOpacityGrayDark880800; @override - Color get colorActiveIndicatorAndroidSelectedFocus => providersTokens.colorScheme.actionSupportFocus; + Color get colorBgTranslucentLight => ColorRawTokens.colorOpacityWhite800; @override - Color get colorActiveIndicatorAndroidSelectedHover => providersTokens.colorScheme.actionSupportHover; + Color get colorBorderBadge => providersTokens.colorScheme.bgSecondary; @override - Color get colorActiveIndicatorAndroidSelectedPressed => providersTokens.colorScheme.actionSupportPressed; + Color get colorContentOnIosAccent => providersTokens.colorScheme.contentOnActionSelected; @override - Color get colorActiveIndicatorAndroidUnselectedDisabled => providersTokens.colorScheme.actionSupportDisabled; + Color get colorContentSelectedEnabled => providersTokens.colorScheme.actionSelected; @override - Color get colorActiveIndicatorAndroidUnselectedFocus => providersTokens.colorScheme.actionSupportFocus; + Color get colorContentSelectedFocus => providersTokens.colorScheme.actionFocus; @override - Color get colorActiveIndicatorAndroidUnselectedHover => providersTokens.colorScheme.actionSupportHover; + Color get colorContentSelectedHover => providersTokens.colorScheme.actionHover; @override - Color get colorActiveIndicatorAndroidUnselectedPressed => providersTokens.colorScheme.actionSupportPressed; + Color get colorContentSelectedPressed => providersTokens.colorScheme.actionPressed; @override - Color get colorActiveIndicatorCustomSelectedEnabled => providersTokens.colorScheme.actionSelected; + Color get colorContentUnselectedEnabled => providersTokens.colorScheme.contentMuted; @override - Color get colorActiveIndicatorCustomSelectedFocus => providersTokens.colorScheme.actionFocus; + Color get colorContentUnselectedFocus => providersTokens.colorScheme.actionFocus; @override - Color get colorActiveIndicatorCustomSelectedHover => providersTokens.colorScheme.actionHover; + Color get colorContentUnselectedHover => providersTokens.colorScheme.actionHover; @override - Color get colorActiveIndicatorCustomSelectedPressed => providersTokens.colorScheme.actionPressed; + Color get colorContentUnselectedPressed => providersTokens.colorScheme.actionPressed; @override - Color get colorBgOpaque => providersTokens.colorScheme.bgSecondary; + Color get colorCurrentIndicatorAndroidSelectedDisabled => providersTokens.colorScheme.actionSupportDisabled; @override - Color get colorBgTranslucentDark => ColorRawTokens.colorOpacityGrayDark800800; + Color get colorCurrentIndicatorAndroidSelectedEnabled => providersTokens.colorScheme.actionSupportEnabled; @override - Color get colorBgTranslucentLight => ColorRawTokens.colorOpacityGrayLight80800; + Color get colorCurrentIndicatorAndroidSelectedFocus => providersTokens.colorScheme.actionSupportFocus; @override - Color get colorBorderBadge => providersTokens.colorScheme.bgSecondary; + Color get colorCurrentIndicatorAndroidSelectedHover => providersTokens.colorScheme.actionSupportHover; @override - Color get colorContentOnIosAccent => providersTokens.colorScheme.contentOnActionSelected; + Color get colorCurrentIndicatorAndroidSelectedPressed => providersTokens.colorScheme.actionSupportPressed; @override - Color get colorContentSelectedEnabled => providersTokens.colorScheme.actionSelected; + Color get colorCurrentIndicatorAndroidUnselectedDisabled => providersTokens.colorScheme.actionSupportDisabled; @override - Color get colorContentSelectedFocus => providersTokens.colorScheme.actionFocus; + Color get colorCurrentIndicatorAndroidUnselectedFocus => providersTokens.colorScheme.actionSupportFocus; @override - Color get colorContentSelectedHover => providersTokens.colorScheme.actionHover; + Color get colorCurrentIndicatorAndroidUnselectedHover => providersTokens.colorScheme.actionSupportHover; @override - Color get colorContentSelectedPressed => providersTokens.colorScheme.actionPressed; + Color get colorCurrentIndicatorAndroidUnselectedPressed => providersTokens.colorScheme.actionSupportPressed; @override - Color get colorContentUnselectedEnabledDark => ColorRawTokens.colorOpacityWhite600; + Color get colorCurrentIndicatorCustomSelectedEnabled => providersTokens.colorScheme.actionSelected; @override - Color get colorContentUnselectedEnabledLight => ColorRawTokens.colorOpacityBlack600; + Color get colorCurrentIndicatorCustomSelectedFocus => providersTokens.colorScheme.actionFocus; @override - Color get colorContentUnselectedFocus => providersTokens.colorScheme.actionFocus; + Color get colorCurrentIndicatorCustomSelectedHover => providersTokens.colorScheme.actionHover; @override - Color get colorContentUnselectedHover => providersTokens.colorScheme.actionHover; + Color get colorCurrentIndicatorCustomSelectedPressed => providersTokens.colorScheme.actionPressed; @override - Color get colorContentUnselectedPressed => providersTokens.colorScheme.actionPressed; + Color get colorIosAccent => providersTokens.colorScheme.actionSelected; @override - int get effectBgBlur => EffectRawTokens.effectBlur160; + int get effectBgBlur => EffectRawTokens.effectBlur320; @override - double get opacityActiveIndicatorCustom => providersTokens.opacityTokens.invisible; + double get opacityCurrentIndicatorCustom => providersTokens.opacityTokens.invisible; @override - double get sizeHeightActiveIndicatorCustom => DimensionRawTokens.dimensionOutOfSystem75; + double get sizeHeightCurrentIndicatorCustom => DimensionRawTokens.dimensionOutOfSystem75; @override - double get sizeWidthActiveIndicatorCustomBottom => DimensionRawTokens.dimension300; + double get sizeWidthCurrentIndicatorCustomBottom => DimensionRawTokens.dimension300; @override - double get sizeWidthActiveIndicatorCustomTop => DimensionRawTokens.dimension650; + double get sizeWidthCurrentIndicatorCustomTop => DimensionRawTokens.dimension500; } diff --git a/ouds_theme_wireframe/lib/components/wireframe_bulletList_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_bulletList_tokens.dart index 885433280..acf68efbe 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_bulletList_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_bulletList_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; diff --git a/ouds_theme_wireframe/lib/components/wireframe_buttonMono_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_buttonMono_tokens.dart index 17b3ce094..73beefd5d 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_buttonMono_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_buttonMono_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_wireframe/lib/components/wireframe_button_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_button_tokens.dart index 709970e6e..cbeac62c4 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_button_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_button_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -41,9 +41,9 @@ class WireframeButtonTokens extends OudsButtonTokens { @override Color get colorBgBrandHover => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.repositorySecondaryHigh, providersTokens.colorScheme.repositorySecondaryLower); @override - Color get colorBgBrandLoading => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.repositorySecondaryHigher, providersTokens.colorScheme.repositorySecondaryLowest); + Color get colorBgBrandLoading => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.repositorySecondaryHigherHigh, providersTokens.colorScheme.repositorySecondaryLowest); @override - Color get colorBgBrandPressed => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.repositorySecondaryHigher, providersTokens.colorScheme.repositorySecondaryLowest); + Color get colorBgBrandPressed => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.repositorySecondaryHigherHigh, providersTokens.colorScheme.repositorySecondaryLowest); @override Color get colorBgDefaultDisabled => providersTokens.colorScheme.actionDisabled; @override diff --git a/ouds_theme_wireframe/lib/components/wireframe_checkbox_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_checkbox_tokens.dart index fb59094e5..b1c523a25 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_checkbox_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_checkbox_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/ouds_tokens_provider.dart'; @@ -40,8 +40,6 @@ class WireframeCheckboxTokens extends OudsCheckboxTokens { @override double get borderWidthUnselectedPressed => providersTokens.borderTokens.widthMedium; @override - double get sizeIndicator => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; - @override double get sizeMaxHeight => providersTokens.sizeTokens.minInteractiveArea; @override double get sizeMinHeight => providersTokens.sizeTokens.minInteractiveArea; diff --git a/ouds_theme_wireframe/lib/components/wireframe_chip_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_chip_tokens.dart index 9aab2e068..5138287b5 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_chip_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_chip_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_wireframe/lib/components/wireframe_controlItem_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_controlItem_tokens.dart index db59dafdc..575822833 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_controlItem_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_controlItem_tokens.dart @@ -10,11 +10,12 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; +import 'package:ouds_global_raw_tokens/font_raw_tokens.dart'; import 'package:ouds_theme_contract/ouds_tokens_provider.dart'; import 'package:ouds_theme_contract/theme/tokens/components/ouds_controlItem_tokens.dart'; @@ -24,43 +25,97 @@ class WireframeControlItemTokens extends OudsControlItemTokens { WireframeControlItemTokens(this.providersTokens); @override - double get borderRadius => providersTokens.borderTokens.radiusNone; + double get borderRadiusCurrentIndicator => providersTokens.borderTokens.radiusDefault; @override - double get borderRadiusItemOnly => providersTokens.borderTokens.radiusDefault; + double get borderRadiusDefault => providersTokens.borderTokens.radiusDefault; @override - Color get colorBgFocus => providersTokens.colorScheme.actionSupportFocus; + double get borderRadiusMedia => providersTokens.borderTokens.radiusDefault; @override - Color get colorBgHover => providersTokens.colorScheme.actionSupportHover; + double get borderRadiusMediaRoundedCorner => providersTokens.borderTokens.radiusSmall; @override - Color get colorBgLoading => providersTokens.colorScheme.actionSupportLoading; + double get borderRadiusRounded => providersTokens.borderTokens.radiusDefault; @override - Color get colorBgPressed => providersTokens.colorScheme.actionSupportPressed; + double get borderWidthCurrentPage => providersTokens.borderTokens.widthMedium; @override - Color get colorContentLoader => providersTokens.colorScheme.actionLoading; + double get borderWidthDefault => providersTokens.borderTokens.widthDefault; @override - double get sizeErrorIcon => providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + Color get colorBadgeSafetyArea => providersTokens.colorScheme.bgPrimary; @override - double get sizeIcon => providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + Color get colorBgCurrentDisabled => providersTokens.colorScheme.actionDisabled; @override - double get sizeLoader => providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + Color get colorBgCurrentEnabled => providersTokens.colorScheme.actionSelected; @override - double get sizeMaxHeightAssetsContainer => DimensionRawTokens.dimension1200; + Color get colorBgCurrentFocus => providersTokens.colorScheme.actionFocus; + @override + Color get colorBgCurrentHover => providersTokens.colorScheme.actionHover; + @override + Color get colorBgCurrentPressed => providersTokens.colorScheme.actionPressed; + @override + Color get colorContentCurrentDisabled => providersTokens.colorScheme.contentOnActionDisabled; + @override + Color get colorContentCurrentEnabled => providersTokens.colorScheme.contentOnActionSelected; + @override + Color get colorContentCurrentFocus => providersTokens.colorScheme.contentOnActionFocus; + @override + Color get colorContentCurrentHover => providersTokens.colorScheme.contentOnActionHover; + @override + Color get colorContentCurrentPressed => providersTokens.colorScheme.contentOnActionPressed; + @override + double get fontLetterSpacingAvatarInitialXlarge => FontRawTokens.fontLetterSpacing450; + @override + double get fontLineHeightAvatarInitialXlarge => FontRawTokens.fontLineHeight650; + @override + double get fontSizeAvatarInitialXlarge => FontRawTokens.fontSize450; + @override + double get opacityCurrentDivider => providersTokens.opacityTokens.invisible; + @override + double get opacityCurrentIndicator => providersTokens.opacityTokens.invisible; + @override + double get sizeAssetLarge => DimensionRawTokens.dimension500; + @override + double get sizeAssetMedium => providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + @override + double get sizeAssetSmall => providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + @override + double get sizeAssetXlarge => DimensionRawTokens.dimension700; + @override + double get sizeControlIndicator => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + @override + double get sizeCurrentIndicatorWidth => DimensionRawTokens.dimension50; + @override + double get sizeFlagHeight => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; @override double get sizeMaxWidth => DimensionRawTokens.dimension4000; @override - double get sizeMinHeight => DimensionRawTokens.dimension650; + double get sizeMinHeightCompact => providersTokens.sizeTokens.minInteractiveArea; + @override + double get sizeMinHeightDefault => DimensionRawTokens.dimension750; @override double get sizeMinWidth => DimensionRawTokens.dimension2000; @override double get spaceColumnGap => providersTokens.spaceTokens.columnGapMedium; @override - double get spacePaddingBlockDefault => providersTokens.spaceTokens.paddingBlockMedium; + double get spacePaddingBlockBottomSlot => providersTokens.spaceTokens.paddingBlock3xsmall; @override - double get spacePaddingBlockTopErrorText => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingBlockDensityCompact => providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingInline => providersTokens.spaceTokens.paddingInlineLarge; + double get spacePaddingBlockDensityCompactBottomExpandContainer => providersTokens.spaceTokens.paddingBlock2xlarge; + @override + double get spacePaddingBlockDensityCompactTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingInlineErrorIcon => providersTokens.spaceTokens.paddingInline4xsmall; + double get spacePaddingBlockDensityCompactTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlockNone; + @override + double get spacePaddingBlockDensityDefault => providersTokens.spaceTokens.paddingBlockMedium; + @override + double get spacePaddingBlockDensityDefaultBottomExpandContainer => providersTokens.spaceTokens.paddingBlock3xlarge; + @override + double get spacePaddingBlockDensityDefaultTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockSmall; + @override + double get spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlock4xsmall; + @override + double get spacePaddingBlockTopHelperText => providersTokens.spaceTokens.paddingBlockXsmall; + @override + double get spacePaddingInline => providersTokens.spaceTokens.paddingInlineLarge; @override double get spaceRowGap => providersTokens.spaceTokens.rowGapNone; } diff --git a/ouds_theme_wireframe/lib/components/wireframe_divider_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_divider_tokens.dart index 003f0a3e2..e44c8669a 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_divider_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_divider_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/ouds_tokens_provider.dart'; diff --git a/ouds_theme_wireframe/lib/components/wireframe_icon_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_icon_tokens.dart index 5b29b6a93..655d36423 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_icon_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_icon_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -22,10 +22,12 @@ class WireframeIconTokens extends OudsIconTokens { WireframeIconTokens(this.providersTokens); - @override - Color get colorContentDefault => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.repositoryNeutralEmphasizedBlack, providersTokens.colorScheme.repositoryNeutralMutedLower); @override Color get colorContentStatusWarningExternalShape => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.repositoryWarningMedium, providersTokens.colorScheme.repositoryWarningLow); @override Color get colorContentStatusWarningInternalShape => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.repositoryWarningHigh, providersTokens.colorScheme.opacityTransparent); + @override + Color get colorContentStatusWarningInverseExternalShape => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.repositoryWarningLow, providersTokens.colorScheme.repositoryWarningMedium); + @override + Color get colorContentStatusWarningInverseInternalShape => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.opacityTransparent, providersTokens.colorScheme.repositoryWarningHigh); } diff --git a/ouds_theme_wireframe/lib/components/wireframe_inputTag_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_inputTag_tokens.dart index 014e6f5f3..706c6ed9e 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_inputTag_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_inputTag_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_wireframe/lib/components/wireframe_linkMono_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_linkMono_tokens.dart index 7eaed3dc9..041144a6e 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_linkMono_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_linkMono_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_wireframe/lib/components/wireframe_link_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_link_tokens.dart index cd3ed420d..a877e07b6 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_link_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_link_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_wireframe/lib/components/wireframe_pinCodeInput_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_pinCodeInput_tokens.dart index e3149c366..0c0a03d86 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_pinCodeInput_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_pinCodeInput_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; diff --git a/ouds_theme_wireframe/lib/components/wireframe_radioButton_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_radioButton_tokens.dart index 92df2f4eb..0d3d9115c 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_radioButton_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_radioButton_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/ouds_tokens_provider.dart'; @@ -40,8 +40,6 @@ class WireframeRadioButtonTokens extends OudsRadioButtonTokens { @override double get borderWidthUnselectedPressed => providersTokens.borderTokens.widthMedium; @override - double get sizeIndicator => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; - @override double get sizeMaxHeight => providersTokens.sizeTokens.minInteractiveArea; @override double get sizeMinHeight => providersTokens.sizeTokens.minInteractiveArea; diff --git a/ouds_theme_wireframe/lib/components/wireframe_skeleton_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_skeleton_tokens.dart index 5555ccc8f..0c4c4510e 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_skeleton_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_skeleton_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_wireframe/lib/components/wireframe_switch_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_switch_tokens.dart index f166ffebd..a4191f56d 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_switch_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_switch_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_wireframe/lib/components/wireframe_tag_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_tag_tokens.dart index ad2f0fb4c..c8add3451 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_tag_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_tag_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; @@ -35,9 +35,9 @@ class WireframeTagTokens extends OudsTagTokens { @override double get sizeMinHeightSmall => DimensionRawTokens.dimension300; @override - double get sizeMinWidthDefault => DimensionRawTokens.dimension600; + double get sizeMinWidthDefault => DimensionRawTokens.dimension400; @override - double get sizeMinWidthSmall => DimensionRawTokens.dimension550; + double get sizeMinWidthSmall => DimensionRawTokens.dimension300; @override double get spaceColumnGapDefault => providersTokens.spaceTokens.columnGap2xsmall; @override diff --git a/ouds_theme_wireframe/lib/components/wireframe_textInput_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_textInput_tokens.dart index 7e3fd776e..21819a653 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_textInput_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_textInput_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -58,6 +58,10 @@ class WireframeTextInputTokens extends OudsTextInputTokens { @override double get spaceColumnGapInlineText => providersTokens.spaceTokens.columnGapXsmall; @override + double get spaceColumnGapLabelAsterisk => providersTokens.spaceTokens.columnGap2xsmall; + @override + double get spaceColumnGapLabelSmallAsterisk => DimensionRawTokens.dimensionOutOfSystem75; + @override double get spaceColumnGapTrailingErrorAction => providersTokens.spaceTokens.columnGapXsmall; @override double get spacePaddingBlockDefault => providersTokens.spaceTokens.paddingBlock2xsmall; diff --git a/ouds_theme_wireframe/lib/raw/wireframe_color_raw_tokens.dart b/ouds_theme_wireframe/lib/raw/wireframe_color_raw_tokens.dart index 0fb0e676e..42b11f0de 100644 --- a/ouds_theme_wireframe/lib/raw/wireframe_color_raw_tokens.dart +++ b/ouds_theme_wireframe/lib/raw/wireframe_color_raw_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe core tokens version 1.3.0 +// Wireframe core tokens version 1.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -76,8 +76,7 @@ class WireframeColorRawTokens { static const colorOpacityBlack880 = Color(0xe005052e); static const colorOpacityBlack920 = Color(0xeb05052e); static const colorOpacityBlack960 = Color(0xf505052e); - static const colorOpacityGrayDark800800 = Color(0xcc181c26); - static const colorOpacityGrayLight80800 = Color(0xccf7f8fa); + static const colorOpacityGrayDark880800 = Color(0xcc101319); static const colorOpacityRoyalBlue0 = Color(0x002055e5); static const colorOpacityRoyalBlue40 = Color(0x0a2055e5); static const colorOpacityRoyalBlue80 = Color(0x142055e5); diff --git a/ouds_theme_wireframe/lib/semantic/wireframe_border_semantic_tokens.dart b/ouds_theme_wireframe/lib/semantic/wireframe_border_semantic_tokens.dart index 6f37ad8ba..18e3f03c6 100644 --- a/ouds_theme_wireframe/lib/semantic/wireframe_border_semantic_tokens.dart +++ b/ouds_theme_wireframe/lib/semantic/wireframe_border_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_border_semantic_tokens.dart'; @@ -28,13 +28,13 @@ class WireframeBorderSemanticTokens extends OudsBorderSemanticTokens { @override double get radiusPill => BorderRawTokens.borderRadius9999; @override - double get radiusSmall => BorderRawTokens.borderRadius100; + double get radiusSmall => BorderRawTokens.borderRadius75; @override String get styleDefault => BorderRawTokens.borderStyleSolid; @override String get styleDrag => BorderRawTokens.borderStyleDashed; @override - double get widthDefault => BorderRawTokens.borderWidth25; + double get widthDefault => BorderRawTokens.borderWidth50; @override double get widthFocus => BorderRawTokens.borderWidth125; @override @@ -48,5 +48,5 @@ class WireframeBorderSemanticTokens extends OudsBorderSemanticTokens { @override double get widthThicker => BorderRawTokens.borderWidth150; @override - double get widthThin => BorderRawTokens.borderWidth50; + double get widthThin => BorderRawTokens.borderWidth25; } diff --git a/ouds_theme_wireframe/lib/semantic/wireframe_color_action_semantic_tokens.dart b/ouds_theme_wireframe/lib/semantic/wireframe_color_action_semantic_tokens.dart index a12733ab6..ff6d182b3 100644 --- a/ouds_theme_wireframe/lib/semantic/wireframe_color_action_semantic_tokens.dart +++ b/ouds_theme_wireframe/lib/semantic/wireframe_color_action_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_wireframe/raw/wireframe_color_raw_tokens.dart'; @@ -29,8 +29,6 @@ class WireframeColorActionSemanticTokens extends OudsColorActionSemanticTokens { super.actionHighlightedLight = WireframeColorRawTokens.colorRoyalBlue800, super.actionHoverDark = WireframeColorRawTokens.colorRoyalBlue200, super.actionHoverLight = WireframeColorRawTokens.colorRoyalBlue800, - super.actionIosAccentDark = WireframeColorRawTokens.colorRoyalBlue300, - super.actionIosAccentLight = WireframeColorRawTokens.colorRoyalBlue600, super.actionLoadingDark = WireframeColorRawTokens.colorRoyalBlue100, super.actionLoadingLight = WireframeColorRawTokens.colorRoyalBlue900, super.actionNegativeEnabledDark = ColorRawTokens.colorFunctionalScarlet300, diff --git a/ouds_theme_wireframe/lib/semantic/wireframe_color_always_semantic_tokens.dart b/ouds_theme_wireframe/lib/semantic/wireframe_color_always_semantic_tokens.dart index d4d8abd3c..99e48b3cd 100644 --- a/ouds_theme_wireframe/lib/semantic/wireframe_color_always_semantic_tokens.dart +++ b/ouds_theme_wireframe/lib/semantic/wireframe_color_always_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_wireframe/raw/wireframe_color_raw_tokens.dart'; diff --git a/ouds_theme_wireframe/lib/semantic/wireframe_color_bg_semantic_tokens.dart b/ouds_theme_wireframe/lib/semantic/wireframe_color_bg_semantic_tokens.dart index 026abc1de..80239c41f 100644 --- a/ouds_theme_wireframe/lib/semantic/wireframe_color_bg_semantic_tokens.dart +++ b/ouds_theme_wireframe/lib/semantic/wireframe_color_bg_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_wireframe/raw/wireframe_color_raw_tokens.dart'; diff --git a/ouds_theme_wireframe/lib/semantic/wireframe_color_border_semantic_tokens.dart b/ouds_theme_wireframe/lib/semantic/wireframe_color_border_semantic_tokens.dart index 934250590..55a202cfd 100644 --- a/ouds_theme_wireframe/lib/semantic/wireframe_color_border_semantic_tokens.dart +++ b/ouds_theme_wireframe/lib/semantic/wireframe_color_border_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -28,12 +28,12 @@ class WireframeColorBorderSemanticTokens extends OudsColorBorderSemanticTokens { super.borderBrandTertiaryLight = const Color(0x00ff0000), super.borderDefaultDark = WireframeColorRawTokens.colorOpacityWhite200, super.borderDefaultLight = WireframeColorRawTokens.colorOpacityBlack200, - super.borderEmphasizedDark = WireframeColorRawTokens.colorOpacityWhite920, + super.borderEmphasizedDark = WireframeColorRawTokens.colorFunctionalGrayLight160, super.borderEmphasizedLight = WireframeColorRawTokens.colorFunctionalGrayDark960, - super.borderFocusDark = WireframeColorRawTokens.colorFunctionalGrayLight160, + super.borderFocusDark = WireframeColorRawTokens.colorRoyalBlue100, super.borderFocusInsetDark = WireframeColorRawTokens.colorFunctionalGrayDark880, super.borderFocusInsetLight = ColorRawTokens.colorFunctionalWhite, - super.borderFocusLight = WireframeColorRawTokens.colorFunctionalGrayDark960, + super.borderFocusLight = WireframeColorRawTokens.colorRoyalBlue900, super.borderMinimalDark = WireframeColorRawTokens.colorOpacityWhite40, super.borderMinimalLight = WireframeColorRawTokens.colorOpacityBlack40, super.borderMutedDark = WireframeColorRawTokens.colorOpacityWhite80, diff --git a/ouds_theme_wireframe/lib/semantic/wireframe_color_content_semantic_tokens.dart b/ouds_theme_wireframe/lib/semantic/wireframe_color_content_semantic_tokens.dart index a6aab53b9..cd30c97b7 100644 --- a/ouds_theme_wireframe/lib/semantic/wireframe_color_content_semantic_tokens.dart +++ b/ouds_theme_wireframe/lib/semantic/wireframe_color_content_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -80,6 +80,14 @@ class WireframeColorContentSemanticTokens extends OudsColorContentSemanticTokens super.contentStatusAccentLight = WireframeColorRawTokens.colorRustyRed600, super.contentStatusInfoDark = ColorRawTokens.colorFunctionalDodgerBlue300, super.contentStatusInfoLight = ColorRawTokens.colorFunctionalDodgerBlue700, + super.contentStatusInverseInfoDark = ColorRawTokens.colorFunctionalDodgerBlue700, + super.contentStatusInverseInfoLight = ColorRawTokens.colorFunctionalDodgerBlue300, + super.contentStatusInverseNegativeDark = ColorRawTokens.colorFunctionalScarlet600, + super.contentStatusInverseNegativeLight = ColorRawTokens.colorFunctionalScarlet300, + super.contentStatusInversePositiveDark = ColorRawTokens.colorFunctionalMalachite750, + super.contentStatusInversePositiveLight = ColorRawTokens.colorFunctionalMalachite300, + super.contentStatusInverseWarningDark = ColorRawTokens.colorFunctionalSun750, + super.contentStatusInverseWarningLight = ColorRawTokens.colorFunctionalSun300, super.contentStatusNegativeDark = ColorRawTokens.colorFunctionalScarlet300, super.contentStatusNegativeLight = ColorRawTokens.colorFunctionalScarlet600, super.contentStatusPositiveDark = ColorRawTokens.colorFunctionalMalachite300, diff --git a/ouds_theme_wireframe/lib/semantic/wireframe_color_opacity_semantic_tokens.dart b/ouds_theme_wireframe/lib/semantic/wireframe_color_opacity_semantic_tokens.dart index d541d498c..eda8444ab 100644 --- a/ouds_theme_wireframe/lib/semantic/wireframe_color_opacity_semantic_tokens.dart +++ b/ouds_theme_wireframe/lib/semantic/wireframe_color_opacity_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_wireframe/raw/wireframe_color_raw_tokens.dart'; diff --git a/ouds_theme_wireframe/lib/semantic/wireframe_color_overlay_semantic_tokens.dart b/ouds_theme_wireframe/lib/semantic/wireframe_color_overlay_semantic_tokens.dart index 5b3090578..12070431a 100644 --- a/ouds_theme_wireframe/lib/semantic/wireframe_color_overlay_semantic_tokens.dart +++ b/ouds_theme_wireframe/lib/semantic/wireframe_color_overlay_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_wireframe/raw/wireframe_color_raw_tokens.dart'; @@ -19,12 +19,14 @@ import 'package:ouds_global_raw_tokens/color_raw_tokens.dart'; class WireframeColorOverlaySemanticTokens extends OudsColorOverlaySemanticTokens { const WireframeColorOverlaySemanticTokens({ + super.overlayBackdropDark = WireframeColorRawTokens.colorOpacityBlack680, + super.overlayBackdropLight = WireframeColorRawTokens.colorOpacityBlack680, super.overlayDragDark = WireframeColorRawTokens.colorOpacityWhite80, super.overlayDragLight = WireframeColorRawTokens.colorOpacityBlack40, super.overlayDropdownDark = WireframeColorRawTokens.colorFunctionalGrayDark560, super.overlayDropdownLight = ColorRawTokens.colorFunctionalWhite, - super.overlayModalDark = WireframeColorRawTokens.colorFunctionalGrayDark720, - super.overlayModalLight = ColorRawTokens.colorFunctionalWhite, + super.overlayModalSheetDark = WireframeColorRawTokens.colorFunctionalGrayDark720, + super.overlayModalSheetLight = ColorRawTokens.colorFunctionalWhite, super.overlayTooltipDark = WireframeColorRawTokens.colorFunctionalGrayDark560, super.overlayTooltipLight = WireframeColorRawTokens.colorFunctionalGrayDark720, }); diff --git a/ouds_theme_wireframe/lib/semantic/wireframe_color_repository_semantic_tokens.dart b/ouds_theme_wireframe/lib/semantic/wireframe_color_repository_semantic_tokens.dart index 401c96d9f..7b872d069 100644 --- a/ouds_theme_wireframe/lib/semantic/wireframe_color_repository_semantic_tokens.dart +++ b/ouds_theme_wireframe/lib/semantic/wireframe_color_repository_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; @@ -109,7 +109,8 @@ class WireframeColorRepositorySemanticTokens extends OudsColorRepositorySemantic super.repositoryPrimaryLowest = WireframeColorRawTokens.colorRoyalBlue100, super.repositoryPrimaryMedium = WireframeColorRawTokens.colorRoyalBlue600, super.repositorySecondaryHigh = WireframeColorRawTokens.colorRustyRed700, - super.repositorySecondaryHigher = WireframeColorRawTokens.colorRustyRed800, + super.repositorySecondaryHigherHigh = WireframeColorRawTokens.colorRustyRed800, + super.repositorySecondaryHigherLow = WireframeColorRawTokens.colorRustyRed800, super.repositorySecondaryHighest = const Color(0x00ff0000), super.repositorySecondaryLow = WireframeColorRawTokens.colorRustyRed400, super.repositorySecondaryLower = WireframeColorRawTokens.colorRustyRed300, diff --git a/ouds_theme_wireframe/lib/semantic/wireframe_color_surface_semantic_tokens.dart b/ouds_theme_wireframe/lib/semantic/wireframe_color_surface_semantic_tokens.dart index 103490f11..54d8539b0 100644 --- a/ouds_theme_wireframe/lib/semantic/wireframe_color_surface_semantic_tokens.dart +++ b/ouds_theme_wireframe/lib/semantic/wireframe_color_surface_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_wireframe/lib/semantic/wireframe_effect_semantic_tokens.dart b/ouds_theme_wireframe/lib/semantic/wireframe_effect_semantic_tokens.dart index 8f12172e6..d86e192c1 100644 --- a/ouds_theme_wireframe/lib/semantic/wireframe_effect_semantic_tokens.dart +++ b/ouds_theme_wireframe/lib/semantic/wireframe_effect_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_effect_semantic_tokens.dart'; @@ -18,5 +18,5 @@ import 'package:ouds_global_raw_tokens/effect_raw_tokens.dart'; class WireframeEffectSemanticTokens extends OudsEffectSemanticTokens { @override - int get blurDrag => EffectRawTokens.effectBlur320; + int get blurDrag => EffectRawTokens.effectBlur480; } diff --git a/ouds_theme_wireframe/lib/semantic/wireframe_font_semantic_tokens.dart b/ouds_theme_wireframe/lib/semantic/wireframe_font_semantic_tokens.dart index 78d5cbc59..43b1c3d14 100644 --- a/ouds_theme_wireframe/lib/semantic/wireframe_font_semantic_tokens.dart +++ b/ouds_theme_wireframe/lib/semantic/wireframe_font_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:flutter/material.dart'; diff --git a/ouds_theme_wireframe/lib/semantic/wireframe_grid_semantic_tokens.dart b/ouds_theme_wireframe/lib/semantic/wireframe_grid_semantic_tokens.dart index 5008f6141..61f3ab2ff 100644 --- a/ouds_theme_wireframe/lib/semantic/wireframe_grid_semantic_tokens.dart +++ b/ouds_theme_wireframe/lib/semantic/wireframe_grid_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_grid_semantic_tokens.dart'; @@ -18,7 +18,7 @@ import 'package:ouds_global_raw_tokens/grid_raw_tokens.dart'; class WireframeGridSemanticTokens extends OudsGridSemanticTokens { @override - double get compactColumnGap => GridRawTokens.gridColumnGap100; + double get compactColumnGap => GridRawTokens.gridColumnGap200; @override double get compactMargin => GridRawTokens.gridMargin300; @override diff --git a/ouds_theme_wireframe/lib/semantic/wireframe_opacity_semantic_tokens.dart b/ouds_theme_wireframe/lib/semantic/wireframe_opacity_semantic_tokens.dart index d7e7ffe16..c96d0e5ec 100644 --- a/ouds_theme_wireframe/lib/semantic/wireframe_opacity_semantic_tokens.dart +++ b/ouds_theme_wireframe/lib/semantic/wireframe_opacity_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_opacity_semantic_tokens.dart'; diff --git a/ouds_theme_wireframe/lib/semantic/wireframe_size_semantic_tokens.dart b/ouds_theme_wireframe/lib/semantic/wireframe_size_semantic_tokens.dart index 0de7c39ed..e58c439b5 100644 --- a/ouds_theme_wireframe/lib/semantic/wireframe_size_semantic_tokens.dart +++ b/ouds_theme_wireframe/lib/semantic/wireframe_size_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_size_semantic_tokens.dart'; @@ -126,7 +126,7 @@ class WireframeSizeSemanticTokens extends OudsSizeSemanticTokens { @override double get iconWithLabelLargeSizeSmall => DimensionRawTokens.dimension300; @override - double get iconWithLabelLargeSizeXlarge => DimensionRawTokens.dimension550; + double get iconWithLabelLargeSizeXlarge => DimensionRawTokens.dimension450; @override double get iconWithLabelLargeSizeXsmall => DimensionRawTokens.dimension250; @override @@ -146,67 +146,69 @@ class WireframeSizeSemanticTokens extends OudsSizeSemanticTokens { @override double get iconWithLabelSmallSizeXsmall => DimensionRawTokens.dimensionOutOfSystem250; @override - double get iconWithLabelXlargeSizeLarge => DimensionRawTokens.dimension550; + double get iconWithLabelXlargeSizeLarge => DimensionRawTokens.dimension500; @override - double get iconWithLabelXlargeSizeMedium => DimensionRawTokens.dimension500; + double get iconWithLabelXlargeSizeMedium => DimensionRawTokens.dimension450; @override double get iconWithLabelXlargeSizeSmall => DimensionRawTokens.dimension400; @override - double get maxWidthTypeBodyLargeMobile => DimensionRawTokens.dimension6000; + double get iconWithLabelXlargeSizeXsmall => DimensionRawTokens.dimension350; @override - double get maxWidthTypeBodyLargeTablet => DimensionRawTokens.dimension6000; + double get maxWidthBodyLargeMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeBodyMediumMobile => DimensionRawTokens.dimension6000; + double get maxWidthBodyLargeTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeBodyMediumTablet => DimensionRawTokens.dimension6000; + double get maxWidthBodyMediumMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeBodySmallMobile => DimensionRawTokens.dimension6000; + double get maxWidthBodyMediumTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeBodySmallTablet => DimensionRawTokens.dimension6000; + double get maxWidthBodySmallMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeDisplayLargeMobile => DimensionRawTokens.dimension9000; + double get maxWidthBodySmallTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeDisplayLargeTablet => DimensionRawTokens.dimension9000; + double get maxWidthDisplayLargeMobile => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeDisplayMediumMobile => DimensionRawTokens.dimension9000; + double get maxWidthDisplayLargeTablet => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeDisplayMediumTablet => DimensionRawTokens.dimension9000; + double get maxWidthDisplayMediumMobile => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeDisplaySmallMobile => DimensionRawTokens.dimension9000; + double get maxWidthDisplayMediumTablet => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeDisplaySmallTablet => DimensionRawTokens.dimension9000; + double get maxWidthDisplaySmallMobile => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeHeadingLargeMobile => DimensionRawTokens.dimension7000; + double get maxWidthDisplaySmallTablet => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeHeadingLargeTablet => DimensionRawTokens.dimension9000; + double get maxWidthHeadingLargeMobile => DimensionRawTokens.dimension7000; @override - double get maxWidthTypeHeadingMediumMobile => DimensionRawTokens.dimension7000; + double get maxWidthHeadingLargeTablet => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeHeadingMediumTablet => DimensionRawTokens.dimension7000; + double get maxWidthHeadingMediumMobile => DimensionRawTokens.dimension7000; @override - double get maxWidthTypeHeadingSmallMobile => DimensionRawTokens.dimension6000; + double get maxWidthHeadingMediumTablet => DimensionRawTokens.dimension7000; @override - double get maxWidthTypeHeadingSmallTablet => DimensionRawTokens.dimension7000; + double get maxWidthHeadingSmallMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeHeadingXlargeMobile => DimensionRawTokens.dimension7000; + double get maxWidthHeadingSmallTablet => DimensionRawTokens.dimension7000; @override - double get maxWidthTypeHeadingXlargeTablet => DimensionRawTokens.dimension9000; + double get maxWidthHeadingXlargeMobile => DimensionRawTokens.dimension7000; @override - double get maxWidthTypeLabelLargeMobile => DimensionRawTokens.dimension6000; + double get maxWidthHeadingXlargeTablet => DimensionRawTokens.dimension9000; @override - double get maxWidthTypeLabelLargeTablet => DimensionRawTokens.dimension6000; + double get maxWidthLabelLargeMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelMediumMobile => DimensionRawTokens.dimension6000; + double get maxWidthLabelLargeTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelMediumTablet => DimensionRawTokens.dimension6000; + double get maxWidthLabelMediumMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelSmallMobile => DimensionRawTokens.dimension6000; + double get maxWidthLabelMediumTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelSmallTablet => DimensionRawTokens.dimension6000; + double get maxWidthLabelSmallMobile => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelXlargeMobile => DimensionRawTokens.dimension6000; + double get maxWidthLabelSmallTablet => DimensionRawTokens.dimension6000; @override - double get maxWidthTypeLabelXlargeTablet => DimensionRawTokens.dimension6000; + double get maxWidthLabelXlargeMobile => DimensionRawTokens.dimension6000; + @override + double get maxWidthLabelXlargeTablet => DimensionRawTokens.dimension6000; @override double get minInteractiveArea => DimensionRawTokens.dimension600; } diff --git a/ouds_theme_wireframe/lib/semantic/wireframe_space_semantic_tokens.dart b/ouds_theme_wireframe/lib/semantic/wireframe_space_semantic_tokens.dart index 9b8a898bf..c29d0f483 100644 --- a/ouds_theme_wireframe/lib/semantic/wireframe_space_semantic_tokens.dart +++ b/ouds_theme_wireframe/lib/semantic/wireframe_space_semantic_tokens.dart @@ -10,7 +10,7 @@ // Software description: Flutter library of reusable graphical components // -// Wireframe brand tokens version 2.3.0 +// Wireframe brand tokens version 2.4.0 // Generated by Tokenator import 'package:ouds_theme_contract/theme/tokens/semantic/ouds_space_semantic_tokens.dart'; From b9f40b98353d5d7790e0d131c734d2af44a0d529 Mon Sep 17 00:00:00 2001 From: Ahmed Amine Zribi Date: Tue, 5 May 2026 14:40:37 +0100 Subject: [PATCH 02/13] chore: update tokens with version 2.4.0 --- app/CHANGELOG.md | 1 + .../chip/chip_filter_demo_sreen.dart | 60 +- .../chip/chip_suggestion_demo_screen.dart | 42 +- .../ui/tokens/color/color_tokens_model.dart | 506 +++++++++++--- ouds_core/CHANGELOG.md | 1 + ouds_core/README.md | 52 +- .../lib/components/badge/ouds_badge.dart | 165 +++-- .../modifier/ouds_control_indicator.dart | 11 +- .../components/control/ouds_control_item.dart | 392 +++++++---- .../ouds_navigation_bar_status_modifier.dart | 60 +- .../navigation/ouds_navigation_bar_item.dart | 84 ++- .../radio_button/ouds_radio_button.dart | 63 +- ouds_theme_contract/CHANGELOG.md | 1 + .../lib/ouds_component_version.dart | 46 +- .../theme/scheme/color/ouds_color_scheme.dart | 636 +++++++++++++----- .../scheme/responsive/ouds_size_scheme.dart | 221 +++--- .../components/ouds_checkbox_tokens.dart | 4 + .../components/ouds_controlItem_tokens.dart | 48 ++ ouds_theme_orange/CHANGELOG.md | 1 + .../components/orange_checkbox_tokens.dart | 3 + .../components/orange_controlItem_tokens.dart | 157 ++++- ouds_theme_orange_compact/CHANGELOG.md | 1 + .../orangeCompact_checkbox_tokens.dart | 24 +- .../orangeCompact_controlItem_tokens.dart | 155 ++++- ouds_theme_sosh/CHANGELOG.md | 1 + .../lib/components/sosh_bar_tokens.dart | 88 ++- .../lib/components/sosh_checkbox_tokens.dart | 18 +- .../components/sosh_controlItem_tokens.dart | 155 ++++- ouds_theme_wireframe/CHANGELOG.md | 1 + .../components/wireframe_checkbox_tokens.dart | 18 +- .../wireframe_controlItem_tokens.dart | 143 +++- 31 files changed, 2278 insertions(+), 880 deletions(-) diff --git a/app/CHANGELOG.md b/app/CHANGELOG.md index 85aa3cab7..231d37ae1 100644 --- a/app/CHANGELOG.md +++ b/app/CHANGELOG.md @@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed +- [DemoApp][Library] update tokens 2.4.0 ([#726](https://github.com/Orange-OpenSource/ouds-flutter/issues/726)) - [Library] update tokens 1.9.0 - Component Bullet List ([#710](https://github.com/Orange-OpenSource/ouds-flutter/issues/710)) - [Library] update tokens 1.9.0 - Component Alert ([#672](https://github.com/Orange-OpenSource/ouds-flutter/issues/672)) diff --git a/app/lib/ui/components/chip/chip_filter_demo_sreen.dart b/app/lib/ui/components/chip/chip_filter_demo_sreen.dart index aa4b79962..618875245 100644 --- a/app/lib/ui/components/chip/chip_filter_demo_sreen.dart +++ b/app/lib/ui/components/chip/chip_filter_demo_sreen.dart @@ -37,7 +37,7 @@ import 'package:provider/provider.dart'; class ChipFilterDemoScreen extends StatefulWidget { final String? previousPageTitle; - const ChipFilterDemoScreen({super.key,this.previousPageTitle}); + const ChipFilterDemoScreen({super.key, this.previousPageTitle}); @override State createState() => _ChipFilterDemoScreenState(); @@ -59,7 +59,11 @@ class _ChipFilterDemoScreenState extends State { child: ChipCustomization( key: _scaffoldKey, child: Padding( - padding: EdgeInsets.only(bottom: defaultTargetPlatform == TargetPlatform.android ? MediaQuery.of(context).viewPadding.bottom : OudsTheme.of(context).spaceScheme(context).paddingBlockNone), + padding: EdgeInsets.only( + bottom: defaultTargetPlatform == TargetPlatform.android + ? MediaQuery.of(context).viewPadding.bottom + : OudsTheme.of(context).spaceScheme(context).paddingBlockNone, + ), child: Scaffold( bottomSheet: OudsSheetsBottom( onExpansionChanged: _onExpansionChanged, @@ -70,7 +74,8 @@ class _ChipFilterDemoScreenState extends State { appBar: MainAppBar( title: context.l10n.app_components_filterChip_label, showBackButton: true, - previousPageTitle: widget.previousPageTitle,), + previousPageTitle: widget.previousPageTitle, + ), body: ExcludeSemantics( excluding: !_isBottomSheetExpanded, child: _Body(), @@ -93,19 +98,24 @@ class _Body extends StatefulWidget { class _BodyState extends State<_Body> { @override Widget build(BuildContext context) { - ThemeController? themeController = Provider.of(context, listen: false); + ThemeController? themeController = Provider.of( + context, + listen: false, + ); return DetailScreenDescription( description: context.l10n.app_components_chip_filterChip_description_text, widget: Column( children: [ _ChipFilterDemo(), - SizedBox(height: themeController.currentTheme.spaceScheme(context).fixedMedium), - Code( - code: ChipFilterCodeGenerator.updateCode(context), + SizedBox( + height: themeController.currentTheme + .spaceScheme(context) + .fixedMedium, ), + Code(code: ChipFilterCodeGenerator.updateCode(context)), ReferenceDesignVersionComponent( - version: OudsComponentVersion.chip, - ) + version: OudsComponentVersion.filterChip, + ), ], ), ); @@ -134,18 +144,20 @@ class _ChipFilterDemoState extends State<_ChipFilterDemo> { return LightDarkBox( child: OudsFilterChip( - label: ChipCustomizationUtils.getText(customizationState), - avatar: ChipCustomizationUtils.getIcon(customizationState, themeController!), - selected: customizationState?.hasSelected, - onSelected: customizationState?.hasEnabled == true - ? (newValue) { - setState( - () { - customizationState?.hasSelected = newValue; - }, - ); - } - : null), + label: ChipCustomizationUtils.getText(customizationState), + avatar: ChipCustomizationUtils.getIcon( + customizationState, + themeController!, + ), + selected: customizationState?.hasSelected, + onSelected: customizationState?.hasEnabled == true + ? (newValue) { + setState(() { + customizationState?.hasSelected = newValue; + }); + } + : null, + ), ); } } @@ -176,7 +188,9 @@ class _CustomizationContentState extends State<_CustomizationContent> { @override Widget build(BuildContext context) { - final ChipCustomizationState? customizationState = ChipCustomization.of(context); + final ChipCustomizationState? customizationState = ChipCustomization.of( + context, + ); return CustomizableSection( children: [ @@ -212,7 +226,7 @@ class _CustomizationContentState extends State<_CustomizationContent> { text: customizationState.labelText, focusNode: labelFocus, fieldType: FieldType.label, - ) + ), ], ); } diff --git a/app/lib/ui/components/chip/chip_suggestion_demo_screen.dart b/app/lib/ui/components/chip/chip_suggestion_demo_screen.dart index b73e5101b..fe285a826 100644 --- a/app/lib/ui/components/chip/chip_suggestion_demo_screen.dart +++ b/app/lib/ui/components/chip/chip_suggestion_demo_screen.dart @@ -36,7 +36,7 @@ import 'package:provider/provider.dart'; class ChipSuggestionDemoScreen extends StatefulWidget { final String? previousPageTitle; - const ChipSuggestionDemoScreen({super.key,this.previousPageTitle}); + const ChipSuggestionDemoScreen({super.key, this.previousPageTitle}); @override State createState() => _ChipSuggestionDemoScreenState(); @@ -58,7 +58,11 @@ class _ChipSuggestionDemoScreenState extends State { child: ChipCustomization( key: _scaffoldKey, child: Padding( - padding: EdgeInsets.only(bottom: defaultTargetPlatform == TargetPlatform.android ? MediaQuery.of(context).viewPadding.bottom : OudsTheme.of(context).spaceScheme(context).paddingBlockNone), + padding: EdgeInsets.only( + bottom: defaultTargetPlatform == TargetPlatform.android + ? MediaQuery.of(context).viewPadding.bottom + : OudsTheme.of(context).spaceScheme(context).paddingBlockNone, + ), child: Scaffold( bottomSheet: OudsSheetsBottom( onExpansionChanged: _onExpansionChanged, @@ -69,7 +73,8 @@ class _ChipSuggestionDemoScreenState extends State { appBar: MainAppBar( title: context.l10n.app_components_suggestionChip_label, showBackButton: true, - previousPageTitle: widget.previousPageTitle), + previousPageTitle: widget.previousPageTitle, + ), body: ExcludeSemantics( excluding: !_isBottomSheetExpanded, child: _Body(), @@ -92,19 +97,25 @@ class _Body extends StatefulWidget { class _BodyState extends State<_Body> { @override Widget build(BuildContext context) { - ThemeController? themeController = Provider.of(context, listen: false); + ThemeController? themeController = Provider.of( + context, + listen: false, + ); return DetailScreenDescription( - description: context.l10n.app_components_chip_suggestionChip_description_text, + description: + context.l10n.app_components_chip_suggestionChip_description_text, widget: Column( children: [ _ChipSuggestionDemo(), - SizedBox(height: themeController.currentTheme.spaceScheme(context).fixedMedium), - Code( - code: ChipSuggestionCodeGenerator.updateCode(context), + SizedBox( + height: themeController.currentTheme + .spaceScheme(context) + .fixedMedium, ), + Code(code: ChipSuggestionCodeGenerator.updateCode(context)), ReferenceDesignVersionComponent( - version: OudsComponentVersion.chip, - ) + version: OudsComponentVersion.suggestionChip, + ), ], ), ); @@ -134,7 +145,10 @@ class _ChipSuggestionDemoState extends State<_ChipSuggestionDemo> { return LightDarkBox( child: OudsSuggestionChip( label: ChipCustomizationUtils.getText(customizationState), - avatar: ChipCustomizationUtils.getIcon(customizationState, themeController!), + avatar: ChipCustomizationUtils.getIcon( + customizationState, + themeController!, + ), onPressed: customizationState?.hasEnabled == true ? () {} : null, ), ); @@ -167,7 +181,9 @@ class _CustomizationContentState extends State<_CustomizationContent> { @override Widget build(BuildContext context) { - final ChipCustomizationState? customizationState = ChipCustomization.of(context); + final ChipCustomizationState? customizationState = ChipCustomization.of( + context, + ); return CustomizableSection( children: [ @@ -194,7 +210,7 @@ class _CustomizationContentState extends State<_CustomizationContent> { text: customizationState.labelText, focusNode: labelFocus, fieldType: FieldType.label, - ) + ), ], ); } diff --git a/app/lib/ui/tokens/color/color_tokens_model.dart b/app/lib/ui/tokens/color/color_tokens_model.dart index 526ffc437..ef0563db9 100644 --- a/app/lib/ui/tokens/color/color_tokens_model.dart +++ b/app/lib/ui/tokens/color/color_tokens_model.dart @@ -12,122 +12,424 @@ class ColorTokensModel { Map> get all => _groups; - factory ColorTokensModel.fromTheme(BuildContext context, OudsThemeContract theme) { + factory ColorTokensModel.fromTheme( + BuildContext context, + OudsThemeContract theme, + ) { return ColorTokensModel({ context.l10n.app_tokens_color_action_label: [ - ColorTokenItem(name: 'actionDisabled', value: theme.colorScheme(context).actionDisabled), - ColorTokenItem(name: 'actionEnabled', value: theme.colorScheme(context).actionEnabled), - ColorTokenItem(name: 'actionFocus', value: theme.colorScheme(context).actionFocus), - ColorTokenItem(name: 'actionHighlighted', value: theme.colorScheme(context).actionHighlighted), - ColorTokenItem(name: 'actionHover', value: theme.colorScheme(context).actionHover), - ColorTokenItem(name: 'actionLoading', value: theme.colorScheme(context).actionLoading), - ColorTokenItem(name: 'actionNegativeEnabled', value: theme.colorScheme(context).actionNegativeEnabled), - ColorTokenItem(name: 'actionNegativeFocus', value: theme.colorScheme(context).actionNegativeFocus), - ColorTokenItem(name: 'actionNegativeHover', value: theme.colorScheme(context).actionNegativeHover), - ColorTokenItem(name: 'actionNegativeLoading', value: theme.colorScheme(context).actionNegativeLoading), - ColorTokenItem(name: 'actionNegativePressed', value: theme.colorScheme(context).actionNegativePressed), - ColorTokenItem(name: 'actionPressed', value: theme.colorScheme(context).actionPressed), - ColorTokenItem(name: 'actionReadOnlyPrimary', value: theme.colorScheme(context).actionReadOnlyPrimary), - ColorTokenItem(name: 'actionReadOnlySecondary', value: theme.colorScheme(context).actionReadOnlySecondary), - ColorTokenItem(name: 'actionSelected', value: theme.colorScheme(context).actionSelected), - ColorTokenItem(name: 'actionSupportDisabled ', value: theme.colorScheme(context).actionSupportDisabled), - ColorTokenItem(name: 'actionSupportEnabled', value: theme.colorScheme(context).actionSupportEnabled), - ColorTokenItem(name: 'actionSupportFocus', value: theme.colorScheme(context).actionSupportFocus), - ColorTokenItem(name: 'actionSupportHover', value: theme.colorScheme(context).actionSupportHover), - ColorTokenItem(name: 'actionSupportLoading', value: theme.colorScheme(context).actionSupportLoading), - ColorTokenItem(name: 'actionSupportPressed', value: theme.colorScheme(context).actionSupportPressed), - ColorTokenItem(name: 'actionVisited', value: theme.colorScheme(context).actionVisited), - ColorTokenItem(name: 'actionAccent', value: theme.colorScheme(context).actionIosAccent), + ColorTokenItem( + name: 'actionDisabled', + value: theme.colorScheme(context).actionDisabled, + ), + ColorTokenItem( + name: 'actionEnabled', + value: theme.colorScheme(context).actionEnabled, + ), + ColorTokenItem( + name: 'actionFocus', + value: theme.colorScheme(context).actionFocus, + ), + ColorTokenItem( + name: 'actionHighlighted', + value: theme.colorScheme(context).actionHighlighted, + ), + ColorTokenItem( + name: 'actionHover', + value: theme.colorScheme(context).actionHover, + ), + ColorTokenItem( + name: 'actionLoading', + value: theme.colorScheme(context).actionLoading, + ), + ColorTokenItem( + name: 'actionNegativeEnabled', + value: theme.colorScheme(context).actionNegativeEnabled, + ), + ColorTokenItem( + name: 'actionNegativeFocus', + value: theme.colorScheme(context).actionNegativeFocus, + ), + ColorTokenItem( + name: 'actionNegativeHover', + value: theme.colorScheme(context).actionNegativeHover, + ), + ColorTokenItem( + name: 'actionNegativeLoading', + value: theme.colorScheme(context).actionNegativeLoading, + ), + ColorTokenItem( + name: 'actionNegativePressed', + value: theme.colorScheme(context).actionNegativePressed, + ), + ColorTokenItem( + name: 'actionPressed', + value: theme.colorScheme(context).actionPressed, + ), + ColorTokenItem( + name: 'actionReadOnlyPrimary', + value: theme.colorScheme(context).actionReadOnlyPrimary, + ), + ColorTokenItem( + name: 'actionReadOnlySecondary', + value: theme.colorScheme(context).actionReadOnlySecondary, + ), + ColorTokenItem( + name: 'actionSelected', + value: theme.colorScheme(context).actionSelected, + ), + ColorTokenItem( + name: 'actionSupportDisabled ', + value: theme.colorScheme(context).actionSupportDisabled, + ), + ColorTokenItem( + name: 'actionSupportEnabled', + value: theme.colorScheme(context).actionSupportEnabled, + ), + ColorTokenItem( + name: 'actionSupportFocus', + value: theme.colorScheme(context).actionSupportFocus, + ), + ColorTokenItem( + name: 'actionSupportHover', + value: theme.colorScheme(context).actionSupportHover, + ), + ColorTokenItem( + name: 'actionSupportLoading', + value: theme.colorScheme(context).actionSupportLoading, + ), + ColorTokenItem( + name: 'actionSupportPressed', + value: theme.colorScheme(context).actionSupportPressed, + ), + ColorTokenItem( + name: 'actionVisited', + value: theme.colorScheme(context).actionVisited, + ), ], context.l10n.app_tokens_color_always_label: [ - ColorTokenItem(name: 'alwaysBlack', value: theme.colorScheme(context).alwaysBlack), - ColorTokenItem(name: 'alwaysOnBlack', value: theme.colorScheme(context).alwaysOnBlack), - ColorTokenItem(name: 'alwaysOnWhite', value: theme.colorScheme(context).alwaysOnWhite), - ColorTokenItem(name: 'alwaysWhite', value: theme.colorScheme(context).alwaysWhite), + ColorTokenItem( + name: 'alwaysBlack', + value: theme.colorScheme(context).alwaysBlack, + ), + ColorTokenItem( + name: 'alwaysOnBlack', + value: theme.colorScheme(context).alwaysOnBlack, + ), + ColorTokenItem( + name: 'alwaysOnWhite', + value: theme.colorScheme(context).alwaysOnWhite, + ), + ColorTokenItem( + name: 'alwaysWhite', + value: theme.colorScheme(context).alwaysWhite, + ), ], context.l10n.app_tokens_color_background_label: [ - ColorTokenItem(name: 'bgInverseHigh', value: theme.colorScheme(context).bgInverseHigh), - ColorTokenItem(name: 'bgInverseLow', value: theme.colorScheme(context).bgInverseLow), - ColorTokenItem(name: 'bgPrimary', value: theme.colorScheme(context).bgPrimary), - ColorTokenItem(name: 'bgSecondary', value: theme.colorScheme(context).bgSecondary), - ColorTokenItem(name: 'bgTertiary', value: theme.colorScheme(context).bgTertiary), + ColorTokenItem( + name: 'bgInverseHigh', + value: theme.colorScheme(context).bgInverseHigh, + ), + ColorTokenItem( + name: 'bgInverseLow', + value: theme.colorScheme(context).bgInverseLow, + ), + ColorTokenItem( + name: 'bgPrimary', + value: theme.colorScheme(context).bgPrimary, + ), + ColorTokenItem( + name: 'bgSecondary', + value: theme.colorScheme(context).bgSecondary, + ), + ColorTokenItem( + name: 'bgTertiary', + value: theme.colorScheme(context).bgTertiary, + ), ], context.l10n.app_tokens_color_border_label: [ - ColorTokenItem(name: 'borderBrandPrimary', value: theme.colorScheme(context).borderBrandPrimary), - ColorTokenItem(name: 'borderBrandSecondary', value: theme.colorScheme(context).borderBrandSecondary), - ColorTokenItem(name: 'borderBrandTertiary', value: theme.colorScheme(context).borderBrandTertiary), - ColorTokenItem(name: 'borderDefault', value: theme.colorScheme(context).borderDefault), - ColorTokenItem(name: 'borderEmphasized', value: theme.colorScheme(context).borderEmphasized), - ColorTokenItem(name: 'borderFocus', value: theme.colorScheme(context).borderFocus), - ColorTokenItem(name: 'borderFocusInset', value: theme.colorScheme(context).borderFocusInset), - ColorTokenItem(name: 'borderMuted', value: theme.colorScheme(context).borderMuted), - ColorTokenItem(name: 'borderOnBrandPrimary', value: theme.colorScheme(context).borderOnBrandPrimary), - ColorTokenItem(name: 'borderOnBrandSecondary', value: theme.colorScheme(context).borderOnBrandSecondary), - ColorTokenItem(name: 'borderOnBrandTertiary', value: theme.colorScheme(context).borderOnBrandTertiary), - ColorTokenItem(name: 'borderMinimal', value: theme.colorScheme(context).borderMinimal), - ColorTokenItem(name: 'borderStatusAccent', value: theme.colorScheme(context).borderStatusAccent), - ColorTokenItem(name: 'borderStatusInfo', value: theme.colorScheme(context).borderStatusInfo), - ColorTokenItem(name: 'borderStatusNegative', value: theme.colorScheme(context).borderStatusNegative), - ColorTokenItem(name: 'borderStatusPositive', value: theme.colorScheme(context).borderStatusPositive), - ColorTokenItem(name: 'borderStatusWarning', value: theme.colorScheme(context).borderStatusWarning), + ColorTokenItem( + name: 'borderBrandPrimary', + value: theme.colorScheme(context).borderBrandPrimary, + ), + ColorTokenItem( + name: 'borderBrandSecondary', + value: theme.colorScheme(context).borderBrandSecondary, + ), + ColorTokenItem( + name: 'borderBrandTertiary', + value: theme.colorScheme(context).borderBrandTertiary, + ), + ColorTokenItem( + name: 'borderDefault', + value: theme.colorScheme(context).borderDefault, + ), + ColorTokenItem( + name: 'borderEmphasized', + value: theme.colorScheme(context).borderEmphasized, + ), + ColorTokenItem( + name: 'borderFocus', + value: theme.colorScheme(context).borderFocus, + ), + ColorTokenItem( + name: 'borderFocusInset', + value: theme.colorScheme(context).borderFocusInset, + ), + ColorTokenItem( + name: 'borderMuted', + value: theme.colorScheme(context).borderMuted, + ), + ColorTokenItem( + name: 'borderOnBrandPrimary', + value: theme.colorScheme(context).borderOnBrandPrimary, + ), + ColorTokenItem( + name: 'borderOnBrandSecondary', + value: theme.colorScheme(context).borderOnBrandSecondary, + ), + ColorTokenItem( + name: 'borderOnBrandTertiary', + value: theme.colorScheme(context).borderOnBrandTertiary, + ), + ColorTokenItem( + name: 'borderMinimal', + value: theme.colorScheme(context).borderMinimal, + ), + ColorTokenItem( + name: 'borderStatusAccent', + value: theme.colorScheme(context).borderStatusAccent, + ), + ColorTokenItem( + name: 'borderStatusInfo', + value: theme.colorScheme(context).borderStatusInfo, + ), + ColorTokenItem( + name: 'borderStatusNegative', + value: theme.colorScheme(context).borderStatusNegative, + ), + ColorTokenItem( + name: 'borderStatusPositive', + value: theme.colorScheme(context).borderStatusPositive, + ), + ColorTokenItem( + name: 'borderStatusWarning', + value: theme.colorScheme(context).borderStatusWarning, + ), ], context.l10n.app_tokens_color_content_label: [ - ColorTokenItem(name: 'contentBrandPrimary', value: theme.colorScheme(context).contentBrandPrimary), - ColorTokenItem(name: 'contentBrandSecondary', value: theme.colorScheme(context).contentBrandSecondary), - ColorTokenItem(name: 'contentBrandTertiary', value: theme.colorScheme(context).contentBrandTertiary), - ColorTokenItem(name: 'contentDefault', value: theme.colorScheme(context).contentDefault), - ColorTokenItem(name: 'contentDisabled', value: theme.colorScheme(context).contentDisabled), - ColorTokenItem(name: 'contentInverse', value: theme.colorScheme(context).contentInverse), - ColorTokenItem(name: 'contentMuted', value: theme.colorScheme(context).contentMuted), - ColorTokenItem(name: 'contentOnActionDisabled', value: theme.colorScheme(context).contentOnActionDisabled), - ColorTokenItem(name: 'contentOnActionEnabled', value: theme.colorScheme(context).contentOnActionEnabled), - ColorTokenItem(name: 'contentOnActionFocus', value: theme.colorScheme(context).contentOnActionFocus), - ColorTokenItem(name: 'contentOnActionHighlighted', value: theme.colorScheme(context).contentOnActionHighlighted), - ColorTokenItem(name: 'contentOnActionHover', value: theme.colorScheme(context).contentOnActionHover), - ColorTokenItem(name: 'contentOnActionLoading', value: theme.colorScheme(context).contentOnActionLoading), - ColorTokenItem(name: 'contentOnActionPressed', value: theme.colorScheme(context).contentOnActionPressed), - ColorTokenItem(name: 'contentOnActionSelected', value: theme.colorScheme(context).contentOnActionSelected), - ColorTokenItem(name: 'contentOnBrandPrimary', value: theme.colorScheme(context).contentOnBrandPrimary), - ColorTokenItem(name: 'contentOnBrandSecondary', value: theme.colorScheme(context).contentOnBrandSecondary), - ColorTokenItem(name: 'contentOnBrandTertiary', value: theme.colorScheme(context).contentOnBrandTertiary), - ColorTokenItem(name: 'contentOnStatusPositiveEmphasized', value: theme.colorScheme(context).contentOnStatusPositiveEmphasized), - ColorTokenItem(name: 'contentOnStatusInfoEmphasized', value: theme.colorScheme(context).contentOnStatusInfoEmphasized), - ColorTokenItem(name: 'contentOnStatusInfoMuted', value: theme.colorScheme(context).contentOnStatusInfoMuted), - ColorTokenItem(name: 'contentOnStatusNegativeEmphasized', value: theme.colorScheme(context).contentOnStatusNegativeEmphasized), - ColorTokenItem(name: 'contentOnStatusNegativeMuted', value: theme.colorScheme(context).contentOnStatusNegativeMuted), - ColorTokenItem(name: 'contentOnStatusAccentEmphasized', value: theme.colorScheme(context).contentOnStatusAccentEmphasized), - ColorTokenItem(name: 'contentOnStatusAccentMuted', value: theme.colorScheme(context).contentOnStatusAccentMuted), - ColorTokenItem(name: 'contentStatusAccent', value: theme.colorScheme(context).contentStatusAccent), - ColorTokenItem(name: 'contentStatusInfo', value: theme.colorScheme(context).contentStatusInfo), - ColorTokenItem(name: 'contentStatusNegative', value: theme.colorScheme(context).contentStatusNegative), - ColorTokenItem(name: 'contentStatusPositive', value: theme.colorScheme(context).contentStatusPositive), - ColorTokenItem(name: 'contentStatusWarning', value: theme.colorScheme(context).contentStatusWarning), + ColorTokenItem( + name: 'contentBrandPrimary', + value: theme.colorScheme(context).contentBrandPrimary, + ), + ColorTokenItem( + name: 'contentBrandSecondary', + value: theme.colorScheme(context).contentBrandSecondary, + ), + ColorTokenItem( + name: 'contentBrandTertiary', + value: theme.colorScheme(context).contentBrandTertiary, + ), + ColorTokenItem( + name: 'contentDefault', + value: theme.colorScheme(context).contentDefault, + ), + ColorTokenItem( + name: 'contentDisabled', + value: theme.colorScheme(context).contentDisabled, + ), + ColorTokenItem( + name: 'contentInverse', + value: theme.colorScheme(context).contentInverse, + ), + ColorTokenItem( + name: 'contentMuted', + value: theme.colorScheme(context).contentMuted, + ), + ColorTokenItem( + name: 'contentOnActionDisabled', + value: theme.colorScheme(context).contentOnActionDisabled, + ), + ColorTokenItem( + name: 'contentOnActionEnabled', + value: theme.colorScheme(context).contentOnActionEnabled, + ), + ColorTokenItem( + name: 'contentOnActionFocus', + value: theme.colorScheme(context).contentOnActionFocus, + ), + ColorTokenItem( + name: 'contentOnActionHighlighted', + value: theme.colorScheme(context).contentOnActionHighlighted, + ), + ColorTokenItem( + name: 'contentOnActionHover', + value: theme.colorScheme(context).contentOnActionHover, + ), + ColorTokenItem( + name: 'contentOnActionLoading', + value: theme.colorScheme(context).contentOnActionLoading, + ), + ColorTokenItem( + name: 'contentOnActionPressed', + value: theme.colorScheme(context).contentOnActionPressed, + ), + ColorTokenItem( + name: 'contentOnActionSelected', + value: theme.colorScheme(context).contentOnActionSelected, + ), + ColorTokenItem( + name: 'contentOnBrandPrimary', + value: theme.colorScheme(context).contentOnBrandPrimary, + ), + ColorTokenItem( + name: 'contentOnBrandSecondary', + value: theme.colorScheme(context).contentOnBrandSecondary, + ), + ColorTokenItem( + name: 'contentOnBrandTertiary', + value: theme.colorScheme(context).contentOnBrandTertiary, + ), + ColorTokenItem( + name: 'contentOnStatusPositiveEmphasized', + value: theme.colorScheme(context).contentOnStatusPositiveEmphasized, + ), + ColorTokenItem( + name: 'contentOnStatusInfoEmphasized', + value: theme.colorScheme(context).contentOnStatusInfoEmphasized, + ), + ColorTokenItem( + name: 'contentOnStatusInfoMuted', + value: theme.colorScheme(context).contentOnStatusInfoMuted, + ), + ColorTokenItem( + name: 'contentOnStatusNegativeEmphasized', + value: theme.colorScheme(context).contentOnStatusNegativeEmphasized, + ), + ColorTokenItem( + name: 'contentOnStatusNegativeMuted', + value: theme.colorScheme(context).contentOnStatusNegativeMuted, + ), + ColorTokenItem( + name: 'contentOnStatusAccentEmphasized', + value: theme.colorScheme(context).contentOnStatusAccentEmphasized, + ), + ColorTokenItem( + name: 'contentOnStatusAccentMuted', + value: theme.colorScheme(context).contentOnStatusAccentMuted, + ), + ColorTokenItem( + name: 'contentStatusAccent', + value: theme.colorScheme(context).contentStatusAccent, + ), + ColorTokenItem( + name: 'contentStatusInfo', + value: theme.colorScheme(context).contentStatusInfo, + ), + ColorTokenItem( + name: 'contentStatusNegative', + value: theme.colorScheme(context).contentStatusNegative, + ), + ColorTokenItem( + name: 'contentStatusPositive', + value: theme.colorScheme(context).contentStatusPositive, + ), + ColorTokenItem( + name: 'contentStatusWarning', + value: theme.colorScheme(context).contentStatusWarning, + ), ], context.l10n.app_tokens_color_overlay_label: [ - ColorTokenItem(name: 'overlayDropdown', value: theme.colorScheme(context).overlayDropdown), - ColorTokenItem(name: 'overlayTooltip', value: theme.colorScheme(context).overlayTooltip), - ColorTokenItem(name: 'overlayDrag', value: theme.colorScheme(context).overlayDrag), - ColorTokenItem(name: 'overlayModal', value: theme.colorScheme(context).overlayModal), + ColorTokenItem( + name: 'overlayDropdown', + value: theme.colorScheme(context).overlayDropdown, + ), + ColorTokenItem( + name: 'overlayTooltip', + value: theme.colorScheme(context).overlayTooltip, + ), + ColorTokenItem( + name: 'overlayDrag', + value: theme.colorScheme(context).overlayDrag, + ), + ColorTokenItem( + name: 'overlayModal', + value: theme.colorScheme(context).overlayModal, + ), ], context.l10n.app_tokens_color_surface_label: [ - ColorTokenItem(name: 'surfaceBrandPrimary', value: theme.colorScheme(context).surfaceBrandPrimary), - ColorTokenItem(name: 'surfaceBrandSecondary', value: theme.colorScheme(context).surfaceBrandSecondary), - ColorTokenItem(name: 'surfaceBrandTertiary', value: theme.colorScheme(context).surfaceBrandTertiary), - ColorTokenItem(name: 'surfaceInverseHigh', value: theme.colorScheme(context).surfaceInverseHigh), - ColorTokenItem(name: 'surfaceInverseLow', value: theme.colorScheme(context).surfaceInverseLow), - ColorTokenItem(name: 'surfacePrimary', value: theme.colorScheme(context).surfacePrimary), - ColorTokenItem(name: 'surfaceSecondary', value: theme.colorScheme(context).surfaceSecondary), - ColorTokenItem(name: 'surfaceTertiary', value: theme.colorScheme(context).surfaceTertiary), - ColorTokenItem(name: 'surfaceStatusAccentEmphasized', value: theme.colorScheme(context).surfaceStatusAccentEmphasized), - ColorTokenItem(name: 'surfaceStatusAccentMuted', value: theme.colorScheme(context).surfaceStatusAccentMuted), - ColorTokenItem(name: 'surfaceStatusInfoEmphasized', value: theme.colorScheme(context).surfaceStatusInfoEmphasized), - ColorTokenItem(name: 'surfaceStatusInfoMuted', value: theme.colorScheme(context).surfaceStatusInfoMuted), - ColorTokenItem(name: 'surfaceStatusNegativeEmphasized', value: theme.colorScheme(context).surfaceStatusNegativeEmphasized), - ColorTokenItem(name: 'surfaceStatusNegativeMuted', value: theme.colorScheme(context).surfaceStatusNegativeMuted), - ColorTokenItem(name: 'surfaceStatusPositiveEmphasized', value: theme.colorScheme(context).surfaceStatusPositiveEmphasized), - ColorTokenItem(name: 'surfaceStatusPositiveMuted', value: theme.colorScheme(context).surfaceStatusPositiveMuted), - ColorTokenItem(name: 'surfaceStatusWarningEmphasized', value: theme.colorScheme(context).surfaceStatusWarningEmphasized), - ColorTokenItem(name: 'surfaceStatusWarningMuted', value: theme.colorScheme(context).surfaceStatusWarningMuted), + ColorTokenItem( + name: 'surfaceBrandPrimary', + value: theme.colorScheme(context).surfaceBrandPrimary, + ), + ColorTokenItem( + name: 'surfaceBrandSecondary', + value: theme.colorScheme(context).surfaceBrandSecondary, + ), + ColorTokenItem( + name: 'surfaceBrandTertiary', + value: theme.colorScheme(context).surfaceBrandTertiary, + ), + ColorTokenItem( + name: 'surfaceInverseHigh', + value: theme.colorScheme(context).surfaceInverseHigh, + ), + ColorTokenItem( + name: 'surfaceInverseLow', + value: theme.colorScheme(context).surfaceInverseLow, + ), + ColorTokenItem( + name: 'surfacePrimary', + value: theme.colorScheme(context).surfacePrimary, + ), + ColorTokenItem( + name: 'surfaceSecondary', + value: theme.colorScheme(context).surfaceSecondary, + ), + ColorTokenItem( + name: 'surfaceTertiary', + value: theme.colorScheme(context).surfaceTertiary, + ), + ColorTokenItem( + name: 'surfaceStatusAccentEmphasized', + value: theme.colorScheme(context).surfaceStatusAccentEmphasized, + ), + ColorTokenItem( + name: 'surfaceStatusAccentMuted', + value: theme.colorScheme(context).surfaceStatusAccentMuted, + ), + ColorTokenItem( + name: 'surfaceStatusInfoEmphasized', + value: theme.colorScheme(context).surfaceStatusInfoEmphasized, + ), + ColorTokenItem( + name: 'surfaceStatusInfoMuted', + value: theme.colorScheme(context).surfaceStatusInfoMuted, + ), + ColorTokenItem( + name: 'surfaceStatusNegativeEmphasized', + value: theme.colorScheme(context).surfaceStatusNegativeEmphasized, + ), + ColorTokenItem( + name: 'surfaceStatusNegativeMuted', + value: theme.colorScheme(context).surfaceStatusNegativeMuted, + ), + ColorTokenItem( + name: 'surfaceStatusPositiveEmphasized', + value: theme.colorScheme(context).surfaceStatusPositiveEmphasized, + ), + ColorTokenItem( + name: 'surfaceStatusPositiveMuted', + value: theme.colorScheme(context).surfaceStatusPositiveMuted, + ), + ColorTokenItem( + name: 'surfaceStatusWarningEmphasized', + value: theme.colorScheme(context).surfaceStatusWarningEmphasized, + ), + ColorTokenItem( + name: 'surfaceStatusWarningMuted', + value: theme.colorScheme(context).surfaceStatusWarningMuted, + ), ], }); } diff --git a/ouds_core/CHANGELOG.md b/ouds_core/CHANGELOG.md index 24afd63d9..ed3ed0e32 100644 --- a/ouds_core/CHANGELOG.md +++ b/ouds_core/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed +- [Library] update tokens 2.4.0 ([#726](https://github.com/Orange-OpenSource/ouds-flutter/issues/726)) - [Library] update tokens 1.9.0 - Component Bullet List ([#710](https://github.com/Orange-OpenSource/ouds-flutter/issues/710)) - [Library] update tokens 1.9.0 - Component Alert ([#672](https://github.com/Orange-OpenSource/ouds-flutter/issues/672)) diff --git a/ouds_core/README.md b/ouds_core/README.md index 0c759b1e4..6c1ab3db0 100644 --- a/ouds_core/README.md +++ b/ouds_core/README.md @@ -32,7 +32,7 @@ It is intended to replace internal frameworks and the previous [ODS](https://git ## Tokens version -- **OUDS core token version**: 1.9.0. +- **OUDS core token version**: 1.10.0. ## Other OUDS Libraries @@ -56,16 +56,32 @@ It is intended to replace internal frameworks and the previous [ODS](https://git Alert Message - 1.1.0 + 1.1.1 Badge 1.2.0 + + Badge Count + 1.2.0 + + + Badge Icon + 1.3.0 + Bar 1.0.0 + + Bottom Sheet + 1.0.0 + + + Bullet List + 1.1.0 + Button 3.2.0 @@ -74,49 +90,57 @@ It is intended to replace internal frameworks and the previous [ODS](https://git Checkbox 2.4.0 - - Chip - 1.3.0 - Divider 1.0.0 + + Filter Chip + 1.4.0 + Inline Alert 1.0.0 + + Input Tag + 1.2.0 + Link 2.2.0 Password Input - 1.2.0 + 1.3.0 Phone Number Input - 1.2.0 + 1.3.0 Pin Code Input - 1.2.0 + 1.3.0 Radio Button 1.4.0 + + Suggestion Chip + 1.4.0 + Switch 1.5.0 Tag - 1.4.0 + 1.5.0 Text Input - 1.3.0 + 1.4.0 @@ -166,7 +190,7 @@ dependency_overrides: ### Localization -To set up localization for the `ouds_core` library, you need to set the `OudsLocalizations.delegate` in the `localizationsDelegates` properties of the `MaterialApp`. +To set up localization for the `ouds_core` library, you need to set the `OudsLocalizations.delegate` in the `localizationsDelegates` properties of the `MaterialApp`. ### Implementation @@ -188,7 +212,7 @@ To set up localization for the `ouds_core` library, you need to set the `OudsLoc }, ); ``` -### Custom Implementation +### Custom Implementation To customize the Orange theme (e.g., apply rounded corners or adjust spacing), wrap the `OudsTheme` with `OudsThemeConfigModel`. @@ -309,4 +333,4 @@ this SDK does not require any device permission to work. ## Copyright and license Code released under the [MIT License](https://github.com/Orange-OpenSource/ouds-flutter/blob/develop/LICENSE). -For images and other assets, please [refer to the NOTICE.txt](https://github.com/Orange-OpenSource/ouds-flutter/blob/develop/NOTICE.txt). +For images and other assets, please [refer to the NOTICE.txt](https://github.com/Orange-OpenSource/ouds-flutter/blob/develop/NOTICE.txt). \ No newline at end of file diff --git a/ouds_core/lib/components/badge/ouds_badge.dart b/ouds_core/lib/components/badge/ouds_badge.dart index bf37f668d..72825205b 100644 --- a/ouds_core/lib/components/badge/ouds_badge.dart +++ b/ouds_core/lib/components/badge/ouds_badge.dart @@ -23,22 +23,13 @@ import 'package:ouds_theme_contract/ouds_theme.dart'; /// @nodoc /// this is an internal enum should not be exposed to the user -enum _OudsBadgeType { - icon, - count, - standard, -} +enum _OudsBadgeType { icon, count, standard } /// The [OudsBadgeStatus] enum defines the visual importance of the badge within the UI. -@Deprecated('use OudsIconStatus subclasses (Neutral, Accent, Positive, Info, Warning, Negative). This type will be removed in the next major release.') -enum OudsBadgeStatus { - negative, - accent, - positive, - info, - warning, - neutral, -} +@Deprecated( + 'use OudsIconStatus subclasses (Neutral, Accent, Positive, Info, Warning, Negative). This type will be removed in the next major release.', +) +enum OudsBadgeStatus { negative, accent, positive, info, warning, neutral } /// @nodoc // deprecation remove : this enum is added only to support the deprecated enum and will be removed after deprecation @@ -60,12 +51,7 @@ extension OudsBadgeStatusConverter on OudsBadgeStatus { } /// The [OudsBadgeSize] enum defines the size of the badge within the UI. -enum OudsBadgeSize { - xsmall, - small, - medium, - large; -} +enum OudsBadgeSize { xsmall, small, medium, large } /// [OUDS Badge design guidelines](https://r.orange.fr/r/S-ouds-doc-badge) /// @@ -207,12 +193,16 @@ enum OudsBadgeSize { /// ``` class OudsBadge extends StatefulWidget { - @Deprecated('Use status of type OudsIconStatus instead. This parameter will be removed in a future version.') + @Deprecated( + 'Use status of type OudsIconStatus instead. This parameter will be removed in a future version.', + ) final OudsBadgeStatus? _deprecatedStatus; final OudsIconStatus? status; final OudsBadgeSize? size; final String? label; - @Deprecated('icon is now defined by status (OudsIconStatus). Use Accent(icon: ...) or Neutral(icon: ...) for custom icons.') + @Deprecated( + 'icon is now defined by status (OudsIconStatus). Use Accent(icon: ...) or Neutral(icon: ...) for custom icons.', + ) final String? icon; final Widget? child; final bool enabled; @@ -220,22 +210,25 @@ class OudsBadge extends StatefulWidget { final bool? _withIcon; /// ⚠️ **DEPRECATED:** Use [OudsBadge.standard], [OudsBadge.icon], or [OudsBadge.count] constructors instead. - @Deprecated('Use named constructors for clarity: OudsBadge.standard() for standard type, OudsBadge.icon() for icon type, or OudsBadge.count() for count type.' - ' This constructor will be removed in a future version.') + @Deprecated( + 'Use named constructors for clarity: OudsBadge.standard() for standard type, OudsBadge.icon() for icon type, or OudsBadge.count() for count type.' + ' This constructor will be removed in a future version.', + ) const OudsBadge({ super.key, OudsBadgeStatus? status, this.size = OudsBadgeSize.medium, this.label, @Deprecated( - 'icon is now defined by status (OudsIconStatus). Use Accent(icon: ...) or Neutral(icon: ...) for custom icons.') + 'icon is now defined by status (OudsIconStatus). Use Accent(icon: ...) or Neutral(icon: ...) for custom icons.', + ) this.icon, this.child, this.enabled = true, this.semanticsLabel, - }) : _deprecatedStatus = status, - status = null, - _withIcon = null; + }) : _deprecatedStatus = status, + status = null, + _withIcon = null; const OudsBadge.icon({ super.key, @@ -245,10 +238,10 @@ class OudsBadge extends StatefulWidget { this.semanticsLabel, this.status, bool withIcon = true, - }) : label = null, - icon = null, - _deprecatedStatus = null, - _withIcon = withIcon; + }) : label = null, + icon = null, + _deprecatedStatus = null, + _withIcon = withIcon; const OudsBadge.standard({ super.key, @@ -257,10 +250,10 @@ class OudsBadge extends StatefulWidget { this.enabled = true, this.semanticsLabel, this.status, - }) : label = null, - icon = null, - _deprecatedStatus = null, - _withIcon = false; + }) : label = null, + icon = null, + _deprecatedStatus = null, + _withIcon = false; const OudsBadge.count({ super.key, @@ -270,9 +263,9 @@ class OudsBadge extends StatefulWidget { this.enabled = true, this.semanticsLabel, this.status, - }) : icon = null, - _deprecatedStatus = null, - _withIcon = false; + }) : icon = null, + _deprecatedStatus = null, + _withIcon = false; @override State createState() => _OudsBadgeState(); @@ -315,15 +308,21 @@ class _OudsBadgeState extends State { final scaledSize = textScaler.scale(badgeSizeModifier.getSize(widget.size)); return Container( - width: type == _OudsBadgeType.count || type == _OudsBadgeType.standard ? null : scaledSize, - height: type == _OudsBadgeType.count || type == _OudsBadgeType.standard ? null : scaledSize, + width: type == _OudsBadgeType.count || type == _OudsBadgeType.standard + ? null + : scaledSize, + height: type == _OudsBadgeType.count || type == _OudsBadgeType.standard + ? null + : scaledSize, constraints: BoxConstraints( minHeight: scaledSize, minWidth: scaledSize, - maxHeight: type == _OudsBadgeType.count || type == _OudsBadgeType.standard + maxHeight: + type == _OudsBadgeType.count || type == _OudsBadgeType.standard ? double.infinity : scaledSize, - maxWidth: type == _OudsBadgeType.count || type == _OudsBadgeType.standard + maxWidth: + type == _OudsBadgeType.count || type == _OudsBadgeType.standard ? double.infinity : scaledSize, ), @@ -336,29 +335,42 @@ class _OudsBadgeState extends State { alignment: widget.size == OudsBadgeSize.large ? AlignmentDirectional(5, -1.5) : widget.size == OudsBadgeSize.medium - ? AlignmentDirectional(2, -1.3) - : null, + ? AlignmentDirectional(2, -1.3) + : null, padding: widget.size == OudsBadgeSize.large ? EdgeInsets.only( - left: badge.spaceInset, right: badge.spaceInset) + left: badge.spaceInsetMediumLarge, + right: badge.spaceInsetMediumLarge, + ) : null, + backgroundColor: badgeStatusModifier.getStatusColor( - widget._deprecatedStatus, _effectiveStatus, widget.enabled), + widget._deprecatedStatus, + _effectiveStatus, + widget.enabled, + ), child: widget.child, ) : Badge( padding: widget.icon != null || hasIcon ? EdgeInsets.only( - left: badge.spaceInset, right: badge.spaceInset) + left: badge.spaceInsetMediumLarge, + right: badge.spaceInsetMediumLarge, + ) : widget.size == OudsBadgeSize.large - ? EdgeInsets.only( - left: badge.spacePaddingInlineLarge, - right: badge.spacePaddingInlineLarge) - : EdgeInsets.only( - left: badge.spacePaddingInlineMedium, - right: badge.spacePaddingInlineMedium), + ? EdgeInsets.only( + left: badge.spacePaddingInlineLarge, + right: badge.spacePaddingInlineLarge, + ) + : EdgeInsets.only( + left: badge.spacePaddingInlineMedium, + right: badge.spacePaddingInlineMedium, + ), backgroundColor: badgeStatusModifier.getStatusColor( - widget._deprecatedStatus, _effectiveStatus, widget.enabled), + widget._deprecatedStatus, + _effectiveStatus, + widget.enabled, + ), label: badgeLabel, child: widget.child, ), @@ -378,19 +390,23 @@ class _OudsBadgeState extends State { _formattedLabel(), style: widget.size == OudsBadgeSize.large ? theme.typographyTokens - .typeLabelDefaultMedium(context) - .copyWith( + .typeLabelDefaultMedium(context) + .copyWith( color: badgeStatusModifier.getStatusTextAndIconColor( - widget._deprecatedStatus, - _effectiveStatus, - widget.enabled)) + widget._deprecatedStatus, + _effectiveStatus, + widget.enabled, + ), + ) : theme.typographyTokens - .typeLabelDefaultSmall(context) - .copyWith( + .typeLabelDefaultSmall(context) + .copyWith( color: badgeStatusModifier.getStatusTextAndIconColor( - widget._deprecatedStatus, - _effectiveStatus, - widget.enabled)), + widget._deprecatedStatus, + _effectiveStatus, + widget.enabled, + ), + ), textAlign: TextAlign.center, ), ) @@ -403,8 +419,10 @@ class _OudsBadgeState extends State { final badgeStatusModifier = OudsBadgeStatusModifier(context); // This gets the fixed icon for Positive, Negative, etc. - final fixedIcon = - badgeStatusModifier.getIcon(widget._deprecatedStatus, _effectiveStatus); + final fixedIcon = badgeStatusModifier.getIcon( + widget._deprecatedStatus, + _effectiveStatus, + ); // This correctly gets the user-defined icon for Neutral and Accent final userDefinedIcon = badgeStatusModifier.getAssetsName(_effectiveStatus); @@ -421,11 +439,15 @@ class _OudsBadgeState extends State { excludeFromSemantics: true, iconPath, fit: BoxFit.contain, - package: - fixedIcon != null ? OudsTheme.of(context).packageName : null, + package: fixedIcon != null + ? OudsTheme.of(context).packageName + : null, colorFilter: ColorFilter.mode( badgeStatusModifier.getStatusTextAndIconColor( - widget._deprecatedStatus, _effectiveStatus, widget.enabled), + widget._deprecatedStatus, + _effectiveStatus, + widget.enabled, + ), BlendMode.srcIn, ), ), @@ -460,7 +482,8 @@ class _OudsBadgeState extends State { /// - [_OudsBadgeType.standard]: when neither icon nor label applies (fallback case). _OudsBadgeType get type { final isMediumOrLarge = - widget.size == OudsBadgeSize.medium || widget.size == OudsBadgeSize.large; + widget.size == OudsBadgeSize.medium || + widget.size == OudsBadgeSize.large; // Check for the icon property final hasIcon = switch (_effectiveStatus) { diff --git a/ouds_core/lib/components/control/internal/modifier/ouds_control_indicator.dart b/ouds_core/lib/components/control/internal/modifier/ouds_control_indicator.dart index 9b32ff599..0aa9dee81 100644 --- a/ouds_core/lib/components/control/internal/modifier/ouds_control_indicator.dart +++ b/ouds_core/lib/components/control/internal/modifier/ouds_control_indicator.dart @@ -34,12 +34,17 @@ class OudsControlIndicatorModifier { /// Returns: The size of the indicator as a `double`. double getSizeIndicator(OudsControlItemType type, BuildContext context) { // Check if the type is not switchButton and is radio - if (type != OudsControlItemType.switchButton && type == OudsControlItemType.radio) { + if (type != OudsControlItemType.switchButton && + type == OudsControlItemType.radio) { // Return the size of the radio button indicator - return OudsTheme.of(context).componentsTokens(context).radioButton.sizeIndicator; + return OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeControlIndicator; } else { // Return the size of the checkbox indicator - return OudsTheme.of(context).componentsTokens(context).checkbox.sizeIndicator; + return OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeControlIndicator; } } } diff --git a/ouds_core/lib/components/control/ouds_control_item.dart b/ouds_core/lib/components/control/ouds_control_item.dart index 68f74c547..1136acd44 100644 --- a/ouds_core/lib/components/control/ouds_control_item.dart +++ b/ouds_core/lib/components/control/ouds_control_item.dart @@ -29,11 +29,7 @@ import 'package:ouds_theme_contract/ouds_theme.dart'; import 'internal/modifier/ouds_control_tick_modifier.dart'; -enum OudsControlItemType { - switchButton, - checkbox, - radio, -} +enum OudsControlItemType { switchButton, checkbox, radio } /// Refactor of controls for [Checkbox], [Switch], and [RadioButton]. /// This implementation provides a customizable control item with properties such as text, icon, and interaction states. @@ -102,7 +98,8 @@ class OudsControlItem extends StatefulWidget { class OudsControlItemState extends State { // Create an instance of the state controller to manage interaction changes - final OudsInteractionStateController interactionState = OudsInteractionStateController(); + final OudsInteractionStateController interactionState = + OudsInteractionStateController(); bool _isHighContrast = false; @override @@ -152,7 +149,9 @@ class OudsControlItemState extends State { ); final controlItemState = controlItemStateDeterminer.determineControlState(); - final controlItemBackgroundModifier = OudsControlBackgroundModifier(context); + final controlItemBackgroundModifier = OudsControlBackgroundModifier( + context, + ); final controlBorderModifier = OudsControlBorderModifier(context); final borderTokens = OudsTheme.of(context).borderTokens; final componentsTokens = OudsTheme.of(context).componentsTokens(context); @@ -171,15 +170,17 @@ class OudsControlItemState extends State { // children: [ Container( decoration: BoxDecoration( - color: controlItemBackgroundModifier.getBackgroundColor(controlItemState), - borderRadius: BorderRadius.circular( - borderTokens.radiusNone, + color: controlItemBackgroundModifier.getBackgroundColor( + controlItemState, ), + borderRadius: BorderRadius.circular(borderTokens.radiusNone), ), constraints: BoxConstraints( - minHeight: controlItemTokens.sizeMinHeight, + minHeight: controlItemTokens.sizeMinHeightDefault, minWidth: controlItemTokens.sizeMinWidth, - maxWidth: widget.constrainedMaxWidth ? controlItemTokens.sizeMaxWidth : double.infinity, + maxWidth: widget.constrainedMaxWidth + ? controlItemTokens.sizeMaxWidth + : double.infinity, ), child: InkWell( onTap: !(controlItemState == OudsControlState.readOnly) @@ -193,7 +194,9 @@ class OudsControlItemState extends State { }); } : null, - onHighlightChanged: widget.onTap != null ? interactionState.setPressed : null, + onHighlightChanged: widget.onTap != null + ? interactionState.setPressed + : null, onHover: interactionState.setHovered, highlightColor: Colors.transparent, hoverColor: controlItemTokens.colorBgHover, @@ -205,8 +208,12 @@ class OudsControlItemState extends State { ), child: IntrinsicHeight( child: Row( - crossAxisAlignment: _isLongText() ? CrossAxisAlignment.start : CrossAxisAlignment.center, - children: widget.reversed ? _buildStandardLayout(controlItemState) : _buildInvertedLayout(controlItemState), + crossAxisAlignment: _isLongText() + ? CrossAxisAlignment.start + : CrossAxisAlignment.center, + children: widget.reversed + ? _buildStandardLayout(controlItemState) + : _buildInvertedLayout(controlItemState), ), ), ), @@ -214,7 +221,8 @@ class OudsControlItemState extends State { ), // ], //), - if (widget.outlined || (widget.selected && interactionState.isPressed)) + if (widget.outlined || + (widget.selected && interactionState.isPressed)) Positioned.fill( child: IgnorePointer( child: Container( @@ -248,16 +256,19 @@ class OudsControlItemState extends State { ], ), // Error text below the component (under the divider), with its own padding - if (widget.error && (widget.errorText != null && widget.errorText!.trim().isNotEmpty)) + if (widget.error && + (widget.errorText != null && widget.errorText!.trim().isNotEmpty)) Padding( padding: EdgeInsetsDirectional.only( start: controlItemTokens.spacePaddingInline, - top: controlItemTokens.spacePaddingBlockTopErrorText, + top: controlItemTokens.spacePaddingBlockTopHelperText, end: controlItemTokens.spacePaddingInline, ), child: Text( widget.errorText ?? '', - style: OudsTheme.of(context).typographyTokens.typeLabelDefaultMedium(context).copyWith( + style: OudsTheme.of(context).typographyTokens + .typeLabelDefaultMedium(context) + .copyWith( color: controlItemTextModifier.getErrorMessageTextColor( controlItemState, ), @@ -270,142 +281,220 @@ class OudsControlItemState extends State { } bool _isLongText() { - return (widget.text.length > 150) || ((widget.extraLabelText?.length ?? 0) > 0) || ((widget.description?.length ?? 0) > 0); + return (widget.text.length > 150) || + ((widget.extraLabelText?.length ?? 0) > 0) || + ((widget.description?.length ?? 0) > 0); } Widget controlItemDivider(BuildContext context) { - final actualThickness = OudsTheme.of(context).componentsTokens(context).divider.borderWidth; - final divider = OudsDivider.horizontal( - thickness: actualThickness, - ); + final actualThickness = OudsTheme.of( + context, + ).componentsTokens(context).divider.borderWidth; + final divider = OudsDivider.horizontal(thickness: actualThickness); - return Padding(padding: EdgeInsetsDirectional.all(OudsTheme.of(context).spaceScheme(context).fixedNone), child: divider); + return Padding( + padding: EdgeInsetsDirectional.all( + OudsTheme.of(context).spaceScheme(context).fixedNone, + ), + child: divider, + ); } List _buildStandardLayout(OudsControlState controlItemState) => [ - AbsorbPointer( - child: Container( - constraints: BoxConstraints( - maxHeight: OudsTheme.of(context).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, - minHeight: OudsTheme.of(context).componentsTokens(context).controlItem.sizeIcon, - ), - alignment: Alignment.center, - child: SizedBox( - height: widget.componentType != OudsControlItemType.switchButton - ? OudsControlIndicatorModifier(context).getSizeIndicator(widget.componentType, context) - : OudsTheme.of(context).componentsTokens(context).switchButton.sizeHeightTrack, - width: widget.componentType != OudsControlItemType.switchButton ? OudsControlIndicatorModifier(context).getSizeIndicator(widget.componentType, context) : null, - child: widget.indicator(), - ), + AbsorbPointer( + child: Container( + constraints: BoxConstraints( + maxHeight: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, + minHeight: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeIcon, + ), + alignment: Alignment.center, + child: SizedBox( + height: widget.componentType != OudsControlItemType.switchButton + ? OudsControlIndicatorModifier( + context, + ).getSizeIndicator(widget.componentType, context) + : OudsTheme.of( + context, + ).componentsTokens(context).switchButton.sizeHeightTrack, + width: widget.componentType != OudsControlItemType.switchButton + ? OudsControlIndicatorModifier( + context, + ).getSizeIndicator(widget.componentType, context) + : null, + child: widget.indicator(), + ), + ), + ), + Container( + width: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.spaceColumnGap, + ), + _buildTextWithAdditionalAndDescription(controlItemState), + if (widget.icon != null || widget.error) + Container( + width: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.spaceColumnGap, + ), + if (widget.icon != null && widget.error == false) + Container( + constraints: BoxConstraints( + maxHeight: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, + ), + alignment: Alignment.center, + child: SizedBox( + height: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeIcon, + width: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeIcon, + child: OudsControlItem.buildIcon( + context, + widget.icon!, + controlItemState, + false, ), ), - Container( - width: OudsTheme.of(context).componentsTokens(context).controlItem.spaceColumnGap, + ), + if (widget.error) + Container( + constraints: BoxConstraints( + maxHeight: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, ), - _buildTextWithAdditionalAndDescription(controlItemState), - if (widget.icon != null || widget.error) - Container( - width: OudsTheme.of(context).componentsTokens(context).controlItem.spaceColumnGap, + alignment: Alignment.center, + child: Container( + padding: EdgeInsets.symmetric( + horizontal: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.spacePaddingInlineErrorIcon, ), - if (widget.icon != null && widget.error == false) - Container( - constraints: BoxConstraints( - maxHeight: OudsTheme.of(context).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, - ), - alignment: Alignment.center, - child: SizedBox( - height: OudsTheme.of(context).componentsTokens(context).controlItem.sizeIcon, - width: OudsTheme.of(context).componentsTokens(context).controlItem.sizeIcon, - child: OudsControlItem.buildIcon( + child: SvgPicture.asset( + excludeFromSemantics: true, + width: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeErrorIcon, + height: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeErrorIcon, + AppAssets.icons.componentAlertImportantFill, + package: OudsTheme.of(context).packageName, + colorFilter: ColorFilter.mode( + OudsControlTickModifier( context, - widget.icon!, - controlItemState, - false, - ), + ).getIconErrorColor(controlItemState), + BlendMode.srcIn, ), ), - if (widget.error) - Container( - constraints: BoxConstraints( - maxHeight: OudsTheme.of(context).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, - ), - alignment: Alignment.center, - child: Container( - padding: EdgeInsets.symmetric(horizontal: OudsTheme.of(context).componentsTokens(context).controlItem.spacePaddingInlineErrorIcon), - child: SvgPicture.asset( - excludeFromSemantics: true, - width: OudsTheme.of(context).componentsTokens(context).controlItem.sizeErrorIcon, - height: OudsTheme.of(context).componentsTokens(context).controlItem.sizeErrorIcon, - AppAssets.icons.componentAlertImportantFill, - package: OudsTheme.of(context).packageName, - colorFilter: ColorFilter.mode( - OudsControlTickModifier(context).getIconErrorColor(controlItemState), - BlendMode.srcIn, - ), - ), - ), - ), - ]; + ), + ), + ]; List _buildInvertedLayout(OudsControlState controlItemState) => [ - if (widget.icon != null && widget.error == false) - Container( - constraints: BoxConstraints( - maxHeight: OudsTheme.of(context).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, - ), - alignment: Alignment.center, - child: SizedBox( - height: OudsTheme.of(context).componentsTokens(context).controlItem.sizeIcon, - width: OudsTheme.of(context).componentsTokens(context).controlItem.sizeIcon, - child: OudsControlItem.buildIcon( - context, - widget.icon!, - controlItemState, - false, - ), - ), + if (widget.icon != null && widget.error == false) + Container( + constraints: BoxConstraints( + maxHeight: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, + ), + alignment: Alignment.center, + child: SizedBox( + height: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeIcon, + width: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeIcon, + child: OudsControlItem.buildIcon( + context, + widget.icon!, + controlItemState, + false, ), - if (widget.error) - Container( - constraints: BoxConstraints( - maxHeight: OudsTheme.of(context).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, - ), - alignment: Alignment.center, - child: Container( - padding: EdgeInsets.symmetric(horizontal: OudsTheme.of(context).componentsTokens(context).controlItem.spacePaddingInlineErrorIcon), - child: SvgPicture.asset( - excludeFromSemantics: true, - AppAssets.icons.componentAlertImportantFill, - package: OudsTheme.of(context).packageName, - colorFilter: ColorFilter.mode( - OudsControlTickModifier(context).getIconErrorColor(controlItemState), - BlendMode.srcIn, - ), - ), - ), + ), + ), + if (widget.error) + Container( + constraints: BoxConstraints( + maxHeight: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, + ), + alignment: Alignment.center, + child: Container( + padding: EdgeInsets.symmetric( + horizontal: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.spacePaddingInlineErrorIcon, ), - if (widget.icon != null || widget.error) SizedBox(width: OudsTheme.of(context).componentsTokens(context).controlItem.spaceColumnGap), - _buildTextWithAdditionalAndDescription(controlItemState), - SizedBox(width: OudsTheme.of(context).componentsTokens(context).controlItem.spaceColumnGap), - AbsorbPointer( - child: Container( - constraints: BoxConstraints( - maxHeight: OudsTheme.of(context).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, - minHeight: OudsTheme.of(context).componentsTokens(context).controlItem.sizeIcon, - ), - alignment: Alignment.center, - child: SizedBox( - height: widget.componentType != OudsControlItemType.switchButton - ? OudsTheme.of(context).componentsTokens(context).controlItem.sizeLoader - : OudsTheme.of(context).componentsTokens(context).switchButton.sizeHeightTrack, - width: widget.componentType != OudsControlItemType.switchButton ? OudsTheme.of(context).componentsTokens(context).controlItem.sizeLoader : null, - child: widget.indicator(), + child: SvgPicture.asset( + excludeFromSemantics: true, + AppAssets.icons.componentAlertImportantFill, + package: OudsTheme.of(context).packageName, + colorFilter: ColorFilter.mode( + OudsControlTickModifier( + context, + ).getIconErrorColor(controlItemState), + BlendMode.srcIn, ), ), ), - ]; + ), + if (widget.icon != null || widget.error) + SizedBox( + width: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.spaceColumnGap, + ), + _buildTextWithAdditionalAndDescription(controlItemState), + SizedBox( + width: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.spaceColumnGap, + ), + AbsorbPointer( + child: Container( + constraints: BoxConstraints( + maxHeight: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, + minHeight: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeIcon, + ), + alignment: Alignment.center, + child: SizedBox( + height: widget.componentType != OudsControlItemType.switchButton + ? OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeLoader + : OudsTheme.of( + context, + ).componentsTokens(context).switchButton.sizeHeightTrack, + width: widget.componentType != OudsControlItemType.switchButton + ? OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeLoader + : null, + child: widget.indicator(), + ), + ), + ), + ]; - Widget _buildTextWithAdditionalAndDescription(OudsControlState controlItemState) { + Widget _buildTextWithAdditionalAndDescription( + OudsControlState controlItemState, + ) { final controlItemTextModifier = OudsControlTextModifier(context); final hasExtraLabelText = widget.extraLabelText?.trim().isNotEmpty ?? false; final hasDescription = widget.description?.trim().isNotEmpty ?? false; @@ -413,20 +502,33 @@ class OudsControlItemState extends State { final List columnChildren = [ Text( widget.text, - style: OudsTheme.of(context).typographyTokens.typeLabelDefaultLarge(context).copyWith( - color: controlItemTextModifier.getTextColor(controlItemState, widget.error), + style: OudsTheme.of(context).typographyTokens + .typeLabelDefaultLarge(context) + .copyWith( + color: controlItemTextModifier.getTextColor( + controlItemState, + widget.error, + ), ), ), ]; if (hasExtraLabelText) { columnChildren.add( - SizedBox(height: OudsTheme.of(context).componentsTokens(context).controlItem.spaceRowGap), + SizedBox( + height: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.spaceRowGap, + ), ); columnChildren.add( Text( widget.extraLabelText!, - style: OudsTheme.of(context).typographyTokens.typeLabelStrongMedium(context).copyWith( - color: controlItemTextModifier.getExtraLabelTextColor(controlItemState), + style: OudsTheme.of(context).typographyTokens + .typeLabelStrongMedium(context) + .copyWith( + color: controlItemTextModifier.getExtraLabelTextColor( + controlItemState, + ), ), ), ); @@ -434,13 +536,21 @@ class OudsControlItemState extends State { if (hasDescription) { columnChildren.add( - SizedBox(height: OudsTheme.of(context).componentsTokens(context).controlItem.spaceRowGap), + SizedBox( + height: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.spaceRowGap, + ), ); columnChildren.add( Text( widget.description!, - style: OudsTheme.of(context).typographyTokens.typeLabelDefaultMedium(context).copyWith( - color: controlItemTextModifier.getDescriptionTextColor(controlItemState), + style: OudsTheme.of(context).typographyTokens + .typeLabelDefaultMedium(context) + .copyWith( + color: controlItemTextModifier.getDescriptionTextColor( + controlItemState, + ), ), ), ); diff --git a/ouds_core/lib/components/navigation/internal/ouds_navigation_bar_status_modifier.dart b/ouds_core/lib/components/navigation/internal/ouds_navigation_bar_status_modifier.dart index 7413660c1..9e87df827 100644 --- a/ouds_core/lib/components/navigation/internal/ouds_navigation_bar_status_modifier.dart +++ b/ouds_core/lib/components/navigation/internal/ouds_navigation_bar_status_modifier.dart @@ -26,21 +26,32 @@ class OudsNavigationBarStatusModifier { /// Returns the content color (icon and label) for a navigation destination, /// based on its interaction [state] and whether it is [isSelected]. - Color getTextIconItemColor(OudsNavigationBarControlState state, [bool isSelected = false]) { + Color getTextIconItemColor( + OudsNavigationBarControlState state, [ + bool isSelected = false, + ]) { final barTheme = OudsTheme.of(context).componentsTokens(context).bar; + final colorTokens = OudsTheme.of(context).colorScheme(context).colorTokens; + switch (state) { case OudsNavigationBarControlState.enabled: return isSelected ? barTheme.colorContentSelectedEnabled : ThemeUtils.isDarkTheme(context) == false - ? barTheme.colorContentUnselectedEnabledLight - : barTheme.colorContentUnselectedEnabledDark; + ? colorTokens.contentColorTokens.contentMutedLight + : colorTokens.contentColorTokens.contentMutedDark; case OudsNavigationBarControlState.hovered: - return isSelected ? barTheme.colorContentSelectedHover : barTheme.colorContentUnselectedHover; + return isSelected + ? barTheme.colorContentSelectedHover + : barTheme.colorContentUnselectedHover; case OudsNavigationBarControlState.focused: - return isSelected ? barTheme.colorContentSelectedFocus : barTheme.colorContentUnselectedFocus; + return isSelected + ? barTheme.colorContentSelectedFocus + : barTheme.colorContentUnselectedFocus; case OudsNavigationBarControlState.pressed: - return isSelected ? barTheme.colorContentSelectedPressed : barTheme.colorContentUnselectedPressed; + return isSelected + ? barTheme.colorContentSelectedPressed + : barTheme.colorContentUnselectedPressed; } } @@ -49,18 +60,29 @@ class OudsNavigationBarStatusModifier { /// /// Note: in Material 3, `indicatorColor` paints the selected indicator behind the destination, /// while `overlayColor` is the transient pressed/hovered/focused overlay shown during interactions. - Color getMaterialIndicatorBarColor(OudsNavigationBarControlState state, [bool isSelected = false]) { + Color getMaterialIndicatorBarColor( + OudsNavigationBarControlState state, [ + bool isSelected = false, + ]) { final barTheme = OudsTheme.of(context).componentsTokens(context).bar; final oudsTheme = OudsTheme.of(context); switch (state) { case OudsNavigationBarControlState.enabled: - return isSelected ? barTheme.colorActiveIndicatorAndroidSelectedEnabled : oudsTheme.colorScheme(context).opacityTransparent; + return isSelected + ? barTheme.colorCurrentIndicatorAndroidSelectedEnabled + : barTheme.colorCurrentIndicatorAndroidUnselectedDisabled; case OudsNavigationBarControlState.hovered: - return isSelected ? barTheme.colorActiveIndicatorAndroidSelectedHover : barTheme.colorActiveIndicatorAndroidUnselectedHover; + return isSelected + ? barTheme.colorCurrentIndicatorAndroidSelectedHover + : barTheme.colorCurrentIndicatorAndroidUnselectedHover; case OudsNavigationBarControlState.focused: - return isSelected ? barTheme.colorActiveIndicatorAndroidSelectedFocus : barTheme.colorActiveIndicatorAndroidUnselectedFocus; + return isSelected + ? barTheme.colorCurrentIndicatorAndroidSelectedFocus + : barTheme.colorCurrentIndicatorAndroidUnselectedFocus; case OudsNavigationBarControlState.pressed: - return isSelected ? barTheme.colorActiveIndicatorAndroidSelectedPressed : barTheme.colorActiveIndicatorAndroidUnselectedPressed; + return isSelected + ? barTheme.colorCurrentIndicatorAndroidSelectedPressed + : barTheme.colorCurrentIndicatorAndroidUnselectedPressed; } } @@ -70,13 +92,21 @@ class OudsNavigationBarStatusModifier { final barTheme = OudsTheme.of(context).componentsTokens(context).bar; switch (state) { case OudsNavigationBarControlState.enabled: - return barTheme.colorActiveIndicatorCustomSelectedEnabled.withValues(alpha: barTheme.opacityActiveIndicatorCustom); + return barTheme.colorCurrentIndicatorCustomSelectedEnabled.withValues( + alpha: barTheme.opacityCurrentIndicatorCustom, + ); case OudsNavigationBarControlState.hovered: - return barTheme.colorActiveIndicatorCustomSelectedHover.withValues(alpha: barTheme.opacityActiveIndicatorCustom); + return barTheme.colorCurrentIndicatorCustomSelectedHover.withValues( + alpha: barTheme.opacityCurrentIndicatorCustom, + ); case OudsNavigationBarControlState.focused: - return barTheme.colorActiveIndicatorCustomSelectedFocus.withValues(alpha: barTheme.opacityActiveIndicatorCustom); + return barTheme.colorCurrentIndicatorCustomSelectedFocus.withValues( + alpha: barTheme.opacityCurrentIndicatorCustom, + ); case OudsNavigationBarControlState.pressed: - return barTheme.colorActiveIndicatorCustomSelectedPressed.withValues(alpha: barTheme.opacityActiveIndicatorCustom); + return barTheme.colorCurrentIndicatorCustomSelectedPressed.withValues( + alpha: barTheme.opacityCurrentIndicatorCustom, + ); } } } diff --git a/ouds_core/lib/components/navigation/ouds_navigation_bar_item.dart b/ouds_core/lib/components/navigation/ouds_navigation_bar_item.dart index 84dfebd0e..c8e56d6f7 100644 --- a/ouds_core/lib/components/navigation/ouds_navigation_bar_item.dart +++ b/ouds_core/lib/components/navigation/ouds_navigation_bar_item.dart @@ -102,10 +102,7 @@ class OudsNavigationBarItem { height: 26, //sizeIcon.iconDecorativeExtraSmall, width: 26, //sizeIcon.iconDecorativeExtraSmall, colorFilter: ColorFilter.mode( - modifier.getTextIconItemColor( - controlState, - isSelected, - ), + modifier.getTextIconItemColor(controlState, isSelected), BlendMode.srcIn, ), ); @@ -122,17 +119,27 @@ class OudsNavigationBarItem { } /// Builds the top indicator shown above the icon when the destination is selected. - Container _buildTopIndicatorBar(BuildContext context, OudsBarTokens bar, bool isSelected, OudsNavigationBarControlState controlState) { - final navigationBarStatusModifier = OudsNavigationBarStatusModifier(context); + Container _buildTopIndicatorBar( + BuildContext context, + OudsBarTokens bar, + bool isSelected, + OudsNavigationBarControlState controlState, + ) { + final navigationBarStatusModifier = OudsNavigationBarStatusModifier( + context, + ); return Container( - height: bar.sizeHeightActiveIndicatorCustom, // thickness of the bar - width: bar.sizeWidthActiveIndicatorCustomTop, // width of the bar (adjust) + height: bar.sizeHeightCurrentIndicatorCustom, // thickness of the bar + width: + bar.sizeWidthCurrentIndicatorCustomTop, // width of the bar (adjust) decoration: BoxDecoration( - color: isSelected ? navigationBarStatusModifier.getIndicatorBarColor(controlState) : Colors.transparent, + color: isSelected + ? navigationBarStatusModifier.getIndicatorBarColor(controlState) + : Colors.transparent, borderRadius: BorderRadius.horizontal( - left: Radius.circular(bar.borderRadiusActiveIndicatorCustomTop), - right: Radius.circular(bar.borderRadiusActiveIndicatorCustomTop), + left: Radius.circular(bar.borderRadiusCurrentIndicatorCustomTop), + right: Radius.circular(bar.borderRadiusCurrentIndicatorCustomTop), ), ), ); @@ -164,10 +171,24 @@ class OudsNavigationBarItem { Flexible( child: NavigationDestination( label: label, - icon: _buildBadgeIconNavigationDestination(context, icon, modifier, controlState, badge, isSelected: isSelected), - selectedIcon: _buildBadgeIconNavigationDestination(context, icon, modifier, controlState, badge, isSelected: isSelected), + icon: _buildBadgeIconNavigationDestination( + context, + icon, + modifier, + controlState, + badge, + isSelected: isSelected, + ), + selectedIcon: _buildBadgeIconNavigationDestination( + context, + icon, + modifier, + controlState, + badge, + isSelected: isSelected, + ), ), - ) + ), ], ); } @@ -191,8 +212,22 @@ class OudsNavigationBarItem { return BottomNavigationBarItem( label: label, - icon: _buildBadgeIconBottomNavigationBarItem(context, icon, modifier, controlState, badge, isSelected: isSelected), - activeIcon: _buildBadgeIconBottomNavigationBarItem(context, icon, modifier, controlState, badge, isSelected: isSelected), + icon: _buildBadgeIconBottomNavigationBarItem( + context, + icon, + modifier, + controlState, + badge, + isSelected: isSelected, + ), + activeIcon: _buildBadgeIconBottomNavigationBarItem( + context, + icon, + modifier, + controlState, + badge, + isSelected: isSelected, + ), ); } @@ -227,10 +262,7 @@ class OudsNavigationBarItem { height: 26, //sizeIcon.iconDecorativeExtraSmall, width: 26, //sizeIcon.iconDecorativeExtraSmall, colorFilter: ColorFilter.mode( - modifier.getTextIconItemColor( - controlState, - isSelected, - ), + modifier.getTextIconItemColor(controlState, isSelected), BlendMode.srcIn, ), ); @@ -239,14 +271,14 @@ class OudsNavigationBarItem { ? Column( children: [ _buildTopIndicatorBar(context, bar, isSelected, controlState), - SizedBox( - height: 2, - ), + SizedBox(height: 2), OudsBadge.count( semanticsLabel: badge.contentDescription, label: badge.count.toString(), status: Negative(), - size: badge.hasCount ? OudsBadgeSize.medium : OudsBadgeSize.xsmall, + size: badge.hasCount + ? OudsBadgeSize.medium + : OudsBadgeSize.xsmall, child: widgetIcon, ), ], @@ -254,9 +286,7 @@ class OudsNavigationBarItem { : Column( children: [ _buildTopIndicatorBar(context, bar, isSelected, controlState), - SizedBox( - height: 2, - ), + SizedBox(height: 2), widgetIcon, ], ); diff --git a/ouds_core/lib/components/radio_button/ouds_radio_button.dart b/ouds_core/lib/components/radio_button/ouds_radio_button.dart index 24cde81a8..0b5395cc4 100644 --- a/ouds_core/lib/components/radio_button/ouds_radio_button.dart +++ b/ouds_core/lib/components/radio_button/ouds_radio_button.dart @@ -110,10 +110,17 @@ class OudsRadioButtonState extends State> { @override Widget build(BuildContext context) { - final interactionModelHover = OudsInheritedInteractionModel.of(context, InteractionAspect.hover); - final interactionModelPressed = OudsInheritedInteractionModel.of(context, InteractionAspect.pressed); + final interactionModelHover = OudsInheritedInteractionModel.of( + context, + InteractionAspect.hover, + ); + final interactionModelPressed = OudsInheritedInteractionModel.of( + context, + InteractionAspect.pressed, + ); final isHoveredInherited = interactionModelHover?.state.isHovered ?? false; - final isPressedInherited = interactionModelPressed?.state.isPressed ?? false; + final isPressedInherited = + interactionModelPressed?.state.isPressed ?? false; final isEnabled = widget.onChanged != null; final bool isReadOnly = widget.readOnly; @@ -126,15 +133,22 @@ class OudsRadioButtonState extends State> { final radioButtonState = radioButtonStateDeterminer.determineControlState(); final radioButtonBorderModifier = OudsControlBorderModifier(context); - final radioButtonBackgroundModifier = OudsControlBackgroundModifier(context); + final radioButtonBackgroundModifier = OudsControlBackgroundModifier( + context, + ); final radioButtonTickModifier = OudsControlTickModifier(context); - final radioButton = OudsTheme.of(context).componentsTokens(context).radioButton; - final controlItem = OudsTheme.of(context).componentsTokens(context).controlItem; + final radioButton = OudsTheme.of( + context, + ).componentsTokens(context).radioButton; + final controlItem = OudsTheme.of( + context, + ).componentsTokens(context).controlItem; final l10n = OudsLocalizations.of(context); return Semantics( enabled: widget.onChanged != null && !(widget.readOnly), - label: "${_selected ? l10n?.core_common_selected_a11y : l10n?.core_common_unselected_a11y} " + label: + "${_selected ? l10n?.core_common_selected_a11y : l10n?.core_common_unselected_a11y} " "${l10n?.core_radioButton_radioButton_a11y}", value: widget.isError ? l10n?.core_common_error_a11y : null, child: SizedBox( @@ -169,15 +183,21 @@ class OudsRadioButtonState extends State> { minWidth: radioButton.sizeMinWidth, ), decoration: BoxDecoration( - color: _isPressed ? radioButtonBackgroundModifier.getBackgroundColor(radioButtonState) : Colors.transparent, + color: _isPressed + ? radioButtonBackgroundModifier.getBackgroundColor( + radioButtonState, + ) + : Colors.transparent, borderRadius: BorderRadius.circular( - radioButtonBorderModifier.getBorderRadius(controlItem.borderRadiusItemOnly), + radioButtonBorderModifier.getBorderRadius( + controlItem.borderRadiusItemOnly, + ), ), ), child: Center( child: SizedBox( - width: radioButton.sizeIndicator, - height: radioButton.sizeIndicator, + width: controlItem.sizeControlIndicator, + height: controlItem.sizeControlIndicator, child: Stack( fit: StackFit.expand, children: [ @@ -185,11 +205,22 @@ class OudsRadioButtonState extends State> { DecoratedBox( decoration: BoxDecoration( border: OudsBorder().borderAll( - color: radioButtonBorderModifier.getBorderColor(radioButtonState, widget.isError, _selected, _isHighContrast), - width: radioButtonBorderModifier.getBorderWidth(radioButtonState, _selected, radioButton), + color: radioButtonBorderModifier.getBorderColor( + radioButtonState, + widget.isError, + _selected, + _isHighContrast, + ), + width: radioButtonBorderModifier.getBorderWidth( + radioButtonState, + _selected, + radioButton, + ), ), borderRadius: BorderRadius.circular( - radioButtonBorderModifier.getBorderRadius(radioButton.borderRadius), + radioButtonBorderModifier.getBorderRadius( + radioButton.borderRadius, + ), ), ), ), @@ -198,7 +229,9 @@ class OudsRadioButtonState extends State> { if (_selected) Center( child: ClipRRect( - borderRadius: BorderRadius.circular(radioButton.borderRadius), + borderRadius: BorderRadius.circular( + radioButton.borderRadius, + ), child: SvgPicture.asset( AppAssets.icons.componentRadioButtonSelected, excludeFromSemantics: true, diff --git a/ouds_theme_contract/CHANGELOG.md b/ouds_theme_contract/CHANGELOG.md index c162d1240..9b14653a5 100644 --- a/ouds_theme_contract/CHANGELOG.md +++ b/ouds_theme_contract/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed +- [Library] update tokens 2.4.0 ([#726](https://github.com/Orange-OpenSource/ouds-flutter/issues/726)) - [Library] update tokens 1.9.0 - Component Bullet List ([#710](https://github.com/Orange-OpenSource/ouds-flutter/issues/710)) - [Library] update tokens 1.9.0 - Component Alert ([#672](https://github.com/Orange-OpenSource/ouds-flutter/issues/672)) diff --git a/ouds_theme_contract/lib/ouds_component_version.dart b/ouds_theme_contract/lib/ouds_component_version.dart index aa4068391..7a8430f4a 100644 --- a/ouds_theme_contract/lib/ouds_component_version.dart +++ b/ouds_theme_contract/lib/ouds_component_version.dart @@ -13,27 +13,27 @@ // Generated by Tokenator class OudsComponentVersion { - static const alertMessage = '1.1.0'; - static const badge = '1.2.0'; - static const badgeCount = '1.2.0'; - static const badgeIcon = '1.3.0'; - static const bar = '1.0.0'; - static const bottomSheet = '1.0.0'; - static const bulletList = '1.1.0'; - static const button = '3.2.0'; - static const checkbox = '2.4.0'; - static const divider = '1.0.0'; - static const filterChip = '1.4.0'; - static const inlineAlert = '1.0.0'; - static const inputTag = '1.2.0'; - static const link = '2.2.0'; - static const passwordInput = '1.3.0'; - static const phoneNumberInput = '1.3.0'; - static const pinCodeInput = '1.3.0'; - static const radioButton = '1.4.0'; - static const skeleton = '1.0.0'; - static const suggestionChip = '1.4.0'; - static const switchButton = '1.5.0'; - static const tag = '1.5.0'; - static const textInput = '1.4.0'; + static const alertMessage = '1.1.0'; + static const badge = '1.2.0'; + static const badgeCount = '1.2.0'; + static const badgeIcon = '1.3.0'; + static const bar = '1.0.0'; + static const bottomSheet = '1.0.0'; + static const bulletList = '1.1.0'; + static const button = '3.2.0'; + static const checkbox = '2.4.0'; + static const divider = '1.0.0'; + static const filterChip = '1.4.0'; + static const inlineAlert = '1.0.0'; + static const inputTag = '1.2.0'; + static const link = '2.2.0'; + static const passwordInput = '1.3.0'; + static const phoneNumberInput = '1.3.0'; + static const pinCodeInput = '1.3.0'; + static const radioButton = '1.4.0'; + static const skeleton = '1.0.0'; + static const suggestionChip = '1.4.0'; + static const switchButton = '1.5.0'; + static const tag = '1.5.0'; + static const textInput = '1.4.0'; } diff --git a/ouds_theme_contract/lib/theme/scheme/color/ouds_color_scheme.dart b/ouds_theme_contract/lib/theme/scheme/color/ouds_color_scheme.dart index 6a7736a3c..e6b476f74 100644 --- a/ouds_theme_contract/lib/theme/scheme/color/ouds_color_scheme.dart +++ b/ouds_theme_contract/lib/theme/scheme/color/ouds_color_scheme.dart @@ -23,10 +23,7 @@ class OudsColorScheme { final OudsColorSemanticTokens colorTokens; final bool isDarkTheme; - OudsColorScheme({ - required this.colorTokens, - required this.isDarkTheme, - }); + OudsColorScheme({required this.colorTokens, required this.isDarkTheme}); /// Creates an [OudsColorScheme] based on the current theme mode. /// @@ -41,7 +38,10 @@ class OudsColorScheme { required OudsColorSemanticTokens colorTokens, }) { final themeMode = OudsTheme.modeOf(context); - final isDark = themeMode == ThemeMode.system ? WidgetsBinding.instance.platformDispatcher.platformBrightness == Brightness.dark : themeMode == ThemeMode.dark; + final isDark = themeMode == ThemeMode.system + ? WidgetsBinding.instance.platformDispatcher.platformBrightness == + Brightness.dark + : themeMode == ThemeMode.dark; return OudsColorScheme(colorTokens: colorTokens, isDarkTheme: isDark); } @@ -50,51 +50,93 @@ class OudsColorScheme { T lightDark(T light, T dark) => isDarkTheme ? dark : light; /// Color - Action - Color get actionDisabled => isDarkTheme ? colorTokens.actionColorTokens.actionDisabledDark : colorTokens.actionColorTokens.actionDisabledLight; + Color get actionDisabled => isDarkTheme + ? colorTokens.actionColorTokens.actionDisabledDark + : colorTokens.actionColorTokens.actionDisabledLight; - Color get actionEnabled => isDarkTheme ? colorTokens.actionColorTokens.actionEnabledDark : colorTokens.actionColorTokens.actionEnabledLight; + Color get actionEnabled => isDarkTheme + ? colorTokens.actionColorTokens.actionEnabledDark + : colorTokens.actionColorTokens.actionEnabledLight; - Color get actionFocus => isDarkTheme ? colorTokens.actionColorTokens.actionFocusDark : colorTokens.actionColorTokens.actionFocusLight; + Color get actionFocus => isDarkTheme + ? colorTokens.actionColorTokens.actionFocusDark + : colorTokens.actionColorTokens.actionFocusLight; - Color get actionHighlighted => isDarkTheme ? colorTokens.actionColorTokens.actionHighlightedDark : colorTokens.actionColorTokens.actionHighlightedLight; + Color get actionHighlighted => isDarkTheme + ? colorTokens.actionColorTokens.actionHighlightedDark + : colorTokens.actionColorTokens.actionHighlightedLight; - Color get actionHover => isDarkTheme ? colorTokens.actionColorTokens.actionHoverDark : colorTokens.actionColorTokens.actionHoverLight; + Color get actionHover => isDarkTheme + ? colorTokens.actionColorTokens.actionHoverDark + : colorTokens.actionColorTokens.actionHoverLight; - Color get actionLoading => isDarkTheme ? colorTokens.actionColorTokens.actionLoadingDark : colorTokens.actionColorTokens.actionLoadingLight; + Color get actionLoading => isDarkTheme + ? colorTokens.actionColorTokens.actionLoadingDark + : colorTokens.actionColorTokens.actionLoadingLight; - Color get actionNegativeEnabled => isDarkTheme ? colorTokens.actionColorTokens.actionNegativeEnabledDark : colorTokens.actionColorTokens.actionNegativeEnabledLight; + Color get actionNegativeEnabled => isDarkTheme + ? colorTokens.actionColorTokens.actionNegativeEnabledDark + : colorTokens.actionColorTokens.actionNegativeEnabledLight; - Color get actionNegativeFocus => isDarkTheme ? colorTokens.actionColorTokens.actionNegativeFocusDark : colorTokens.actionColorTokens.actionNegativeFocusLight; + Color get actionNegativeFocus => isDarkTheme + ? colorTokens.actionColorTokens.actionNegativeFocusDark + : colorTokens.actionColorTokens.actionNegativeFocusLight; - Color get actionNegativeHover => isDarkTheme ? colorTokens.actionColorTokens.actionNegativeHoverDark : colorTokens.actionColorTokens.actionNegativeHoverLight; + Color get actionNegativeHover => isDarkTheme + ? colorTokens.actionColorTokens.actionNegativeHoverDark + : colorTokens.actionColorTokens.actionNegativeHoverLight; - Color get actionNegativeLoading => isDarkTheme ? colorTokens.actionColorTokens.actionNegativeLoadingDark : colorTokens.actionColorTokens.actionNegativeLoadingLight; + Color get actionNegativeLoading => isDarkTheme + ? colorTokens.actionColorTokens.actionNegativeLoadingDark + : colorTokens.actionColorTokens.actionNegativeLoadingLight; - Color get actionNegativePressed => isDarkTheme ? colorTokens.actionColorTokens.actionNegativePressedDark : colorTokens.actionColorTokens.actionNegativePressedLight; + Color get actionNegativePressed => isDarkTheme + ? colorTokens.actionColorTokens.actionNegativePressedDark + : colorTokens.actionColorTokens.actionNegativePressedLight; - Color get actionPressed => isDarkTheme ? colorTokens.actionColorTokens.actionPressedDark : colorTokens.actionColorTokens.actionPressedLight; + Color get actionPressed => isDarkTheme + ? colorTokens.actionColorTokens.actionPressedDark + : colorTokens.actionColorTokens.actionPressedLight; - Color get actionIosAccent => isDarkTheme ? colorTokens.actionColorTokens.actionIosAccentDark : colorTokens.actionColorTokens.actionIosAccentLight; + Color get actionSelected => isDarkTheme + ? colorTokens.actionColorTokens.actionSelectedDark + : colorTokens.actionColorTokens.actionSelectedLight; - Color get actionSelected => isDarkTheme ? colorTokens.actionColorTokens.actionSelectedDark : colorTokens.actionColorTokens.actionSelectedLight; + Color get actionSupportEnabled => isDarkTheme + ? colorTokens.actionColorTokens.actionSupportEnabledDark + : colorTokens.actionColorTokens.actionSupportEnabledLight; - Color get actionSupportEnabled => isDarkTheme ? colorTokens.actionColorTokens.actionSupportEnabledDark : colorTokens.actionColorTokens.actionSupportEnabledLight; + Color get actionSupportDisabled => isDarkTheme + ? colorTokens.actionColorTokens.actionSupportDisabledDark + : colorTokens.actionColorTokens.actionSupportDisabledLight; - Color get actionSupportDisabled => isDarkTheme ? colorTokens.actionColorTokens.actionSupportDisabledDark : colorTokens.actionColorTokens.actionSupportDisabledLight; + Color get actionSupportFocus => isDarkTheme + ? colorTokens.actionColorTokens.actionSupportFocusDark + : colorTokens.actionColorTokens.actionSupportFocusLight; - Color get actionSupportFocus => isDarkTheme ? colorTokens.actionColorTokens.actionSupportFocusDark : colorTokens.actionColorTokens.actionSupportFocusLight; + Color get actionSupportHover => isDarkTheme + ? colorTokens.actionColorTokens.actionSupportHoverDark + : colorTokens.actionColorTokens.actionSupportHoverLight; - Color get actionSupportHover => isDarkTheme ? colorTokens.actionColorTokens.actionSupportHoverDark : colorTokens.actionColorTokens.actionSupportHoverLight; + Color get actionSupportLoading => isDarkTheme + ? colorTokens.actionColorTokens.actionSupportLoadingDark + : colorTokens.actionColorTokens.actionSupportLoadingLight; - Color get actionSupportLoading => isDarkTheme ? colorTokens.actionColorTokens.actionSupportLoadingDark : colorTokens.actionColorTokens.actionSupportLoadingLight; + Color get actionSupportPressed => isDarkTheme + ? colorTokens.actionColorTokens.actionSupportPressedDark + : colorTokens.actionColorTokens.actionSupportPressedLight; - Color get actionSupportPressed => isDarkTheme ? colorTokens.actionColorTokens.actionSupportPressedDark : colorTokens.actionColorTokens.actionSupportPressedLight; + Color get actionVisited => isDarkTheme + ? colorTokens.actionColorTokens.actionVisitedDark + : colorTokens.actionColorTokens.actionVisitedLight; - Color get actionVisited => isDarkTheme ? colorTokens.actionColorTokens.actionVisitedDark : colorTokens.actionColorTokens.actionVisitedLight; + Color get actionReadOnlyPrimary => isDarkTheme + ? colorTokens.actionColorTokens.actionReadOnlyPrimaryDark + : colorTokens.actionColorTokens.actionReadOnlyPrimaryLight; - Color get actionReadOnlyPrimary => isDarkTheme ? colorTokens.actionColorTokens.actionReadOnlyPrimaryDark : colorTokens.actionColorTokens.actionReadOnlyPrimaryLight; - - Color get actionReadOnlySecondary => isDarkTheme ? colorTokens.actionColorTokens.actionReadOnlySecondaryDark : colorTokens.actionColorTokens.actionReadOnlySecondaryLight; + Color get actionReadOnlySecondary => isDarkTheme + ? colorTokens.actionColorTokens.actionReadOnlySecondaryDark + : colorTokens.actionColorTokens.actionReadOnlySecondaryLight; /// Color - Always Color get alwaysBlack => colorTokens.alwaysColorTokens.alwaysBlack; @@ -107,315 +149,545 @@ class OudsColorScheme { /// Color - Background - Color get bgInverseHigh => isDarkTheme ? colorTokens.backgroundColorTokens.bgInverseHighDark : colorTokens.backgroundColorTokens.bgInverseHighLight; + Color get bgInverseHigh => isDarkTheme + ? colorTokens.backgroundColorTokens.bgInverseHighDark + : colorTokens.backgroundColorTokens.bgInverseHighLight; - Color get bgInverseLow => isDarkTheme ? colorTokens.backgroundColorTokens.bgInverseLowDark : colorTokens.backgroundColorTokens.bgInverseLowLight; + Color get bgInverseLow => isDarkTheme + ? colorTokens.backgroundColorTokens.bgInverseLowDark + : colorTokens.backgroundColorTokens.bgInverseLowLight; - Color get bgPrimary => isDarkTheme ? colorTokens.backgroundColorTokens.bgPrimaryDark : colorTokens.backgroundColorTokens.bgPrimaryLight; + Color get bgPrimary => isDarkTheme + ? colorTokens.backgroundColorTokens.bgPrimaryDark + : colorTokens.backgroundColorTokens.bgPrimaryLight; - Color get bgSecondary => isDarkTheme ? colorTokens.backgroundColorTokens.bgSecondaryDark : colorTokens.backgroundColorTokens.bgSecondaryLight; + Color get bgSecondary => isDarkTheme + ? colorTokens.backgroundColorTokens.bgSecondaryDark + : colorTokens.backgroundColorTokens.bgSecondaryLight; - Color get bgTertiary => isDarkTheme ? colorTokens.backgroundColorTokens.bgTertiaryDark : colorTokens.backgroundColorTokens.bgTertiaryLight; + Color get bgTertiary => isDarkTheme + ? colorTokens.backgroundColorTokens.bgTertiaryDark + : colorTokens.backgroundColorTokens.bgTertiaryLight; /// Color - Border - Color get borderBrandPrimary => isDarkTheme ? colorTokens.borderColorTokens.borderBrandPrimaryDark : colorTokens.borderColorTokens.borderBrandPrimaryLight; + Color get borderBrandPrimary => isDarkTheme + ? colorTokens.borderColorTokens.borderBrandPrimaryDark + : colorTokens.borderColorTokens.borderBrandPrimaryLight; - Color get borderBrandSecondary => isDarkTheme ? colorTokens.borderColorTokens.borderBrandSecondaryDark : colorTokens.borderColorTokens.borderBrandSecondaryLight; + Color get borderBrandSecondary => isDarkTheme + ? colorTokens.borderColorTokens.borderBrandSecondaryDark + : colorTokens.borderColorTokens.borderBrandSecondaryLight; - Color get borderBrandTertiary => isDarkTheme ? colorTokens.borderColorTokens.borderBrandTertiaryDark : colorTokens.borderColorTokens.borderBrandTertiaryLight; + Color get borderBrandTertiary => isDarkTheme + ? colorTokens.borderColorTokens.borderBrandTertiaryDark + : colorTokens.borderColorTokens.borderBrandTertiaryLight; - Color get borderDefault => isDarkTheme ? colorTokens.borderColorTokens.borderDefaultDark : colorTokens.borderColorTokens.borderDefaultLight; + Color get borderDefault => isDarkTheme + ? colorTokens.borderColorTokens.borderDefaultDark + : colorTokens.borderColorTokens.borderDefaultLight; - Color get borderEmphasized => isDarkTheme ? colorTokens.borderColorTokens.borderEmphasizedDark : colorTokens.borderColorTokens.borderEmphasizedLight; + Color get borderEmphasized => isDarkTheme + ? colorTokens.borderColorTokens.borderEmphasizedDark + : colorTokens.borderColorTokens.borderEmphasizedLight; - Color get borderFocus => isDarkTheme ? colorTokens.borderColorTokens.borderFocusDark : colorTokens.borderColorTokens.borderFocusLight; + Color get borderFocus => isDarkTheme + ? colorTokens.borderColorTokens.borderFocusDark + : colorTokens.borderColorTokens.borderFocusLight; - Color get borderFocusInset => isDarkTheme ? colorTokens.borderColorTokens.borderFocusInsetDark : colorTokens.borderColorTokens.borderFocusInsetLight; + Color get borderFocusInset => isDarkTheme + ? colorTokens.borderColorTokens.borderFocusInsetDark + : colorTokens.borderColorTokens.borderFocusInsetLight; - Color get borderMuted => isDarkTheme ? colorTokens.borderColorTokens.borderMutedDark : colorTokens.borderColorTokens.borderMutedLight; + Color get borderMuted => isDarkTheme + ? colorTokens.borderColorTokens.borderMutedDark + : colorTokens.borderColorTokens.borderMutedLight; - Color get borderOnBrandPrimary => isDarkTheme ? colorTokens.borderColorTokens.borderOnBrandPrimaryDark : colorTokens.borderColorTokens.borderOnBrandPrimaryLight; + Color get borderOnBrandPrimary => isDarkTheme + ? colorTokens.borderColorTokens.borderOnBrandPrimaryDark + : colorTokens.borderColorTokens.borderOnBrandPrimaryLight; - Color get borderOnBrandSecondary => isDarkTheme ? colorTokens.borderColorTokens.borderOnBrandSecondaryDark : colorTokens.borderColorTokens.borderOnBrandSecondaryLight; + Color get borderOnBrandSecondary => isDarkTheme + ? colorTokens.borderColorTokens.borderOnBrandSecondaryDark + : colorTokens.borderColorTokens.borderOnBrandSecondaryLight; - Color get borderOnBrandTertiary => isDarkTheme ? colorTokens.borderColorTokens.borderOnBrandTertiaryDark : colorTokens.borderColorTokens.borderOnBrandTertiaryLight; + Color get borderOnBrandTertiary => isDarkTheme + ? colorTokens.borderColorTokens.borderOnBrandTertiaryDark + : colorTokens.borderColorTokens.borderOnBrandTertiaryLight; - Color get borderMinimal => isDarkTheme ? colorTokens.borderColorTokens.borderMinimalDark : colorTokens.borderColorTokens.borderMinimalLight; + Color get borderMinimal => isDarkTheme + ? colorTokens.borderColorTokens.borderMinimalDark + : colorTokens.borderColorTokens.borderMinimalLight; - Color get borderStatusAccent => isDarkTheme ? colorTokens.borderColorTokens.borderStatusAccentDark : colorTokens.borderColorTokens.borderStatusAccentLight; + Color get borderStatusAccent => isDarkTheme + ? colorTokens.borderColorTokens.borderStatusAccentDark + : colorTokens.borderColorTokens.borderStatusAccentLight; - Color get borderStatusInfo => isDarkTheme ? colorTokens.borderColorTokens.borderStatusInfoDark : colorTokens.borderColorTokens.borderStatusInfoLight; + Color get borderStatusInfo => isDarkTheme + ? colorTokens.borderColorTokens.borderStatusInfoDark + : colorTokens.borderColorTokens.borderStatusInfoLight; - Color get borderStatusNegative => isDarkTheme ? colorTokens.borderColorTokens.borderStatusNegativeDark : colorTokens.borderColorTokens.borderStatusNegativeLight; + Color get borderStatusNegative => isDarkTheme + ? colorTokens.borderColorTokens.borderStatusNegativeDark + : colorTokens.borderColorTokens.borderStatusNegativeLight; - Color get borderStatusPositive => isDarkTheme ? colorTokens.borderColorTokens.borderStatusPositiveDark : colorTokens.borderColorTokens.borderStatusPositiveLight; + Color get borderStatusPositive => isDarkTheme + ? colorTokens.borderColorTokens.borderStatusPositiveDark + : colorTokens.borderColorTokens.borderStatusPositiveLight; - Color get borderStatusWarning => isDarkTheme ? colorTokens.borderColorTokens.borderStatusWarningDark : colorTokens.borderColorTokens.borderStatusWarningLight; + Color get borderStatusWarning => isDarkTheme + ? colorTokens.borderColorTokens.borderStatusWarningDark + : colorTokens.borderColorTokens.borderStatusWarningLight; /// Color - Content - Color get contentBrandPrimary => isDarkTheme ? colorTokens.contentColorTokens.contentBrandPrimaryDark : colorTokens.contentColorTokens.contentBrandPrimaryLight; + Color get contentBrandPrimary => isDarkTheme + ? colorTokens.contentColorTokens.contentBrandPrimaryDark + : colorTokens.contentColorTokens.contentBrandPrimaryLight; - Color get contentBrandSecondary => isDarkTheme ? colorTokens.contentColorTokens.contentBrandSecondaryDark : colorTokens.contentColorTokens.contentBrandSecondaryLight; + Color get contentBrandSecondary => isDarkTheme + ? colorTokens.contentColorTokens.contentBrandSecondaryDark + : colorTokens.contentColorTokens.contentBrandSecondaryLight; - Color get contentBrandTertiary => isDarkTheme ? colorTokens.contentColorTokens.contentBrandTertiaryDark : colorTokens.contentColorTokens.contentBrandTertiaryLight; + Color get contentBrandTertiary => isDarkTheme + ? colorTokens.contentColorTokens.contentBrandTertiaryDark + : colorTokens.contentColorTokens.contentBrandTertiaryLight; - Color get contentInverse => isDarkTheme ? colorTokens.contentColorTokens.contentInverseDark : colorTokens.contentColorTokens.contentInverseLight; + Color get contentInverse => isDarkTheme + ? colorTokens.contentColorTokens.contentInverseDark + : colorTokens.contentColorTokens.contentInverseLight; - Color get contentDefault => isDarkTheme ? colorTokens.contentColorTokens.contentDefaultDark : colorTokens.contentColorTokens.contentDefaultLight; + Color get contentDefault => isDarkTheme + ? colorTokens.contentColorTokens.contentDefaultDark + : colorTokens.contentColorTokens.contentDefaultLight; - Color get contentDisabled => isDarkTheme ? colorTokens.contentColorTokens.contentDisabledDark : colorTokens.contentColorTokens.contentDisabledLight; + Color get contentDisabled => isDarkTheme + ? colorTokens.contentColorTokens.contentDisabledDark + : colorTokens.contentColorTokens.contentDisabledLight; - Color get contentMuted => isDarkTheme ? colorTokens.contentColorTokens.contentMutedDark : colorTokens.contentColorTokens.contentMutedLight; + Color get contentMuted => isDarkTheme + ? colorTokens.contentColorTokens.contentMutedDark + : colorTokens.contentColorTokens.contentMutedLight; - Color get contentOnActionDisabled => isDarkTheme ? colorTokens.contentColorTokens.contentOnActionDisabledDark : colorTokens.contentColorTokens.contentOnActionDisabledLight; + Color get contentOnActionDisabled => isDarkTheme + ? colorTokens.contentColorTokens.contentOnActionDisabledDark + : colorTokens.contentColorTokens.contentOnActionDisabledLight; - Color get contentOnActionEnabled => isDarkTheme ? colorTokens.contentColorTokens.contentOnActionEnabledDark : colorTokens.contentColorTokens.contentOnActionEnabledLight; + Color get contentOnActionEnabled => isDarkTheme + ? colorTokens.contentColorTokens.contentOnActionEnabledDark + : colorTokens.contentColorTokens.contentOnActionEnabledLight; - Color get contentOnActionFocus => isDarkTheme ? colorTokens.contentColorTokens.contentOnActionFocusDark : colorTokens.contentColorTokens.contentOnActionFocusLight; + Color get contentOnActionFocus => isDarkTheme + ? colorTokens.contentColorTokens.contentOnActionFocusDark + : colorTokens.contentColorTokens.contentOnActionFocusLight; - Color get contentOnActionHighlighted => isDarkTheme ? colorTokens.contentColorTokens.contentOnActionHighlightedDark : colorTokens.contentColorTokens.contentOnActionHighlightedLight; + Color get contentOnActionHighlighted => isDarkTheme + ? colorTokens.contentColorTokens.contentOnActionHighlightedDark + : colorTokens.contentColorTokens.contentOnActionHighlightedLight; - Color get contentOnActionHover => isDarkTheme ? colorTokens.contentColorTokens.contentOnActionHoverDark : colorTokens.contentColorTokens.contentOnActionHoverLight; + Color get contentOnActionHover => isDarkTheme + ? colorTokens.contentColorTokens.contentOnActionHoverDark + : colorTokens.contentColorTokens.contentOnActionHoverLight; - Color get contentOnActionLoading => isDarkTheme ? colorTokens.contentColorTokens.contentOnActionLoadingDark : colorTokens.contentColorTokens.contentOnActionLoadingLight; + Color get contentOnActionLoading => isDarkTheme + ? colorTokens.contentColorTokens.contentOnActionLoadingDark + : colorTokens.contentColorTokens.contentOnActionLoadingLight; - Color get contentOnActionPressed => isDarkTheme ? colorTokens.contentColorTokens.contentOnActionPressedDark : colorTokens.contentColorTokens.contentOnActionPressedLight; + Color get contentOnActionPressed => isDarkTheme + ? colorTokens.contentColorTokens.contentOnActionPressedDark + : colorTokens.contentColorTokens.contentOnActionPressedLight; - Color get contentOnActionSelected => isDarkTheme ? colorTokens.contentColorTokens.contentOnActionSelectedDark : colorTokens.contentColorTokens.contentOnActionSelectedLight; + Color get contentOnActionSelected => isDarkTheme + ? colorTokens.contentColorTokens.contentOnActionSelectedDark + : colorTokens.contentColorTokens.contentOnActionSelectedLight; - Color get contentOnBrandPrimary => isDarkTheme ? colorTokens.contentColorTokens.contentOnBrandPrimaryDark : colorTokens.contentColorTokens.contentOnBrandPrimaryLight; + Color get contentOnBrandPrimary => isDarkTheme + ? colorTokens.contentColorTokens.contentOnBrandPrimaryDark + : colorTokens.contentColorTokens.contentOnBrandPrimaryLight; - Color get contentOnBrandSecondary => isDarkTheme ? colorTokens.contentColorTokens.contentOnBrandSecondaryDark : colorTokens.contentColorTokens.contentOnBrandSecondaryLight; + Color get contentOnBrandSecondary => isDarkTheme + ? colorTokens.contentColorTokens.contentOnBrandSecondaryDark + : colorTokens.contentColorTokens.contentOnBrandSecondaryLight; - Color get contentOnBrandTertiary => isDarkTheme ? colorTokens.contentColorTokens.contentOnBrandTertiaryDark : colorTokens.contentColorTokens.contentOnBrandTertiaryLight; + Color get contentOnBrandTertiary => isDarkTheme + ? colorTokens.contentColorTokens.contentOnBrandTertiaryDark + : colorTokens.contentColorTokens.contentOnBrandTertiaryLight; - Color get contentOnStatusPositiveEmphasized => - isDarkTheme ? colorTokens.contentColorTokens.contentOnStatusPositiveEmphasizedDark : colorTokens.contentColorTokens.contentOnStatusPositiveEmphasizedLight; + Color get contentOnStatusPositiveEmphasized => isDarkTheme + ? colorTokens.contentColorTokens.contentOnStatusPositiveEmphasizedDark + : colorTokens.contentColorTokens.contentOnStatusPositiveEmphasizedLight; - Color get contentOnStatusPositiveMuted => isDarkTheme ? colorTokens.contentColorTokens.contentOnStatusPositiveMutedDark : colorTokens.contentColorTokens.contentOnStatusPositiveMutedLight; + Color get contentOnStatusPositiveMuted => isDarkTheme + ? colorTokens.contentColorTokens.contentOnStatusPositiveMutedDark + : colorTokens.contentColorTokens.contentOnStatusPositiveMutedLight; - Color get contentOnStatusWarningEmphasized => - isDarkTheme ? colorTokens.contentColorTokens.contentOnStatusWarningEmphasizedDark : colorTokens.contentColorTokens.contentOnStatusWarningEmphasizedLight; + Color get contentOnStatusWarningEmphasized => isDarkTheme + ? colorTokens.contentColorTokens.contentOnStatusWarningEmphasizedDark + : colorTokens.contentColorTokens.contentOnStatusWarningEmphasizedLight; - Color get contentOnStatusWarningMuted => isDarkTheme ? colorTokens.contentColorTokens.contentOnStatusWarningMutedDark : colorTokens.contentColorTokens.contentOnStatusWarningMutedLight; + Color get contentOnStatusWarningMuted => isDarkTheme + ? colorTokens.contentColorTokens.contentOnStatusWarningMutedDark + : colorTokens.contentColorTokens.contentOnStatusWarningMutedLight; - Color get contentOnStatusInfoEmphasized => isDarkTheme ? colorTokens.contentColorTokens.contentOnStatusInfoEmphasizedDark : colorTokens.contentColorTokens.contentOnStatusInfoEmphasizedLight; + Color get contentOnStatusInfoEmphasized => isDarkTheme + ? colorTokens.contentColorTokens.contentOnStatusInfoEmphasizedDark + : colorTokens.contentColorTokens.contentOnStatusInfoEmphasizedLight; - Color get contentOnStatusInfoMuted => isDarkTheme ? colorTokens.contentColorTokens.contentOnStatusInfoMutedDark : colorTokens.contentColorTokens.contentOnStatusInfoMutedLight; + Color get contentOnStatusInfoMuted => isDarkTheme + ? colorTokens.contentColorTokens.contentOnStatusInfoMutedDark + : colorTokens.contentColorTokens.contentOnStatusInfoMutedLight; - Color get contentOnStatusNegativeEmphasized => - isDarkTheme ? colorTokens.contentColorTokens.contentOnStatusNegativeEmphasizedDark : colorTokens.contentColorTokens.contentOnStatusNegativeEmphasizedLight; + Color get contentOnStatusNegativeEmphasized => isDarkTheme + ? colorTokens.contentColorTokens.contentOnStatusNegativeEmphasizedDark + : colorTokens.contentColorTokens.contentOnStatusNegativeEmphasizedLight; - Color get contentOnStatusNegativeMuted => isDarkTheme ? colorTokens.contentColorTokens.contentOnStatusNegativeMutedDark : colorTokens.contentColorTokens.contentOnStatusNegativeMutedLight; + Color get contentOnStatusNegativeMuted => isDarkTheme + ? colorTokens.contentColorTokens.contentOnStatusNegativeMutedDark + : colorTokens.contentColorTokens.contentOnStatusNegativeMutedLight; - Color get contentOnStatusAccentEmphasized => isDarkTheme ? colorTokens.contentColorTokens.contentOnStatusAccentEmphasizedDark : colorTokens.contentColorTokens.contentOnStatusAccentEmphasizedLight; + Color get contentOnStatusAccentEmphasized => isDarkTheme + ? colorTokens.contentColorTokens.contentOnStatusAccentEmphasizedDark + : colorTokens.contentColorTokens.contentOnStatusAccentEmphasizedLight; - Color get contentOnStatusAccentMuted => isDarkTheme ? colorTokens.contentColorTokens.contentOnStatusAccentMutedDark : colorTokens.contentColorTokens.contentOnStatusAccentMutedLight; + Color get contentOnStatusAccentMuted => isDarkTheme + ? colorTokens.contentColorTokens.contentOnStatusAccentMutedDark + : colorTokens.contentColorTokens.contentOnStatusAccentMutedLight; - Color get contentStatusAccent => isDarkTheme ? colorTokens.contentColorTokens.contentStatusAccentDark : colorTokens.contentColorTokens.contentStatusAccentLight; + Color get contentStatusAccent => isDarkTheme + ? colorTokens.contentColorTokens.contentStatusAccentDark + : colorTokens.contentColorTokens.contentStatusAccentLight; - Color get contentStatusInfo => isDarkTheme ? colorTokens.contentColorTokens.contentStatusInfoDark : colorTokens.contentColorTokens.contentStatusInfoLight; + Color get contentStatusInfo => isDarkTheme + ? colorTokens.contentColorTokens.contentStatusInfoDark + : colorTokens.contentColorTokens.contentStatusInfoLight; - Color get contentStatusNegative => isDarkTheme ? colorTokens.contentColorTokens.contentStatusNegativeDark : colorTokens.contentColorTokens.contentStatusNegativeLight; + Color get contentStatusNegative => isDarkTheme + ? colorTokens.contentColorTokens.contentStatusNegativeDark + : colorTokens.contentColorTokens.contentStatusNegativeLight; - Color get contentStatusPositive => isDarkTheme ? colorTokens.contentColorTokens.contentStatusPositiveDark : colorTokens.contentColorTokens.contentStatusPositiveLight; + Color get contentStatusPositive => isDarkTheme + ? colorTokens.contentColorTokens.contentStatusPositiveDark + : colorTokens.contentColorTokens.contentStatusPositiveLight; - Color get contentStatusWarning => isDarkTheme ? colorTokens.contentColorTokens.contentStatusWarningDark : colorTokens.contentColorTokens.contentStatusWarningLight; + Color get contentStatusWarning => isDarkTheme + ? colorTokens.contentColorTokens.contentStatusWarningDark + : colorTokens.contentColorTokens.contentStatusWarningLight; /// Color - Opacity - Color get opacityLowest => isDarkTheme ? colorTokens.opacityColorTokens.opacityLowestDark : colorTokens.opacityColorTokens.opacityLowestLight; + Color get opacityLowest => isDarkTheme + ? colorTokens.opacityColorTokens.opacityLowestDark + : colorTokens.opacityColorTokens.opacityLowestLight; - Color get opacityLower => isDarkTheme ? colorTokens.opacityColorTokens.opacityLowerDark : colorTokens.opacityColorTokens.opacityLowerLight; + Color get opacityLower => isDarkTheme + ? colorTokens.opacityColorTokens.opacityLowerDark + : colorTokens.opacityColorTokens.opacityLowerLight; - Color get opacityTransparent => isDarkTheme ? colorTokens.opacityColorTokens.opacityTransparentDark : colorTokens.opacityColorTokens.opacityTransparentLight; + Color get opacityTransparent => isDarkTheme + ? colorTokens.opacityColorTokens.opacityTransparentDark + : colorTokens.opacityColorTokens.opacityTransparentLight; /// Color - Overlay - Color get overlayDropdown => isDarkTheme ? colorTokens.overlayColorTokens.overlayDropdownDark : colorTokens.overlayColorTokens.overlayDropdownLight; + Color get overlayDropdown => isDarkTheme + ? colorTokens.overlayColorTokens.overlayDropdownDark + : colorTokens.overlayColorTokens.overlayDropdownLight; - Color get overlayTooltip => isDarkTheme ? colorTokens.overlayColorTokens.overlayTooltipDark : colorTokens.overlayColorTokens.overlayTooltipLight; + Color get overlayTooltip => isDarkTheme + ? colorTokens.overlayColorTokens.overlayTooltipDark + : colorTokens.overlayColorTokens.overlayTooltipLight; - Color get overlayDrag => isDarkTheme ? colorTokens.overlayColorTokens.overlayDragDark : colorTokens.overlayColorTokens.overlayDragLight; + Color get overlayDrag => isDarkTheme + ? colorTokens.overlayColorTokens.overlayDragDark + : colorTokens.overlayColorTokens.overlayDragLight; - Color get overlayModal => isDarkTheme ? colorTokens.overlayColorTokens.overlayModalDark : colorTokens.overlayColorTokens.overlayModalLight; + Color get overlayModal => isDarkTheme + ? colorTokens.overlayColorTokens.overlayModalSheetDark + : colorTokens.overlayColorTokens.overlayModalSheetLight; /// Color - Repository - Color get repositoryAccentMedium => colorTokens.repositoryColorTokens.repositoryAccentMedium; + Color get repositoryAccentMedium => + colorTokens.repositoryColorTokens.repositoryAccentMedium; + + Color get repositoryAccentHighest => + colorTokens.repositoryColorTokens.repositoryAccentHighest; - Color get repositoryAccentHighest => colorTokens.repositoryColorTokens.repositoryAccentHighest; + Color get repositoryAccentLow => + colorTokens.repositoryColorTokens.repositoryAccentLow; - Color get repositoryAccentLow => colorTokens.repositoryColorTokens.repositoryAccentLow; + Color get repositoryAccentLowest => + colorTokens.repositoryColorTokens.repositoryAccentLowest; - Color get repositoryAccentLowest => colorTokens.repositoryColorTokens.repositoryAccentLowest; + Color get repositoryInfoMedium => + colorTokens.repositoryColorTokens.repositoryInfoMedium; - Color get repositoryInfoMedium => colorTokens.repositoryColorTokens.repositoryInfoMedium; + Color get repositoryInfoHigh => + colorTokens.repositoryColorTokens.repositoryInfoHigh; - Color get repositoryInfoHigh => colorTokens.repositoryColorTokens.repositoryInfoHigh; + Color get repositoryInfoHighest => + colorTokens.repositoryColorTokens.repositoryInfoHighest; - Color get repositoryInfoHighest => colorTokens.repositoryColorTokens.repositoryInfoHighest; + Color get repositoryInfoLow => + colorTokens.repositoryColorTokens.repositoryInfoLow; - Color get repositoryInfoLow => colorTokens.repositoryColorTokens.repositoryInfoLow; + Color get repositoryInfoLowest => + colorTokens.repositoryColorTokens.repositoryInfoLowest; - Color get repositoryInfoLowest => colorTokens.repositoryColorTokens.repositoryInfoLowest; + Color get repositoryNegativeMedium => + colorTokens.repositoryColorTokens.repositoryNegativeMedium; - Color get repositoryNegativeMedium => colorTokens.repositoryColorTokens.repositoryNegativeMedium; + Color get repositoryNegativeHigh => + colorTokens.repositoryColorTokens.repositoryNegativeHigh; - Color get repositoryNegativeHigh => colorTokens.repositoryColorTokens.repositoryNegativeHigh; + Color get repositoryNegativeHigher => + colorTokens.repositoryColorTokens.repositoryNegativeHigher; - Color get repositoryNegativeHigher => colorTokens.repositoryColorTokens.repositoryNegativeHigher; + Color get repositoryNegativeHighest => + colorTokens.repositoryColorTokens.repositoryNegativeHighest; - Color get repositoryNegativeHighest => colorTokens.repositoryColorTokens.repositoryNegativeHighest; + Color get repositoryNegativeLow => + colorTokens.repositoryColorTokens.repositoryNegativeLow; - Color get repositoryNegativeLow => colorTokens.repositoryColorTokens.repositoryNegativeLow; + Color get repositoryNegativeLower => + colorTokens.repositoryColorTokens.repositoryNegativeLower; - Color get repositoryNegativeLower => colorTokens.repositoryColorTokens.repositoryNegativeLower; + Color get repositoryNegativeLowest => + colorTokens.repositoryColorTokens.repositoryNegativeLowest; - Color get repositoryNegativeLowest => colorTokens.repositoryColorTokens.repositoryNegativeLowest; + Color get repositoryNeutralEmphasizedBlack => + colorTokens.repositoryColorTokens.repositoryNeutralEmphasizedBlack; - Color get repositoryNeutralEmphasizedBlack => colorTokens.repositoryColorTokens.repositoryNeutralEmphasizedBlack; + Color get repositoryNeutralEmphasizedHigh => + colorTokens.repositoryColorTokens.repositoryNeutralEmphasizedHigh; - Color get repositoryNeutralEmphasizedHigh => colorTokens.repositoryColorTokens.repositoryNeutralEmphasizedHigh; + Color get repositoryNeutralEmphasizedHigher => + colorTokens.repositoryColorTokens.repositoryNeutralEmphasizedHigher; - Color get repositoryNeutralEmphasizedHigher => colorTokens.repositoryColorTokens.repositoryNeutralEmphasizedHigher; + Color get repositoryNeutralEmphasizedHighest => + colorTokens.repositoryColorTokens.repositoryNeutralEmphasizedHighest; - Color get repositoryNeutralEmphasizedHighest => colorTokens.repositoryColorTokens.repositoryNeutralEmphasizedHighest; + Color get repositoryNeutralEmphasizedMedium => + colorTokens.repositoryColorTokens.repositoryNeutralEmphasizedMedium; - Color get repositoryNeutralEmphasizedMedium => colorTokens.repositoryColorTokens.repositoryNeutralEmphasizedMedium; + Color get repositoryNeutralMutedLower => + colorTokens.repositoryColorTokens.repositoryNeutralMutedLower; - Color get repositoryNeutralMutedLower => colorTokens.repositoryColorTokens.repositoryNeutralMutedLower; + Color get repositoryNeutralMutedLowest => + colorTokens.repositoryColorTokens.repositoryNeutralMutedLowest; - Color get repositoryNeutralMutedLowest => colorTokens.repositoryColorTokens.repositoryNeutralMutedLowest; + Color get repositoryNeutralMutedWhite => + colorTokens.repositoryColorTokens.repositoryNeutralMutedWhite; - Color get repositoryNeutralMutedWhite => colorTokens.repositoryColorTokens.repositoryNeutralMutedWhite; + Color get repositoryOpacityBlackHigh => + colorTokens.repositoryColorTokens.repositoryOpacityBlackHigh; - Color get repositoryOpacityBlackHigh => colorTokens.repositoryColorTokens.repositoryOpacityBlackHigh; + Color get repositoryOpacityBlackHigher => + colorTokens.repositoryColorTokens.repositoryOpacityBlackHigher; - Color get repositoryOpacityBlackHigher => colorTokens.repositoryColorTokens.repositoryOpacityBlackHigher; + Color get repositoryOpacityBlackHighest => + colorTokens.repositoryColorTokens.repositoryOpacityBlackHighest; - Color get repositoryOpacityBlackHighest => colorTokens.repositoryColorTokens.repositoryOpacityBlackHighest; + Color get repositoryOpacityBlackLow => + colorTokens.repositoryColorTokens.repositoryOpacityBlackLow; - Color get repositoryOpacityBlackLow => colorTokens.repositoryColorTokens.repositoryOpacityBlackLow; + Color get repositoryOpacityBlackLower => + colorTokens.repositoryColorTokens.repositoryOpacityBlackLower; - Color get repositoryOpacityBlackLower => colorTokens.repositoryColorTokens.repositoryOpacityBlackLower; + Color get repositoryOpacityBlackLowest => + colorTokens.repositoryColorTokens.repositoryOpacityBlackLowest; - Color get repositoryOpacityBlackLowest => colorTokens.repositoryColorTokens.repositoryOpacityBlackLowest; + Color get repositoryOpacityBlackMedium => + colorTokens.repositoryColorTokens.repositoryOpacityBlackMedium; - Color get repositoryOpacityBlackMedium => colorTokens.repositoryColorTokens.repositoryOpacityBlackMedium; + Color get repositoryOpacityBlackMediumLow => + colorTokens.repositoryColorTokens.repositoryOpacityBlackMediumLow; - Color get repositoryOpacityBlackMediumLow => colorTokens.repositoryColorTokens.repositoryOpacityBlackMediumLow; + Color get repositoryOpacityBlackMediumHigh => + colorTokens.repositoryColorTokens.repositoryOpacityBlackMediumHigh; - Color get repositoryOpacityBlackMediumHigh => colorTokens.repositoryColorTokens.repositoryOpacityBlackMediumHigh; + Color get repositoryOpacityBlackTransparent => + colorTokens.repositoryColorTokens.repositoryOpacityBlackTransparent; - Color get repositoryOpacityBlackTransparent => colorTokens.repositoryColorTokens.repositoryOpacityBlackTransparent; + Color get repositoryOpacityWhiteHigh => + colorTokens.repositoryColorTokens.repositoryOpacityWhiteHigh; - Color get repositoryOpacityWhiteHigh => colorTokens.repositoryColorTokens.repositoryOpacityWhiteHigh; + Color get repositoryOpacityWhiteHigher => + colorTokens.repositoryColorTokens.repositoryOpacityWhiteHigher; - Color get repositoryOpacityWhiteHigher => colorTokens.repositoryColorTokens.repositoryOpacityWhiteHigher; + Color get repositoryOpacityWhiteHighest => + colorTokens.repositoryColorTokens.repositoryOpacityWhiteHighest; - Color get repositoryOpacityWhiteHighest => colorTokens.repositoryColorTokens.repositoryOpacityWhiteHighest; + Color get repositoryOpacityWhiteMedium => + colorTokens.repositoryColorTokens.repositoryOpacityWhiteMedium; - Color get repositoryOpacityWhiteMedium => colorTokens.repositoryColorTokens.repositoryOpacityWhiteMedium; + Color get repositoryOpacityWhiteMediumLow => + colorTokens.repositoryColorTokens.repositoryOpacityWhiteMediumLow; - Color get repositoryOpacityWhiteMediumLow => colorTokens.repositoryColorTokens.repositoryOpacityWhiteMediumLow; + Color get repositoryOpacityWhiteLow => + colorTokens.repositoryColorTokens.repositoryOpacityWhiteLow; - Color get repositoryOpacityWhiteLow => colorTokens.repositoryColorTokens.repositoryOpacityWhiteLow; + Color get repositoryOpacityWhiteLower => + colorTokens.repositoryColorTokens.repositoryOpacityWhiteLower; - Color get repositoryOpacityWhiteLower => colorTokens.repositoryColorTokens.repositoryOpacityWhiteLower; + Color get repositoryOpacityWhiteLowest => + colorTokens.repositoryColorTokens.repositoryOpacityWhiteLowest; - Color get repositoryOpacityWhiteLowest => colorTokens.repositoryColorTokens.repositoryOpacityWhiteLowest; + Color get repositoryOpacityWhiteTransparent => + colorTokens.repositoryColorTokens.repositoryOpacityWhiteTransparent; - Color get repositoryOpacityWhiteTransparent => colorTokens.repositoryColorTokens.repositoryOpacityWhiteTransparent; + Color get repositoryOpacityPrimaryHigh => + colorTokens.repositoryColorTokens.repositoryOpacityPrimaryHigh; - Color get repositoryOpacityPrimaryHigh => colorTokens.repositoryColorTokens.repositoryOpacityPrimaryHigh; + Color get repositoryOpacityPrimaryHigher => + colorTokens.repositoryColorTokens.repositoryOpacityPrimaryHigher; - Color get repositoryOpacityPrimaryHigher => colorTokens.repositoryColorTokens.repositoryOpacityPrimaryHigher; + Color get repositoryOpacityPrimaryLowest => + colorTokens.repositoryColorTokens.repositoryOpacityPrimaryLowest; - Color get repositoryOpacityPrimaryLowest => colorTokens.repositoryColorTokens.repositoryOpacityPrimaryLowest; + Color get repositoryOpacityPrimaryLower => + colorTokens.repositoryColorTokens.repositoryOpacityPrimaryLower; - Color get repositoryOpacityPrimaryLower => colorTokens.repositoryColorTokens.repositoryOpacityPrimaryLower; + Color get repositoryOpacityPrimaryLow => + colorTokens.repositoryColorTokens.repositoryOpacityPrimaryLow; - Color get repositoryOpacityPrimaryLow => colorTokens.repositoryColorTokens.repositoryOpacityPrimaryLow; + Color get repositoryOpacityPrimaryMedium => + colorTokens.repositoryColorTokens.repositoryOpacityPrimaryMedium; - Color get repositoryOpacityPrimaryMedium => colorTokens.repositoryColorTokens.repositoryOpacityPrimaryMedium; + Color get repositoryPositiveMedium => + colorTokens.repositoryColorTokens.repositoryPositiveMedium; - Color get repositoryPositiveMedium => colorTokens.repositoryColorTokens.repositoryPositiveMedium; + Color get repositoryPositiveHigh => + colorTokens.repositoryColorTokens.repositoryPositiveHigh; - Color get repositoryPositiveHigh => colorTokens.repositoryColorTokens.repositoryPositiveHigh; + Color get repositoryPositiveHigher => + colorTokens.repositoryColorTokens.repositoryPositiveHigher; - Color get repositoryPositiveHigher => colorTokens.repositoryColorTokens.repositoryPositiveHigher; + Color get repositoryPositiveHighest => + colorTokens.repositoryColorTokens.repositoryPositiveHighest; - Color get repositoryPositiveHighest => colorTokens.repositoryColorTokens.repositoryPositiveHighest; + Color get repositoryPositiveLow => + colorTokens.repositoryColorTokens.repositoryPositiveLow; - Color get repositoryPositiveLow => colorTokens.repositoryColorTokens.repositoryPositiveLow; + Color get repositoryPositiveLowest => + colorTokens.repositoryColorTokens.repositoryPositiveLowest; - Color get repositoryPositiveLowest => colorTokens.repositoryColorTokens.repositoryPositiveLowest; + Color get repositoryPrimaryMedium => + colorTokens.repositoryColorTokens.repositoryPrimaryMedium; - Color get repositoryPrimaryMedium => colorTokens.repositoryColorTokens.repositoryPrimaryMedium; + Color get repositoryPrimaryLow => + colorTokens.repositoryColorTokens.repositoryPrimaryLow; - Color get repositoryPrimaryLow => colorTokens.repositoryColorTokens.repositoryPrimaryLow; + Color get repositoryPrimaryLower => + colorTokens.repositoryColorTokens.repositoryPrimaryLower; - Color get repositoryPrimaryLower => colorTokens.repositoryColorTokens.repositoryPrimaryLower; + Color get repositoryPrimaryHigh => + colorTokens.repositoryColorTokens.repositoryPrimaryHigh; - Color get repositoryPrimaryHigh => colorTokens.repositoryColorTokens.repositoryPrimaryHigh; + Color get repositorySecondaryLow => + colorTokens.repositoryColorTokens.repositorySecondaryLow; - Color get repositorySecondaryLow => colorTokens.repositoryColorTokens.repositorySecondaryLow; + Color get repositorySecondaryLower => + colorTokens.repositoryColorTokens.repositorySecondaryLower; - Color get repositorySecondaryLower => colorTokens.repositoryColorTokens.repositorySecondaryLower; + Color get repositorySecondaryLowest => + colorTokens.repositoryColorTokens.repositorySecondaryLowest; - Color get repositorySecondaryLowest => colorTokens.repositoryColorTokens.repositorySecondaryLowest; + Color get repositorySecondaryHigh => + colorTokens.repositoryColorTokens.repositorySecondaryHigh; - Color get repositorySecondaryHigh => colorTokens.repositoryColorTokens.repositorySecondaryHigh; + Color get repositorySecondaryHigherHigh => + colorTokens.repositoryColorTokens.repositorySecondaryHigherHigh; - Color get repositorySecondaryHigher => colorTokens.repositoryColorTokens.repositorySecondaryHigher; + Color get repositorySecondaryHigherLow => + colorTokens.repositoryColorTokens.repositorySecondaryHigherLow; - Color get repositorySecondaryMedium => colorTokens.repositoryColorTokens.repositorySecondaryMedium; + Color get repositorySecondaryMedium => + colorTokens.repositoryColorTokens.repositorySecondaryMedium; - Color get repositoryWarningMedium => colorTokens.repositoryColorTokens.repositoryWarningMedium; + Color get repositoryWarningMedium => + colorTokens.repositoryColorTokens.repositoryWarningMedium; - Color get repositoryWarningHigh => colorTokens.repositoryColorTokens.repositoryWarningHigh; + Color get repositoryWarningHigh => + colorTokens.repositoryColorTokens.repositoryWarningHigh; - Color get repositoryWarningHighest => colorTokens.repositoryColorTokens.repositoryWarningHighest; + Color get repositoryWarningHighest => + colorTokens.repositoryColorTokens.repositoryWarningHighest; - Color get repositoryWarningLow => colorTokens.repositoryColorTokens.repositoryWarningLow; + Color get repositoryWarningLow => + colorTokens.repositoryColorTokens.repositoryWarningLow; - Color get repositoryWarningLowest => colorTokens.repositoryColorTokens.repositoryWarningLowest; + Color get repositoryWarningLowest => + colorTokens.repositoryColorTokens.repositoryWarningLowest; /// Color - Surface - Color get surfaceBrandPrimary => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceBrandPrimaryDark : colorTokens.surfaceColorTokens.surfaceBrandPrimaryLight; + Color get surfaceBrandPrimary => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceBrandPrimaryDark + : colorTokens.surfaceColorTokens.surfaceBrandPrimaryLight; - Color get surfaceBrandSecondary => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceBrandSecondaryDark : colorTokens.surfaceColorTokens.surfaceBrandSecondaryLight; + Color get surfaceBrandSecondary => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceBrandSecondaryDark + : colorTokens.surfaceColorTokens.surfaceBrandSecondaryLight; - Color get surfaceBrandTertiary => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceBrandTertiaryDark : colorTokens.surfaceColorTokens.surfaceBrandTertiaryLight; + Color get surfaceBrandTertiary => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceBrandTertiaryDark + : colorTokens.surfaceColorTokens.surfaceBrandTertiaryLight; - Color get surfaceInverseHigh => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceInverseHighDark : colorTokens.surfaceColorTokens.surfaceInverseHighLight; + Color get surfaceInverseHigh => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceInverseHighDark + : colorTokens.surfaceColorTokens.surfaceInverseHighLight; - Color get surfaceInverseLow => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceInverseLowDark : colorTokens.surfaceColorTokens.surfaceInverseLowLight; + Color get surfaceInverseLow => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceInverseLowDark + : colorTokens.surfaceColorTokens.surfaceInverseLowLight; - Color get surfacePrimary => isDarkTheme ? colorTokens.surfaceColorTokens.surfacePrimaryDark : colorTokens.surfaceColorTokens.surfacePrimaryLight; + Color get surfacePrimary => isDarkTheme + ? colorTokens.surfaceColorTokens.surfacePrimaryDark + : colorTokens.surfaceColorTokens.surfacePrimaryLight; - Color get surfaceSecondary => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceSecondaryDark : colorTokens.surfaceColorTokens.surfaceSecondaryLight; + Color get surfaceSecondary => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceSecondaryDark + : colorTokens.surfaceColorTokens.surfaceSecondaryLight; - Color get surfaceTertiary => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceTertiaryDark : colorTokens.surfaceColorTokens.surfaceTertiaryLight; + Color get surfaceTertiary => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceTertiaryDark + : colorTokens.surfaceColorTokens.surfaceTertiaryLight; - Color get surfaceStatusAccentEmphasized => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceStatusAccentEmphasizedDark : colorTokens.surfaceColorTokens.surfaceStatusAccentEmphasizedLight; + Color get surfaceStatusAccentEmphasized => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceStatusAccentEmphasizedDark + : colorTokens.surfaceColorTokens.surfaceStatusAccentEmphasizedLight; - Color get surfaceStatusAccentMuted => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceStatusAccentMutedDark : colorTokens.surfaceColorTokens.surfaceStatusAccentMutedLight; + Color get surfaceStatusAccentMuted => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceStatusAccentMutedDark + : colorTokens.surfaceColorTokens.surfaceStatusAccentMutedLight; - Color get surfaceStatusInfoEmphasized => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceStatusInfoEmphasizedDark : colorTokens.surfaceColorTokens.surfaceStatusInfoEmphasizedLight; + Color get surfaceStatusInfoEmphasized => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceStatusInfoEmphasizedDark + : colorTokens.surfaceColorTokens.surfaceStatusInfoEmphasizedLight; - Color get surfaceStatusInfoMuted => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceStatusInfoMutedDark : colorTokens.surfaceColorTokens.surfaceStatusInfoMutedLight; + Color get surfaceStatusInfoMuted => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceStatusInfoMutedDark + : colorTokens.surfaceColorTokens.surfaceStatusInfoMutedLight; - Color get surfaceStatusNegativeEmphasized => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceStatusNegativeEmphasizedDark : colorTokens.surfaceColorTokens.surfaceStatusNegativeEmphasizedLight; + Color get surfaceStatusNegativeEmphasized => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceStatusNegativeEmphasizedDark + : colorTokens.surfaceColorTokens.surfaceStatusNegativeEmphasizedLight; - Color get surfaceStatusNegativeMuted => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceStatusNegativeMutedDark : colorTokens.surfaceColorTokens.surfaceStatusNegativeMutedLight; + Color get surfaceStatusNegativeMuted => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceStatusNegativeMutedDark + : colorTokens.surfaceColorTokens.surfaceStatusNegativeMutedLight; - Color get surfaceStatusPositiveEmphasized => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceStatusPositiveEmphasizedDark : colorTokens.surfaceColorTokens.surfaceStatusPositiveEmphasizedLight; + Color get surfaceStatusPositiveEmphasized => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceStatusPositiveEmphasizedDark + : colorTokens.surfaceColorTokens.surfaceStatusPositiveEmphasizedLight; - Color get surfaceStatusPositiveMuted => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceStatusPositiveMutedDark : colorTokens.surfaceColorTokens.surfaceStatusPositiveMutedLight; + Color get surfaceStatusPositiveMuted => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceStatusPositiveMutedDark + : colorTokens.surfaceColorTokens.surfaceStatusPositiveMutedLight; - Color get surfaceStatusWarningEmphasized => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceStatusWarningEmphasizedDark : colorTokens.surfaceColorTokens.surfaceStatusWarningEmphasizedLight; + Color get surfaceStatusWarningEmphasized => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceStatusWarningEmphasizedDark + : colorTokens.surfaceColorTokens.surfaceStatusWarningEmphasizedLight; - Color get surfaceStatusWarningMuted => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceStatusWarningMutedDark : colorTokens.surfaceColorTokens.surfaceStatusWarningMutedLight; + Color get surfaceStatusWarningMuted => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceStatusWarningMutedDark + : colorTokens.surfaceColorTokens.surfaceStatusWarningMutedLight; } diff --git a/ouds_theme_contract/lib/theme/scheme/responsive/ouds_size_scheme.dart b/ouds_theme_contract/lib/theme/scheme/responsive/ouds_size_scheme.dart index 9c7840c23..e4bf12c7b 100644 --- a/ouds_theme_contract/lib/theme/scheme/responsive/ouds_size_scheme.dart +++ b/ouds_theme_contract/lib/theme/scheme/responsive/ouds_size_scheme.dart @@ -38,28 +38,28 @@ class OudsSizeScheme { required OudsSizeSemanticTokens sizeTokens, }) { final sizeClass = OudsWindowSizeClassUtil.of(context); - return OudsSizeScheme._( - sizeTokens: sizeTokens, - sizeClass: sizeClass, - ); + return OudsSizeScheme._(sizeTokens: sizeTokens, sizeClass: sizeClass); } /// Responsive `size` tokens (mobile/tablet) /// IconWithBodySmall - double get iconWithBodySmallSizeSmall => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithBodySmallSizeSmall => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithBodySmallSizeSmallMobile, tablet: sizeTokens.iconWithBodySmallSizeSmallTablet, ); - double get iconWithBodySmallSizeMedium => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithBodySmallSizeMedium => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithBodySmallSizeMediumMobile, tablet: sizeTokens.iconWithBodySmallSizeMediumTablet, ); - double get iconWithBodySmallSizeLarge => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithBodySmallSizeLarge => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithBodySmallSizeLargeMobile, tablet: sizeTokens.iconWithBodySmallSizeLargeTablet, @@ -67,19 +67,22 @@ class OudsSizeScheme { /// IconWithBodyMedium - double get iconWithBodyMediumSizeSmall => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithBodyMediumSizeSmall => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithBodyMediumSizeSmallMobile, tablet: sizeTokens.iconWithBodyMediumSizeSmallTablet, ); - double get iconWithBodyMediumSizeMedium => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithBodyMediumSizeMedium => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithBodyMediumSizeMediumMobile, tablet: sizeTokens.iconWithBodyMediumSizeMediumTablet, ); - double get iconWithBodyMediumSizeLarge => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithBodyMediumSizeLarge => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithBodyMediumSizeLargeMobile, tablet: sizeTokens.iconWithBodyMediumSizeLargeTablet, @@ -87,162 +90,180 @@ class OudsSizeScheme { /// IconWithBodyLarge - double get iconWithBodyLargeSizeSmall => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithBodyLargeSizeSmall => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithBodyLargeSizeSmallMobile, tablet: sizeTokens.iconWithBodyLargeSizeSmallTablet, ); - double get iconWithBodyLargeSizeMedium => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithBodyLargeSizeMedium => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithBodyLargeSizeMediumMobile, tablet: sizeTokens.iconWithBodyLargeSizeMediumTablet, ); - double get iconWithBodyLargeSizeLarge => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithBodyLargeSizeLarge => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithBodyLargeSizeLargeMobile, tablet: sizeTokens.iconWithBodyLargeSizeLargeTablet, ); /// IconWithHeadingSmall - double get iconWithHeadingSmallSizeSmall => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingSmallSizeSmall => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingSmallSizeSmallMobile, tablet: sizeTokens.iconWithHeadingSmallSizeSmallTablet, ); - double get iconWithHeadingSmallSizeMedium => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingSmallSizeMedium => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingSmallSizeMediumMobile, tablet: sizeTokens.iconWithHeadingSmallSizeMediumTablet, ); - double get iconWithHeadingSmallSizeLarge => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingSmallSizeLarge => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingSmallSizeLargeMobile, tablet: sizeTokens.iconWithHeadingSmallSizeLargeTablet, ); /// IconWithHeadingMedium - double get iconWithHeadingMediumSizeSmall => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingMediumSizeSmall => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingMediumSizeSmallMobile, tablet: sizeTokens.iconWithHeadingMediumSizeSmallTablet, ); - double get iconWithHeadingMediumSizeMedium => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingMediumSizeMedium => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingMediumSizeMediumMobile, tablet: sizeTokens.iconWithHeadingMediumSizeMediumTablet, ); - double get iconWithHeadingMediumSizeLarge => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingMediumSizeLarge => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingMediumSizeLargeMobile, tablet: sizeTokens.iconWithHeadingMediumSizeLargeTablet, ); /// IconWithHeadingLarge - double get iconWithHeadingLargeSizeSmall => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingLargeSizeSmall => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingLargeSizeSmallMobile, tablet: sizeTokens.iconWithHeadingLargeSizeSmallTablet, ); - double get iconWithHeadingLargeSizeMedium => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingLargeSizeMedium => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingLargeSizeMediumMobile, tablet: sizeTokens.iconWithHeadingLargeSizeMediumTablet, ); - double get iconWithHeadingLargeSizeLarge => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingLargeSizeLarge => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingLargeSizeLargeMobile, tablet: sizeTokens.iconWithHeadingLargeSizeLargeTablet, ); /// IconWithHeadingExtraLarge - double get iconWithHeadingExtraLargeSizeSmall => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingExtraLargeSizeSmall => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingXlargeSizeSmallMobile, tablet: sizeTokens.iconWithHeadingXlargeSizeSmallTablet, ); - double get iconWithHeadingExtraLargeSizeMedium => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingExtraLargeSizeMedium => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingXlargeSizeMediumMobile, tablet: sizeTokens.iconWithHeadingXlargeSizeMediumTablet, ); - double get iconWithHeadingExtraLargeSizeLarge => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingExtraLargeSizeLarge => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingXlargeSizeLargeMobile, tablet: sizeTokens.iconWithHeadingXlargeSizeLargeTablet, ); - /// MaxWidthTypeDisplay - double get maxWidthTypeDisplaySmall => OudsWindowSizeClassUtil.selectMobileTablet( - sizeClass: sizeClass, - mobile: sizeTokens.maxWidthTypeDisplaySmallMobile, - tablet: sizeTokens.maxWidthTypeDisplaySmallTablet, - ); - - double get maxWidthTypeDisplayMedium => OudsWindowSizeClassUtil.selectMobileTablet( - sizeClass: sizeClass, - mobile: sizeTokens.maxWidthTypeDisplayMediumMobile, - tablet: sizeTokens.maxWidthTypeDisplayMediumTablet, - ); - - double get maxWidthTypeDisplayLarge => OudsWindowSizeClassUtil.selectMobileTablet( - sizeClass: sizeClass, - mobile: sizeTokens.maxWidthTypeDisplayLargeMobile, - tablet: sizeTokens.maxWidthTypeDisplayLargeTablet, - ); - - /// MaxWidthTypeHeading - double get maxWidthTypeHeadingSmall => OudsWindowSizeClassUtil.selectMobileTablet( - sizeClass: sizeClass, - mobile: sizeTokens.maxWidthTypeHeadingSmallMobile, - tablet: sizeTokens.maxWidthTypeHeadingSmallTablet, - ); + /// MaxWidthDisplay + double get maxWidthDisplaySmall => OudsWindowSizeClassUtil.selectMobileTablet( + sizeClass: sizeClass, + mobile: sizeTokens.maxWidthDisplaySmallMobile, + tablet: sizeTokens.maxWidthDisplaySmallTablet, + ); - double get maxWidthTypeHeadingMedium => OudsWindowSizeClassUtil.selectMobileTablet( + double get maxWidthDisplayMedium => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, - mobile: sizeTokens.maxWidthTypeHeadingMediumMobile, - tablet: sizeTokens.maxWidthTypeHeadingMediumTablet, + mobile: sizeTokens.maxWidthDisplayMediumMobile, + tablet: sizeTokens.maxWidthDisplayMediumTablet, ); - double get maxWidthTypeHeadingLarge => OudsWindowSizeClassUtil.selectMobileTablet( + double get maxWidthDisplayLarge => OudsWindowSizeClassUtil.selectMobileTablet( + sizeClass: sizeClass, + mobile: sizeTokens.maxWidthDisplayLargeMobile, + tablet: sizeTokens.maxWidthDisplayLargeTablet, + ); + + /// MaxWidthHeading + double get maxWidthHeadingSmall => OudsWindowSizeClassUtil.selectMobileTablet( + sizeClass: sizeClass, + mobile: sizeTokens.maxWidthHeadingSmallMobile, + tablet: sizeTokens.maxWidthHeadingSmallTablet, + ); + + double get maxWidthHeadingMedium => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, - mobile: sizeTokens.maxWidthTypeHeadingLargeMobile, - tablet: sizeTokens.maxWidthTypeHeadingLargeTablet, + mobile: sizeTokens.maxWidthHeadingMediumMobile, + tablet: sizeTokens.maxWidthHeadingMediumTablet, ); - double get maxWidthTypeHeadingExtraLarge => OudsWindowSizeClassUtil.selectMobileTablet( - sizeClass: sizeClass, - mobile: sizeTokens.maxWidthTypeHeadingXlargeMobile, - tablet: sizeTokens.maxWidthTypeHeadingXlargeTablet, - ); + double get maxWidthHeadingLarge => OudsWindowSizeClassUtil.selectMobileTablet( + sizeClass: sizeClass, + mobile: sizeTokens.maxWidthHeadingLargeMobile, + tablet: sizeTokens.maxWidthHeadingLargeTablet, + ); - /// MaxWidthTypeBody - double get maxWidthTypeBodySmall => OudsWindowSizeClassUtil.selectMobileTablet( + double get maxWidthHeadingExtraLarge => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, - mobile: sizeTokens.maxWidthTypeBodySmallMobile, - tablet: sizeTokens.maxWidthTypeBodySmallTablet, + mobile: sizeTokens.maxWidthHeadingXlargeMobile, + tablet: sizeTokens.maxWidthHeadingXlargeTablet, ); - double get maxWidthTypeBodyMedium => OudsWindowSizeClassUtil.selectMobileTablet( - sizeClass: sizeClass, - mobile: sizeTokens.maxWidthTypeBodyMediumMobile, - tablet: sizeTokens.maxWidthTypeBodyMediumTablet, - ); - - double get maxWidthTypeBodyLarge => OudsWindowSizeClassUtil.selectMobileTablet( - sizeClass: sizeClass, - mobile: sizeTokens.maxWidthTypeBodyLargeMobile, - tablet: sizeTokens.maxWidthTypeBodyLargeTablet, - ); + /// MaxWidthBody + double get maxWidthBodySmall => OudsWindowSizeClassUtil.selectMobileTablet( + sizeClass: sizeClass, + mobile: sizeTokens.maxWidthBodySmallMobile, + tablet: sizeTokens.maxWidthBodySmallTablet, + ); + + double get maxWidthBodyMedium => OudsWindowSizeClassUtil.selectMobileTablet( + sizeClass: sizeClass, + mobile: sizeTokens.maxWidthBodyMediumMobile, + tablet: sizeTokens.maxWidthBodyMediumTablet, + ); + + double get maxWidthBodyLarge => OudsWindowSizeClassUtil.selectMobileTablet( + sizeClass: sizeClass, + mobile: sizeTokens.maxWidthBodyLargeMobile, + tablet: sizeTokens.maxWidthBodyLargeTablet, + ); /// Non-responsive tokens (direct mapping) @@ -256,26 +277,42 @@ class OudsSizeScheme { double get iconDecorativeExtraExtraLarge => sizeTokens.iconDecorative2xlarge; /// iconWithLabelSmall - double get iconWithLabelSmallSizeExtraSmall => sizeTokens.iconWithLabelSmallSizeXsmall; - double get iconWithLabelSmallSizeSmall => sizeTokens.iconWithLabelSmallSizeSmall; - double get iconWithLabelSmallSizeMedium => sizeTokens.iconWithLabelSmallSizeMedium; - double get iconWithLabelSmallSizeLarge => sizeTokens.iconWithLabelSmallSizeLarge; + double get iconWithLabelSmallSizeExtraSmall => + sizeTokens.iconWithLabelSmallSizeXsmall; + double get iconWithLabelSmallSizeSmall => + sizeTokens.iconWithLabelSmallSizeSmall; + double get iconWithLabelSmallSizeMedium => + sizeTokens.iconWithLabelSmallSizeMedium; + double get iconWithLabelSmallSizeLarge => + sizeTokens.iconWithLabelSmallSizeLarge; /// iconWithLabelMedium - double get iconWithLabelMediumSizeExtraSmall => sizeTokens.iconWithLabelMediumSizeXsmall; - double get iconWithLabelMediumSizeSmall => sizeTokens.iconWithLabelMediumSizeSmall; - double get iconWithLabelMediumSizeMedium => sizeTokens.iconWithLabelMediumSizeMedium; - double get iconWithLabelMediumSizeLarge => sizeTokens.iconWithLabelMediumSizeLarge; + double get iconWithLabelMediumSizeExtraSmall => + sizeTokens.iconWithLabelMediumSizeXsmall; + double get iconWithLabelMediumSizeSmall => + sizeTokens.iconWithLabelMediumSizeSmall; + double get iconWithLabelMediumSizeMedium => + sizeTokens.iconWithLabelMediumSizeMedium; + double get iconWithLabelMediumSizeLarge => + sizeTokens.iconWithLabelMediumSizeLarge; /// iconWithLabelLarge - double get iconWithLabelLargeSizeExtraSmall => sizeTokens.iconWithLabelLargeSizeXsmall; - double get iconWithLabelLargeSizeSmall => sizeTokens.iconWithLabelLargeSizeSmall; - double get iconWithLabelLargeSizeMedium => sizeTokens.iconWithLabelLargeSizeMedium; - double get iconWithLabelLargeSizeLarge => sizeTokens.iconWithLabelLargeSizeLarge; - double get iconWithLabelLargeSizeExtraLarge => sizeTokens.iconWithLabelLargeSizeXlarge; + double get iconWithLabelLargeSizeExtraSmall => + sizeTokens.iconWithLabelLargeSizeXsmall; + double get iconWithLabelLargeSizeSmall => + sizeTokens.iconWithLabelLargeSizeSmall; + double get iconWithLabelLargeSizeMedium => + sizeTokens.iconWithLabelLargeSizeMedium; + double get iconWithLabelLargeSizeLarge => + sizeTokens.iconWithLabelLargeSizeLarge; + double get iconWithLabelLargeSizeExtraLarge => + sizeTokens.iconWithLabelLargeSizeXlarge; /// iconWithLabelExtraSmall - double get iconWithLabelExtraLargeSizeSmall => sizeTokens.iconWithLabelXlargeSizeSmall; - double get iconWithLabelExtraLargeSizeMedium => sizeTokens.iconWithLabelXlargeSizeMedium; - double get iconWithLabelExtraLargeSizeLarge => sizeTokens.iconWithLabelXlargeSizeLarge; + double get iconWithLabelExtraLargeSizeSmall => + sizeTokens.iconWithLabelXlargeSizeSmall; + double get iconWithLabelExtraLargeSizeMedium => + sizeTokens.iconWithLabelXlargeSizeMedium; + double get iconWithLabelExtraLargeSizeLarge => + sizeTokens.iconWithLabelXlargeSizeLarge; } diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_checkbox_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_checkbox_tokens.dart index 41264c13f..36750056f 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_checkbox_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_checkbox_tokens.dart @@ -23,6 +23,10 @@ abstract class OudsCheckboxTokens { late double borderWidthUnselectedFocus; late double borderWidthUnselectedHover; late double borderWidthUnselectedPressed; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late double sizeIndicator; late double sizeMaxHeight; late double sizeMinHeight; late double sizeMinWidth; diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_controlItem_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_controlItem_tokens.dart index d1cfdf188..4a9a7b305 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_controlItem_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_controlItem_tokens.dart @@ -18,6 +18,10 @@ import 'package:flutter/material.dart'; abstract class OudsControlItemTokens { late double borderRadiusCurrentIndicator; late double borderRadiusDefault; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late double borderRadiusItemOnly; late double borderRadiusMedia; late double borderRadiusMediaRoundedCorner; late double borderRadiusRounded; @@ -29,11 +33,31 @@ abstract class OudsControlItemTokens { late Color colorBgCurrentFocus; late Color colorBgCurrentHover; late Color colorBgCurrentPressed; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late Color colorBgFocus; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late Color colorBgHover; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late Color colorBgLoading; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late Color colorBgPressed; late Color colorContentCurrentDisabled; late Color colorContentCurrentEnabled; late Color colorContentCurrentFocus; late Color colorContentCurrentHover; late Color colorContentCurrentPressed; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late Color colorContentLoader; late double fontLetterSpacingAvatarInitialXlarge; late double fontLineHeightAvatarInitialXlarge; late double fontSizeAvatarInitialXlarge; @@ -45,13 +69,33 @@ abstract class OudsControlItemTokens { late double sizeAssetXlarge; late double sizeControlIndicator; late double sizeCurrentIndicatorWidth; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late double sizeErrorIcon; late double sizeFlagHeight; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late double sizeIcon; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late double sizeLoader; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late double sizeMaxHeightAssetsContainer; late double sizeMaxWidth; late double sizeMinHeightCompact; late double sizeMinHeightDefault; late double sizeMinWidth; late double spaceColumnGap; late double spacePaddingBlockBottomSlot; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late double spacePaddingBlockDefault; late double spacePaddingBlockDensityCompact; late double spacePaddingBlockDensityCompactBottomExpandContainer; late double spacePaddingBlockDensityCompactTopAlignmentTopCounterweight; @@ -62,5 +106,9 @@ abstract class OudsControlItemTokens { late double spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer; late double spacePaddingBlockTopHelperText; late double spacePaddingInline; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late double spacePaddingInlineErrorIcon; late double spaceRowGap; } diff --git a/ouds_theme_orange/CHANGELOG.md b/ouds_theme_orange/CHANGELOG.md index ba725f942..3b7acdc04 100644 --- a/ouds_theme_orange/CHANGELOG.md +++ b/ouds_theme_orange/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed +- [Library] update tokens 2.4.0 ([#726](https://github.com/Orange-OpenSource/ouds-flutter/issues/726)) - [Library] update tokens 1.9.0 - Component Bullet List ([#710](https://github.com/Orange-OpenSource/ouds-flutter/issues/710)) - [Library] update tokens 1.9.0 - Component Alert ([#672](https://github.com/Orange-OpenSource/ouds-flutter/issues/672)) diff --git a/ouds_theme_orange/lib/components/orange_checkbox_tokens.dart b/ouds_theme_orange/lib/components/orange_checkbox_tokens.dart index 4e8872d8c..a694d916c 100644 --- a/ouds_theme_orange/lib/components/orange_checkbox_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_checkbox_tokens.dart @@ -39,6 +39,9 @@ class OrangeCheckboxTokens extends OudsCheckboxTokens { double get borderWidthUnselectedHover => providersTokens.borderTokens.widthMedium; @override double get borderWidthUnselectedPressed => providersTokens.borderTokens.widthMedium; + @Deprecated("This token is deprecated and will be removed in a future version.") + @override + double get sizeIndicator => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; @override double get sizeMaxHeight => providersTokens.sizeTokens.minInteractiveArea; @override diff --git a/ouds_theme_orange/lib/components/orange_controlItem_tokens.dart b/ouds_theme_orange/lib/components/orange_controlItem_tokens.dart index 3c1d40f5d..2a02de87c 100644 --- a/ouds_theme_orange/lib/components/orange_controlItem_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_controlItem_tokens.dart @@ -25,13 +25,20 @@ class OrangeControlItemTokens extends OudsControlItemTokens { OrangeControlItemTokens(this.providersTokens); @override - double get borderRadiusCurrentIndicator => providersTokens.borderTokens.radiusNone; + double get borderRadiusCurrentIndicator => + providersTokens.borderTokens.radiusNone; @override double get borderRadiusDefault => providersTokens.borderTokens.radiusDefault; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get borderRadiusItemOnly => providersTokens.borderTokens.radiusDefault; @override double get borderRadiusMedia => providersTokens.borderTokens.radiusDefault; @override - double get borderRadiusMediaRoundedCorner => providersTokens.borderTokens.radiusSmall; + double get borderRadiusMediaRoundedCorner => + providersTokens.borderTokens.radiusSmall; @override double get borderRadiusRounded => providersTokens.borderTokens.radiusMedium; @override @@ -41,29 +48,68 @@ class OrangeControlItemTokens extends OudsControlItemTokens { @override Color get colorBadgeSafetyArea => providersTokens.colorScheme.bgPrimary; @override - Color get colorBgCurrentDisabled => providersTokens.colorScheme.actionSupportDisabled; + Color get colorBgCurrentDisabled => + providersTokens.colorScheme.actionSupportDisabled; + @override + Color get colorBgCurrentEnabled => providersTokens.colorScheme.lightDark( + providersTokens.colorScheme.actionSupportEnabled, + providersTokens.colorScheme.actionSupportHover, + ); + @override + Color get colorBgCurrentFocus => + providersTokens.colorScheme.actionSupportFocus; + @override + Color get colorBgCurrentHover => + providersTokens.colorScheme.actionSupportHover; + @override + Color get colorBgCurrentPressed => + providersTokens.colorScheme.actionSupportPressed; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + Color get colorBgFocus => providersTokens.colorScheme.actionSupportFocus; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorBgCurrentEnabled => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.actionSupportEnabled, providersTokens.colorScheme.actionSupportHover); + Color get colorBgHover => providersTokens.colorScheme.actionSupportHover; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorBgCurrentFocus => providersTokens.colorScheme.actionSupportFocus; + Color get colorBgLoading => providersTokens.colorScheme.actionSupportLoading; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorBgCurrentHover => providersTokens.colorScheme.actionSupportHover; + Color get colorBgPressed => providersTokens.colorScheme.actionSupportPressed; @override - Color get colorBgCurrentPressed => providersTokens.colorScheme.actionSupportPressed; + Color get colorContentCurrentDisabled => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentDisabled => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentEnabled => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentEnabled => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentFocus => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentFocus => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentHover => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentHover => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentPressed => + providersTokens.colorScheme.contentDefault; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorContentCurrentPressed => providersTokens.colorScheme.contentDefault; + Color get colorContentLoader => providersTokens.colorScheme.contentDefault; @override - double get fontLetterSpacingAvatarInitialXlarge => FontRawTokens.fontLetterSpacing450; + double get fontLetterSpacingAvatarInitialXlarge => + FontRawTokens.fontLetterSpacing450; @override - double get fontLineHeightAvatarInitialXlarge => FontRawTokens.fontLineHeight650; + double get fontLineHeightAvatarInitialXlarge => + FontRawTokens.fontLineHeight650; @override double get fontSizeAvatarInitialXlarge => FontRawTokens.fontSize450; @override @@ -73,21 +119,49 @@ class OrangeControlItemTokens extends OudsControlItemTokens { @override double get sizeAssetLarge => DimensionRawTokens.dimension500; @override - double get sizeAssetMedium => providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + double get sizeAssetMedium => + providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; @override - double get sizeAssetSmall => providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + double get sizeAssetSmall => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; @override double get sizeAssetXlarge => DimensionRawTokens.dimension700; @override - double get sizeControlIndicator => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + double get sizeControlIndicator => + providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; @override double get sizeCurrentIndicatorWidth => DimensionRawTokens.dimension50; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - double get sizeFlagHeight => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + double get sizeErrorIcon => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + @override + double get sizeFlagHeight => + providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeIcon => + providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeLoader => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeMaxHeightAssetsContainer => DimensionRawTokens.dimension1200; @override double get sizeMaxWidth => DimensionRawTokens.dimension4000; @override - double get sizeMinHeightCompact => providersTokens.sizeTokens.minInteractiveArea; + double get sizeMinHeightCompact => + providersTokens.sizeTokens.minInteractiveArea; @override double get sizeMinHeightDefault => DimensionRawTokens.dimension750; @override @@ -95,27 +169,50 @@ class OrangeControlItemTokens extends OudsControlItemTokens { @override double get spaceColumnGap => providersTokens.spaceTokens.columnGapMedium; @override - double get spacePaddingBlockBottomSlot => providersTokens.spaceTokens.paddingBlock3xsmall; + double get spacePaddingBlockBottomSlot => + providersTokens.spaceTokens.paddingBlock3xsmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get spacePaddingBlockDefault => + providersTokens.spaceTokens.paddingBlockMedium; + @override + double get spacePaddingBlockDensityCompact => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockDensityCompact => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingBlockDensityCompactBottomExpandContainer => + providersTokens.spaceTokens.paddingBlock2xlarge; @override - double get spacePaddingBlockDensityCompactBottomExpandContainer => providersTokens.spaceTokens.paddingBlock2xlarge; + double get spacePaddingBlockDensityCompactTopAlignmentTopCounterweight => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockDensityCompactTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingBlockDensityCompactTopAlignmentTopTextContainer => + providersTokens.spaceTokens.paddingBlockNone; @override - double get spacePaddingBlockDensityCompactTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlockNone; + double get spacePaddingBlockDensityDefault => + providersTokens.spaceTokens.paddingBlockMedium; @override - double get spacePaddingBlockDensityDefault => providersTokens.spaceTokens.paddingBlockMedium; + double get spacePaddingBlockDensityDefaultBottomExpandContainer => + providersTokens.spaceTokens.paddingBlock3xlarge; @override - double get spacePaddingBlockDensityDefaultBottomExpandContainer => providersTokens.spaceTokens.paddingBlock3xlarge; + double get spacePaddingBlockDensityDefaultTopAlignmentTopCounterweight => + providersTokens.spaceTokens.paddingBlockSmall; @override - double get spacePaddingBlockDensityDefaultTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockSmall; + double get spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer => + providersTokens.spaceTokens.paddingBlock4xsmall; @override - double get spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlock4xsmall; + double get spacePaddingBlockTopHelperText => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockTopHelperText => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingInline => + providersTokens.spaceTokens.paddingInlineLarge; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - double get spacePaddingInline => providersTokens.spaceTokens.paddingInlineLarge; + double get spacePaddingInlineErrorIcon => + providersTokens.spaceTokens.paddingInline4xsmall; @override double get spaceRowGap => providersTokens.spaceTokens.rowGapNone; } diff --git a/ouds_theme_orange_compact/CHANGELOG.md b/ouds_theme_orange_compact/CHANGELOG.md index 437a02f35..fa45f0c28 100644 --- a/ouds_theme_orange_compact/CHANGELOG.md +++ b/ouds_theme_orange_compact/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed +- [Library] update tokens 2.4.0 ([#726](https://github.com/Orange-OpenSource/ouds-flutter/issues/726)) - [Library] update tokens 1.9.0 - Component Bullet List ([#710](https://github.com/Orange-OpenSource/ouds-flutter/issues/710)) - [Library] update tokens 1.9.0 - Component Alert ([#672](https://github.com/Orange-OpenSource/ouds-flutter/issues/672)) diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_checkbox_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_checkbox_tokens.dart index ec4070916..aa2dcd84d 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_checkbox_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_checkbox_tokens.dart @@ -26,19 +26,31 @@ class OrangeCompactCheckboxTokens extends OudsCheckboxTokens { @override double get borderWidthSelected => providersTokens.borderTokens.widthMedium; @override - double get borderWidthSelectedFocus => providersTokens.borderTokens.widthMedium; + double get borderWidthSelectedFocus => + providersTokens.borderTokens.widthMedium; @override - double get borderWidthSelectedHover => providersTokens.borderTokens.widthMedium; + double get borderWidthSelectedHover => + providersTokens.borderTokens.widthMedium; @override - double get borderWidthSelectedPressed => providersTokens.borderTokens.widthMedium; + double get borderWidthSelectedPressed => + providersTokens.borderTokens.widthMedium; @override double get borderWidthUnselected => providersTokens.borderTokens.widthThin; @override - double get borderWidthUnselectedFocus => providersTokens.borderTokens.widthMedium; + double get borderWidthUnselectedFocus => + providersTokens.borderTokens.widthMedium; @override - double get borderWidthUnselectedHover => providersTokens.borderTokens.widthMedium; + double get borderWidthUnselectedHover => + providersTokens.borderTokens.widthMedium; @override - double get borderWidthUnselectedPressed => providersTokens.borderTokens.widthMedium; + double get borderWidthUnselectedPressed => + providersTokens.borderTokens.widthMedium; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeIndicator => + providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; @override double get sizeMaxHeight => providersTokens.sizeTokens.minInteractiveArea; @override diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_controlItem_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_controlItem_tokens.dart index ff5018251..cca8b6df5 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_controlItem_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_controlItem_tokens.dart @@ -25,13 +25,20 @@ class OrangeCompactControlItemTokens extends OudsControlItemTokens { OrangeCompactControlItemTokens(this.providersTokens); @override - double get borderRadiusCurrentIndicator => providersTokens.borderTokens.radiusNone; + double get borderRadiusCurrentIndicator => + providersTokens.borderTokens.radiusNone; @override double get borderRadiusDefault => providersTokens.borderTokens.radiusDefault; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get borderRadiusItemOnly => providersTokens.borderTokens.radiusDefault; @override double get borderRadiusMedia => providersTokens.borderTokens.radiusDefault; @override - double get borderRadiusMediaRoundedCorner => providersTokens.borderTokens.radiusSmall; + double get borderRadiusMediaRoundedCorner => + providersTokens.borderTokens.radiusSmall; @override double get borderRadiusRounded => providersTokens.borderTokens.radiusMedium; @override @@ -41,29 +48,66 @@ class OrangeCompactControlItemTokens extends OudsControlItemTokens { @override Color get colorBadgeSafetyArea => providersTokens.colorScheme.bgPrimary; @override - Color get colorBgCurrentDisabled => providersTokens.colorScheme.actionSupportDisabled; + Color get colorBgCurrentDisabled => + providersTokens.colorScheme.actionSupportDisabled; + @override + Color get colorBgCurrentEnabled => + providersTokens.colorScheme.actionSupportEnabled; + @override + Color get colorBgCurrentFocus => + providersTokens.colorScheme.actionSupportFocus; + @override + Color get colorBgCurrentHover => + providersTokens.colorScheme.actionSupportHover; + @override + Color get colorBgCurrentPressed => + providersTokens.colorScheme.actionSupportPressed; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + Color get colorBgFocus => providersTokens.colorScheme.actionSupportFocus; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorBgCurrentEnabled => providersTokens.colorScheme.actionSupportEnabled; + Color get colorBgHover => providersTokens.colorScheme.actionSupportHover; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorBgCurrentFocus => providersTokens.colorScheme.actionSupportFocus; + Color get colorBgLoading => providersTokens.colorScheme.actionSupportLoading; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorBgCurrentHover => providersTokens.colorScheme.actionSupportHover; + Color get colorBgPressed => providersTokens.colorScheme.actionSupportPressed; @override - Color get colorBgCurrentPressed => providersTokens.colorScheme.actionSupportPressed; + Color get colorContentCurrentDisabled => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentDisabled => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentEnabled => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentEnabled => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentFocus => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentFocus => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentHover => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentHover => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentPressed => + providersTokens.colorScheme.contentDefault; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorContentCurrentPressed => providersTokens.colorScheme.contentDefault; + Color get colorContentLoader => providersTokens.colorScheme.contentDefault; @override - double get fontLetterSpacingAvatarInitialXlarge => FontRawTokens.fontLetterSpacing350; + double get fontLetterSpacingAvatarInitialXlarge => + FontRawTokens.fontLetterSpacing350; @override - double get fontLineHeightAvatarInitialXlarge => FontRawTokens.fontLineHeight550; + double get fontLineHeightAvatarInitialXlarge => + FontRawTokens.fontLineHeight550; @override double get fontSizeAvatarInitialXlarge => FontRawTokens.fontSize350; @override @@ -73,21 +117,49 @@ class OrangeCompactControlItemTokens extends OudsControlItemTokens { @override double get sizeAssetLarge => DimensionRawTokens.dimension450; @override - double get sizeAssetMedium => providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + double get sizeAssetMedium => + providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; @override - double get sizeAssetSmall => providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + double get sizeAssetSmall => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; @override double get sizeAssetXlarge => DimensionRawTokens.dimension650; @override - double get sizeControlIndicator => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + double get sizeControlIndicator => + providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; @override double get sizeCurrentIndicatorWidth => DimensionRawTokens.dimension50; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - double get sizeFlagHeight => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + double get sizeErrorIcon => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + @override + double get sizeFlagHeight => + providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeIcon => + providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeLoader => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeMaxHeightAssetsContainer => DimensionRawTokens.dimension1000; @override double get sizeMaxWidth => DimensionRawTokens.dimension4000; @override - double get sizeMinHeightCompact => providersTokens.sizeTokens.minInteractiveArea; + double get sizeMinHeightCompact => + providersTokens.sizeTokens.minInteractiveArea; @override double get sizeMinHeightDefault => DimensionRawTokens.dimension650; @override @@ -95,27 +167,50 @@ class OrangeCompactControlItemTokens extends OudsControlItemTokens { @override double get spaceColumnGap => providersTokens.spaceTokens.columnGapMedium; @override - double get spacePaddingBlockBottomSlot => providersTokens.spaceTokens.paddingBlock4xsmall; + double get spacePaddingBlockBottomSlot => + providersTokens.spaceTokens.paddingBlock4xsmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get spacePaddingBlockDefault => + providersTokens.spaceTokens.paddingBlockMedium; + @override + double get spacePaddingBlockDensityCompact => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockDensityCompact => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingBlockDensityCompactBottomExpandContainer => + providersTokens.spaceTokens.paddingBlock2xlarge; @override - double get spacePaddingBlockDensityCompactBottomExpandContainer => providersTokens.spaceTokens.paddingBlock2xlarge; + double get spacePaddingBlockDensityCompactTopAlignmentTopCounterweight => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockDensityCompactTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingBlockDensityCompactTopAlignmentTopTextContainer => + providersTokens.spaceTokens.paddingBlockNone; @override - double get spacePaddingBlockDensityCompactTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlockNone; + double get spacePaddingBlockDensityDefault => + providersTokens.spaceTokens.paddingBlockMedium; @override - double get spacePaddingBlockDensityDefault => providersTokens.spaceTokens.paddingBlockMedium; + double get spacePaddingBlockDensityDefaultBottomExpandContainer => + providersTokens.spaceTokens.paddingBlock3xlarge; @override - double get spacePaddingBlockDensityDefaultBottomExpandContainer => providersTokens.spaceTokens.paddingBlock3xlarge; + double get spacePaddingBlockDensityDefaultTopAlignmentTopCounterweight => + providersTokens.spaceTokens.paddingBlockSmall; @override - double get spacePaddingBlockDensityDefaultTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockSmall; + double get spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer => + providersTokens.spaceTokens.paddingBlockNone; @override - double get spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlockNone; + double get spacePaddingBlockTopHelperText => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockTopHelperText => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingInline => + providersTokens.spaceTokens.paddingInlineLarge; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - double get spacePaddingInline => providersTokens.spaceTokens.paddingInlineLarge; + double get spacePaddingInlineErrorIcon => + providersTokens.spaceTokens.paddingInline4xsmall; @override double get spaceRowGap => providersTokens.spaceTokens.rowGapNone; } diff --git a/ouds_theme_sosh/CHANGELOG.md b/ouds_theme_sosh/CHANGELOG.md index 64be6a1fe..70383ca87 100644 --- a/ouds_theme_sosh/CHANGELOG.md +++ b/ouds_theme_sosh/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed +- [Library] update tokens 2.4.0 ([#726](https://github.com/Orange-OpenSource/ouds-flutter/issues/726)) - [Library] update tokens 1.9.0 - Component Bullet List ([#710](https://github.com/Orange-OpenSource/ouds-flutter/issues/710)) - [Library] update tokens 1.9.0 - Component Alert ([#672](https://github.com/Orange-OpenSource/ouds-flutter/issues/672)) diff --git a/ouds_theme_sosh/lib/components/sosh_bar_tokens.dart b/ouds_theme_sosh/lib/components/sosh_bar_tokens.dart index abe33d31b..9743139d6 100644 --- a/ouds_theme_sosh/lib/components/sosh_bar_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_bar_tokens.dart @@ -19,6 +19,7 @@ import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; import 'package:ouds_global_raw_tokens/effect_raw_tokens.dart'; import 'package:ouds_theme_contract/ouds_tokens_provider.dart'; import 'package:ouds_theme_contract/theme/tokens/components/ouds_bar_tokens.dart'; +import 'package:ouds_theme_sosh/raw/sosh_color_raw_tokens.dart'; class SoshBarTokens extends OudsBarTokens { final OudsProvidersTokens providersTokens; @@ -26,71 +27,100 @@ class SoshBarTokens extends OudsBarTokens { SoshBarTokens(this.providersTokens); @override - double get borderRadiusCurrentIndicatorCustomBottom => providersTokens.borderTokens.radiusPill; + double get borderRadiusCurrentIndicatorCustomBottom => + providersTokens.borderTokens.radiusPill; @override - double get borderRadiusCurrentIndicatorCustomTop => providersTokens.borderTokens.radiusDefault; + double get borderRadiusCurrentIndicatorCustomTop => + providersTokens.borderTokens.radiusDefault; @override Color get colorBgOpaque => providersTokens.colorScheme.bgSecondary; @override - Color get colorBgTranslucentDark => ColorRawTokens.colorOpacityBlueDuckDark960800; + Color get colorBgTranslucentDark => + SoshColorRawTokens.colorOpacityBlueDuckDark960800; @override Color get colorBgTranslucentLight => ColorRawTokens.colorOpacityWhite800; @override Color get colorBorderBadge => providersTokens.colorScheme.bgSecondary; @override - Color get colorContentOnIosAccent => providersTokens.colorScheme.contentOnActionSelected; + Color get colorContentOnIosAccent => + providersTokens.colorScheme.contentOnActionSelected; @override - Color get colorContentSelectedEnabled => providersTokens.colorScheme.actionSelected; + Color get colorContentSelectedEnabled => + providersTokens.colorScheme.actionSelected; @override - Color get colorContentSelectedFocus => providersTokens.colorScheme.actionFocus; + Color get colorContentSelectedFocus => + providersTokens.colorScheme.actionFocus; @override - Color get colorContentSelectedHover => providersTokens.colorScheme.actionHover; + Color get colorContentSelectedHover => + providersTokens.colorScheme.actionHover; @override - Color get colorContentSelectedPressed => providersTokens.colorScheme.actionPressed; + Color get colorContentSelectedPressed => + providersTokens.colorScheme.actionPressed; @override - Color get colorContentUnselectedEnabled => providersTokens.colorScheme.contentMuted; + Color get colorContentUnselectedEnabled => + providersTokens.colorScheme.contentMuted; @override - Color get colorContentUnselectedFocus => providersTokens.colorScheme.contentDefault; + Color get colorContentUnselectedFocus => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentUnselectedHover => providersTokens.colorScheme.contentDefault; + Color get colorContentUnselectedHover => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentUnselectedPressed => providersTokens.colorScheme.actionPressed; + Color get colorContentUnselectedPressed => + providersTokens.colorScheme.actionPressed; @override - Color get colorCurrentIndicatorAndroidSelectedDisabled => providersTokens.colorScheme.opacityTransparent; + Color get colorCurrentIndicatorAndroidSelectedDisabled => + providersTokens.colorScheme.opacityTransparent; @override - Color get colorCurrentIndicatorAndroidSelectedEnabled => providersTokens.colorScheme.opacityTransparent; + Color get colorCurrentIndicatorAndroidSelectedEnabled => + providersTokens.colorScheme.opacityTransparent; @override - Color get colorCurrentIndicatorAndroidSelectedFocus => providersTokens.colorScheme.opacityTransparent; + Color get colorCurrentIndicatorAndroidSelectedFocus => + providersTokens.colorScheme.opacityTransparent; @override - Color get colorCurrentIndicatorAndroidSelectedHover => providersTokens.colorScheme.opacityTransparent; + Color get colorCurrentIndicatorAndroidSelectedHover => + providersTokens.colorScheme.opacityTransparent; @override - Color get colorCurrentIndicatorAndroidSelectedPressed => providersTokens.colorScheme.opacityTransparent; + Color get colorCurrentIndicatorAndroidSelectedPressed => + providersTokens.colorScheme.opacityTransparent; @override - Color get colorCurrentIndicatorAndroidUnselectedDisabled => providersTokens.colorScheme.opacityTransparent; + Color get colorCurrentIndicatorAndroidUnselectedDisabled => + providersTokens.colorScheme.opacityTransparent; @override - Color get colorCurrentIndicatorAndroidUnselectedFocus => providersTokens.colorScheme.opacityTransparent; + Color get colorCurrentIndicatorAndroidUnselectedFocus => + providersTokens.colorScheme.opacityTransparent; @override - Color get colorCurrentIndicatorAndroidUnselectedHover => providersTokens.colorScheme.opacityTransparent; + Color get colorCurrentIndicatorAndroidUnselectedHover => + providersTokens.colorScheme.opacityTransparent; @override - Color get colorCurrentIndicatorAndroidUnselectedPressed => providersTokens.colorScheme.opacityTransparent; + Color get colorCurrentIndicatorAndroidUnselectedPressed => + providersTokens.colorScheme.opacityTransparent; @override - Color get colorCurrentIndicatorCustomSelectedEnabled => providersTokens.colorScheme.actionSelected; + Color get colorCurrentIndicatorCustomSelectedEnabled => + providersTokens.colorScheme.actionSelected; @override - Color get colorCurrentIndicatorCustomSelectedFocus => providersTokens.colorScheme.actionFocus; + Color get colorCurrentIndicatorCustomSelectedFocus => + providersTokens.colorScheme.actionFocus; @override - Color get colorCurrentIndicatorCustomSelectedHover => providersTokens.colorScheme.actionHover; + Color get colorCurrentIndicatorCustomSelectedHover => + providersTokens.colorScheme.actionHover; @override - Color get colorCurrentIndicatorCustomSelectedPressed => providersTokens.colorScheme.actionPressed; + Color get colorCurrentIndicatorCustomSelectedPressed => + providersTokens.colorScheme.actionPressed; @override Color get colorIosAccent => providersTokens.colorScheme.actionSelected; @override int get effectBgBlur => EffectRawTokens.effectBlur320; @override - double get opacityCurrentIndicatorCustom => providersTokens.opacityTokens.opaque; + double get opacityCurrentIndicatorCustom => + providersTokens.opacityTokens.opaque; @override - double get sizeHeightCurrentIndicatorCustom => DimensionRawTokens.dimensionOutOfSystem75; + double get sizeHeightCurrentIndicatorCustom => + DimensionRawTokens.dimensionOutOfSystem75; @override - double get sizeWidthCurrentIndicatorCustomBottom => DimensionRawTokens.dimension300; + double get sizeWidthCurrentIndicatorCustomBottom => + DimensionRawTokens.dimension300; @override - double get sizeWidthCurrentIndicatorCustomTop => DimensionRawTokens.dimension500; + double get sizeWidthCurrentIndicatorCustomTop => + DimensionRawTokens.dimension500; } diff --git a/ouds_theme_sosh/lib/components/sosh_checkbox_tokens.dart b/ouds_theme_sosh/lib/components/sosh_checkbox_tokens.dart index 100b343e3..9637cb344 100644 --- a/ouds_theme_sosh/lib/components/sosh_checkbox_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_checkbox_tokens.dart @@ -30,15 +30,25 @@ class SoshCheckboxTokens extends OudsCheckboxTokens { @override double get borderWidthSelectedHover => providersTokens.borderTokens.widthNone; @override - double get borderWidthSelectedPressed => providersTokens.borderTokens.widthNone; + double get borderWidthSelectedPressed => + providersTokens.borderTokens.widthNone; @override double get borderWidthUnselected => providersTokens.borderTokens.widthThin; @override - double get borderWidthUnselectedFocus => providersTokens.borderTokens.widthMedium; + double get borderWidthUnselectedFocus => + providersTokens.borderTokens.widthMedium; @override - double get borderWidthUnselectedHover => providersTokens.borderTokens.widthMedium; + double get borderWidthUnselectedHover => + providersTokens.borderTokens.widthMedium; @override - double get borderWidthUnselectedPressed => providersTokens.borderTokens.widthMedium; + double get borderWidthUnselectedPressed => + providersTokens.borderTokens.widthMedium; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeIndicator => + providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; @override double get sizeMaxHeight => providersTokens.sizeTokens.minInteractiveArea; @override diff --git a/ouds_theme_sosh/lib/components/sosh_controlItem_tokens.dart b/ouds_theme_sosh/lib/components/sosh_controlItem_tokens.dart index 6836072ca..58b347069 100644 --- a/ouds_theme_sosh/lib/components/sosh_controlItem_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_controlItem_tokens.dart @@ -25,13 +25,20 @@ class SoshControlItemTokens extends OudsControlItemTokens { SoshControlItemTokens(this.providersTokens); @override - double get borderRadiusCurrentIndicator => providersTokens.borderTokens.radiusDefault; + double get borderRadiusCurrentIndicator => + providersTokens.borderTokens.radiusDefault; @override double get borderRadiusDefault => providersTokens.borderTokens.radiusDefault; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get borderRadiusItemOnly => providersTokens.borderTokens.radiusDefault; @override double get borderRadiusMedia => providersTokens.borderTokens.radiusDefault; @override - double get borderRadiusMediaRoundedCorner => providersTokens.borderTokens.radiusDefault; + double get borderRadiusMediaRoundedCorner => + providersTokens.borderTokens.radiusDefault; @override double get borderRadiusRounded => providersTokens.borderTokens.radiusDefault; @override @@ -41,29 +48,66 @@ class SoshControlItemTokens extends OudsControlItemTokens { @override Color get colorBadgeSafetyArea => providersTokens.colorScheme.bgPrimary; @override - Color get colorBgCurrentDisabled => providersTokens.colorScheme.actionSupportDisabled; + Color get colorBgCurrentDisabled => + providersTokens.colorScheme.actionSupportDisabled; + @override + Color get colorBgCurrentEnabled => + providersTokens.colorScheme.actionSupportEnabled; + @override + Color get colorBgCurrentFocus => + providersTokens.colorScheme.actionSupportFocus; + @override + Color get colorBgCurrentHover => + providersTokens.colorScheme.actionSupportHover; + @override + Color get colorBgCurrentPressed => + providersTokens.colorScheme.actionSupportPressed; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + Color get colorBgFocus => providersTokens.colorScheme.actionSupportFocus; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorBgCurrentEnabled => providersTokens.colorScheme.actionSupportEnabled; + Color get colorBgHover => providersTokens.colorScheme.actionSupportHover; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorBgCurrentFocus => providersTokens.colorScheme.actionSupportFocus; + Color get colorBgLoading => providersTokens.colorScheme.actionSupportLoading; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorBgCurrentHover => providersTokens.colorScheme.actionSupportHover; + Color get colorBgPressed => providersTokens.colorScheme.actionSupportPressed; @override - Color get colorBgCurrentPressed => providersTokens.colorScheme.actionSupportPressed; + Color get colorContentCurrentDisabled => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentDisabled => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentEnabled => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentEnabled => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentFocus => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentFocus => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentHover => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentHover => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentPressed => + providersTokens.colorScheme.contentDefault; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorContentCurrentPressed => providersTokens.colorScheme.contentDefault; + Color get colorContentLoader => providersTokens.colorScheme.contentDefault; @override - double get fontLetterSpacingAvatarInitialXlarge => FontRawTokens.fontLetterSpacing450; + double get fontLetterSpacingAvatarInitialXlarge => + FontRawTokens.fontLetterSpacing450; @override - double get fontLineHeightAvatarInitialXlarge => FontRawTokens.fontLineHeight650; + double get fontLineHeightAvatarInitialXlarge => + FontRawTokens.fontLineHeight650; @override double get fontSizeAvatarInitialXlarge => FontRawTokens.fontSize450; @override @@ -73,21 +117,49 @@ class SoshControlItemTokens extends OudsControlItemTokens { @override double get sizeAssetLarge => DimensionRawTokens.dimension500; @override - double get sizeAssetMedium => providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + double get sizeAssetMedium => + providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; @override - double get sizeAssetSmall => providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + double get sizeAssetSmall => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; @override double get sizeAssetXlarge => DimensionRawTokens.dimension700; @override - double get sizeControlIndicator => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + double get sizeControlIndicator => + providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; @override double get sizeCurrentIndicatorWidth => DimensionRawTokens.dimension50; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - double get sizeFlagHeight => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + double get sizeErrorIcon => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + @override + double get sizeFlagHeight => + providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeIcon => + providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeLoader => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeMaxHeightAssetsContainer => DimensionRawTokens.dimension1200; @override double get sizeMaxWidth => DimensionRawTokens.dimension4000; @override - double get sizeMinHeightCompact => providersTokens.sizeTokens.minInteractiveArea; + double get sizeMinHeightCompact => + providersTokens.sizeTokens.minInteractiveArea; @override double get sizeMinHeightDefault => DimensionRawTokens.dimension750; @override @@ -95,27 +167,50 @@ class SoshControlItemTokens extends OudsControlItemTokens { @override double get spaceColumnGap => providersTokens.spaceTokens.columnGapMedium; @override - double get spacePaddingBlockBottomSlot => providersTokens.spaceTokens.paddingBlock3xsmall; + double get spacePaddingBlockBottomSlot => + providersTokens.spaceTokens.paddingBlock3xsmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get spacePaddingBlockDefault => + providersTokens.spaceTokens.paddingBlockMedium; + @override + double get spacePaddingBlockDensityCompact => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockDensityCompact => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingBlockDensityCompactBottomExpandContainer => + providersTokens.spaceTokens.paddingBlock2xlarge; @override - double get spacePaddingBlockDensityCompactBottomExpandContainer => providersTokens.spaceTokens.paddingBlock2xlarge; + double get spacePaddingBlockDensityCompactTopAlignmentTopCounterweight => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockDensityCompactTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingBlockDensityCompactTopAlignmentTopTextContainer => + providersTokens.spaceTokens.paddingBlockNone; @override - double get spacePaddingBlockDensityCompactTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlockNone; + double get spacePaddingBlockDensityDefault => + providersTokens.spaceTokens.paddingBlockMedium; @override - double get spacePaddingBlockDensityDefault => providersTokens.spaceTokens.paddingBlockMedium; + double get spacePaddingBlockDensityDefaultBottomExpandContainer => + providersTokens.spaceTokens.paddingBlock3xlarge; @override - double get spacePaddingBlockDensityDefaultBottomExpandContainer => providersTokens.spaceTokens.paddingBlock3xlarge; + double get spacePaddingBlockDensityDefaultTopAlignmentTopCounterweight => + providersTokens.spaceTokens.paddingBlockSmall; @override - double get spacePaddingBlockDensityDefaultTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockSmall; + double get spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer => + providersTokens.spaceTokens.paddingBlock4xsmall; @override - double get spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlock4xsmall; + double get spacePaddingBlockTopHelperText => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockTopHelperText => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingInline => + providersTokens.spaceTokens.paddingInlineLarge; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - double get spacePaddingInline => providersTokens.spaceTokens.paddingInlineLarge; + double get spacePaddingInlineErrorIcon => + providersTokens.spaceTokens.paddingInline4xsmall; @override double get spaceRowGap => providersTokens.spaceTokens.rowGapNone; } diff --git a/ouds_theme_wireframe/CHANGELOG.md b/ouds_theme_wireframe/CHANGELOG.md index 86a3963df..4e6e618c6 100644 --- a/ouds_theme_wireframe/CHANGELOG.md +++ b/ouds_theme_wireframe/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed +- [Library] update tokens 2.4.0 ([#726](https://github.com/Orange-OpenSource/ouds-flutter/issues/726)) - [Library] update tokens 1.9.0 - Component Bullet List ([#710](https://github.com/Orange-OpenSource/ouds-flutter/issues/710)) - [Library] update tokens 1.9.0 - Component Alert ([#672](https://github.com/Orange-OpenSource/ouds-flutter/issues/672)) diff --git a/ouds_theme_wireframe/lib/components/wireframe_checkbox_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_checkbox_tokens.dart index b1c523a25..d0ede7440 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_checkbox_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_checkbox_tokens.dart @@ -30,15 +30,25 @@ class WireframeCheckboxTokens extends OudsCheckboxTokens { @override double get borderWidthSelectedHover => providersTokens.borderTokens.widthNone; @override - double get borderWidthSelectedPressed => providersTokens.borderTokens.widthNone; + double get borderWidthSelectedPressed => + providersTokens.borderTokens.widthNone; @override double get borderWidthUnselected => providersTokens.borderTokens.widthMedium; @override - double get borderWidthUnselectedFocus => providersTokens.borderTokens.widthMedium; + double get borderWidthUnselectedFocus => + providersTokens.borderTokens.widthMedium; @override - double get borderWidthUnselectedHover => providersTokens.borderTokens.widthMedium; + double get borderWidthUnselectedHover => + providersTokens.borderTokens.widthMedium; @override - double get borderWidthUnselectedPressed => providersTokens.borderTokens.widthMedium; + double get borderWidthUnselectedPressed => + providersTokens.borderTokens.widthMedium; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeIndicator => + providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; @override double get sizeMaxHeight => providersTokens.sizeTokens.minInteractiveArea; @override diff --git a/ouds_theme_wireframe/lib/components/wireframe_controlItem_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_controlItem_tokens.dart index 575822833..bd3870f8d 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_controlItem_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_controlItem_tokens.dart @@ -25,13 +25,20 @@ class WireframeControlItemTokens extends OudsControlItemTokens { WireframeControlItemTokens(this.providersTokens); @override - double get borderRadiusCurrentIndicator => providersTokens.borderTokens.radiusDefault; + double get borderRadiusCurrentIndicator => + providersTokens.borderTokens.radiusDefault; @override double get borderRadiusDefault => providersTokens.borderTokens.radiusDefault; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get borderRadiusItemOnly => providersTokens.borderTokens.radiusDefault; @override double get borderRadiusMedia => providersTokens.borderTokens.radiusDefault; @override - double get borderRadiusMediaRoundedCorner => providersTokens.borderTokens.radiusSmall; + double get borderRadiusMediaRoundedCorner => + providersTokens.borderTokens.radiusSmall; @override double get borderRadiusRounded => providersTokens.borderTokens.radiusDefault; @override @@ -41,7 +48,8 @@ class WireframeControlItemTokens extends OudsControlItemTokens { @override Color get colorBadgeSafetyArea => providersTokens.colorScheme.bgPrimary; @override - Color get colorBgCurrentDisabled => providersTokens.colorScheme.actionDisabled; + Color get colorBgCurrentDisabled => + providersTokens.colorScheme.actionDisabled; @override Color get colorBgCurrentEnabled => providersTokens.colorScheme.actionSelected; @override @@ -50,20 +58,52 @@ class WireframeControlItemTokens extends OudsControlItemTokens { Color get colorBgCurrentHover => providersTokens.colorScheme.actionHover; @override Color get colorBgCurrentPressed => providersTokens.colorScheme.actionPressed; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + Color get colorBgFocus => providersTokens.colorScheme.actionSupportFocus; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + Color get colorBgHover => providersTokens.colorScheme.actionSupportHover; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + Color get colorBgLoading => providersTokens.colorScheme.actionSupportLoading; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + Color get colorBgPressed => providersTokens.colorScheme.actionSupportPressed; + @override + Color get colorContentCurrentDisabled => + providersTokens.colorScheme.contentOnActionDisabled; @override - Color get colorContentCurrentDisabled => providersTokens.colorScheme.contentOnActionDisabled; + Color get colorContentCurrentEnabled => + providersTokens.colorScheme.contentOnActionSelected; @override - Color get colorContentCurrentEnabled => providersTokens.colorScheme.contentOnActionSelected; + Color get colorContentCurrentFocus => + providersTokens.colorScheme.contentOnActionFocus; @override - Color get colorContentCurrentFocus => providersTokens.colorScheme.contentOnActionFocus; + Color get colorContentCurrentHover => + providersTokens.colorScheme.contentOnActionHover; @override - Color get colorContentCurrentHover => providersTokens.colorScheme.contentOnActionHover; + Color get colorContentCurrentPressed => + providersTokens.colorScheme.contentOnActionPressed; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorContentCurrentPressed => providersTokens.colorScheme.contentOnActionPressed; + Color get colorContentLoader => providersTokens.colorScheme.actionLoading; @override - double get fontLetterSpacingAvatarInitialXlarge => FontRawTokens.fontLetterSpacing450; + double get fontLetterSpacingAvatarInitialXlarge => + FontRawTokens.fontLetterSpacing450; @override - double get fontLineHeightAvatarInitialXlarge => FontRawTokens.fontLineHeight650; + double get fontLineHeightAvatarInitialXlarge => + FontRawTokens.fontLineHeight650; @override double get fontSizeAvatarInitialXlarge => FontRawTokens.fontSize450; @override @@ -73,21 +113,49 @@ class WireframeControlItemTokens extends OudsControlItemTokens { @override double get sizeAssetLarge => DimensionRawTokens.dimension500; @override - double get sizeAssetMedium => providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + double get sizeAssetMedium => + providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; @override - double get sizeAssetSmall => providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + double get sizeAssetSmall => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; @override double get sizeAssetXlarge => DimensionRawTokens.dimension700; @override - double get sizeControlIndicator => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + double get sizeControlIndicator => + providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; @override double get sizeCurrentIndicatorWidth => DimensionRawTokens.dimension50; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - double get sizeFlagHeight => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + double get sizeErrorIcon => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + @override + double get sizeFlagHeight => + providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeIcon => + providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeLoader => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeMaxHeightAssetsContainer => DimensionRawTokens.dimension1200; @override double get sizeMaxWidth => DimensionRawTokens.dimension4000; @override - double get sizeMinHeightCompact => providersTokens.sizeTokens.minInteractiveArea; + double get sizeMinHeightCompact => + providersTokens.sizeTokens.minInteractiveArea; @override double get sizeMinHeightDefault => DimensionRawTokens.dimension750; @override @@ -95,27 +163,50 @@ class WireframeControlItemTokens extends OudsControlItemTokens { @override double get spaceColumnGap => providersTokens.spaceTokens.columnGapMedium; @override - double get spacePaddingBlockBottomSlot => providersTokens.spaceTokens.paddingBlock3xsmall; + double get spacePaddingBlockBottomSlot => + providersTokens.spaceTokens.paddingBlock3xsmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get spacePaddingBlockDefault => + providersTokens.spaceTokens.paddingBlockMedium; + @override + double get spacePaddingBlockDensityCompact => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockDensityCompact => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingBlockDensityCompactBottomExpandContainer => + providersTokens.spaceTokens.paddingBlock2xlarge; @override - double get spacePaddingBlockDensityCompactBottomExpandContainer => providersTokens.spaceTokens.paddingBlock2xlarge; + double get spacePaddingBlockDensityCompactTopAlignmentTopCounterweight => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockDensityCompactTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingBlockDensityCompactTopAlignmentTopTextContainer => + providersTokens.spaceTokens.paddingBlockNone; @override - double get spacePaddingBlockDensityCompactTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlockNone; + double get spacePaddingBlockDensityDefault => + providersTokens.spaceTokens.paddingBlockMedium; @override - double get spacePaddingBlockDensityDefault => providersTokens.spaceTokens.paddingBlockMedium; + double get spacePaddingBlockDensityDefaultBottomExpandContainer => + providersTokens.spaceTokens.paddingBlock3xlarge; @override - double get spacePaddingBlockDensityDefaultBottomExpandContainer => providersTokens.spaceTokens.paddingBlock3xlarge; + double get spacePaddingBlockDensityDefaultTopAlignmentTopCounterweight => + providersTokens.spaceTokens.paddingBlockSmall; @override - double get spacePaddingBlockDensityDefaultTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockSmall; + double get spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer => + providersTokens.spaceTokens.paddingBlock4xsmall; @override - double get spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlock4xsmall; + double get spacePaddingBlockTopHelperText => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockTopHelperText => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingInline => + providersTokens.spaceTokens.paddingInlineLarge; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - double get spacePaddingInline => providersTokens.spaceTokens.paddingInlineLarge; + double get spacePaddingInlineErrorIcon => + providersTokens.spaceTokens.paddingInline4xsmall; @override double get spaceRowGap => providersTokens.spaceTokens.rowGapNone; } From b7493bd70c836eda1dbb591c43af4cf71442f253 Mon Sep 17 00:00:00 2001 From: Ahmed Amine Zribi Date: Tue, 5 May 2026 14:40:37 +0100 Subject: [PATCH 03/13] chore: update tokens with version 2.4.0 --- app/CHANGELOG.md | 1 + .../chip/chip_filter_demo_sreen.dart | 60 +- .../chip/chip_suggestion_demo_screen.dart | 42 +- .../ui/tokens/color/color_tokens_model.dart | 506 +++++++++++--- ouds_core/CHANGELOG.md | 1 + ouds_core/README.md | 52 +- .../lib/components/badge/ouds_badge.dart | 165 +++-- .../modifier/ouds_control_indicator.dart | 11 +- .../components/control/ouds_control_item.dart | 392 +++++++---- .../ouds_navigation_bar_status_modifier.dart | 60 +- .../navigation/ouds_navigation_bar_item.dart | 84 ++- .../radio_button/ouds_radio_button.dart | 63 +- ouds_global_raw_tokens/CHANGELOG.md | 1 + ouds_theme_contract/CHANGELOG.md | 1 + .../lib/ouds_component_version.dart | 46 +- .../theme/scheme/color/ouds_color_scheme.dart | 636 +++++++++++++----- .../scheme/responsive/ouds_size_scheme.dart | 221 +++--- .../components/ouds_checkbox_tokens.dart | 4 + .../components/ouds_controlItem_tokens.dart | 48 ++ ...ouds_color_decorative_semantic_tokens.dart | 2 + .../ouds_elevation_semantic_tokens.dart | 2 + ouds_theme_orange/CHANGELOG.md | 1 + .../components/orange_checkbox_tokens.dart | 3 + .../components/orange_controlItem_tokens.dart | 157 ++++- ouds_theme_orange_compact/CHANGELOG.md | 1 + .../orangeCompact_checkbox_tokens.dart | 24 +- .../orangeCompact_controlItem_tokens.dart | 155 ++++- ouds_theme_sosh/CHANGELOG.md | 1 + .../lib/components/ouds_tag_tokens.dart | 39 -- .../lib/components/ouds_textInput_tokens.dart | 44 -- .../lib/components/sosh_bar_tokens.dart | 88 ++- .../lib/components/sosh_checkbox_tokens.dart | 18 +- .../components/sosh_controlItem_tokens.dart | 155 ++++- ouds_theme_wireframe/CHANGELOG.md | 1 + .../components/wireframe_checkbox_tokens.dart | 18 +- .../wireframe_controlItem_tokens.dart | 143 +++- pubspec.lock | 56 +- 37 files changed, 2295 insertions(+), 1007 deletions(-) delete mode 100644 ouds_theme_sosh/lib/components/ouds_tag_tokens.dart delete mode 100644 ouds_theme_sosh/lib/components/ouds_textInput_tokens.dart diff --git a/app/CHANGELOG.md b/app/CHANGELOG.md index 85aa3cab7..231d37ae1 100644 --- a/app/CHANGELOG.md +++ b/app/CHANGELOG.md @@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed +- [DemoApp][Library] update tokens 2.4.0 ([#726](https://github.com/Orange-OpenSource/ouds-flutter/issues/726)) - [Library] update tokens 1.9.0 - Component Bullet List ([#710](https://github.com/Orange-OpenSource/ouds-flutter/issues/710)) - [Library] update tokens 1.9.0 - Component Alert ([#672](https://github.com/Orange-OpenSource/ouds-flutter/issues/672)) diff --git a/app/lib/ui/components/chip/chip_filter_demo_sreen.dart b/app/lib/ui/components/chip/chip_filter_demo_sreen.dart index aa4b79962..618875245 100644 --- a/app/lib/ui/components/chip/chip_filter_demo_sreen.dart +++ b/app/lib/ui/components/chip/chip_filter_demo_sreen.dart @@ -37,7 +37,7 @@ import 'package:provider/provider.dart'; class ChipFilterDemoScreen extends StatefulWidget { final String? previousPageTitle; - const ChipFilterDemoScreen({super.key,this.previousPageTitle}); + const ChipFilterDemoScreen({super.key, this.previousPageTitle}); @override State createState() => _ChipFilterDemoScreenState(); @@ -59,7 +59,11 @@ class _ChipFilterDemoScreenState extends State { child: ChipCustomization( key: _scaffoldKey, child: Padding( - padding: EdgeInsets.only(bottom: defaultTargetPlatform == TargetPlatform.android ? MediaQuery.of(context).viewPadding.bottom : OudsTheme.of(context).spaceScheme(context).paddingBlockNone), + padding: EdgeInsets.only( + bottom: defaultTargetPlatform == TargetPlatform.android + ? MediaQuery.of(context).viewPadding.bottom + : OudsTheme.of(context).spaceScheme(context).paddingBlockNone, + ), child: Scaffold( bottomSheet: OudsSheetsBottom( onExpansionChanged: _onExpansionChanged, @@ -70,7 +74,8 @@ class _ChipFilterDemoScreenState extends State { appBar: MainAppBar( title: context.l10n.app_components_filterChip_label, showBackButton: true, - previousPageTitle: widget.previousPageTitle,), + previousPageTitle: widget.previousPageTitle, + ), body: ExcludeSemantics( excluding: !_isBottomSheetExpanded, child: _Body(), @@ -93,19 +98,24 @@ class _Body extends StatefulWidget { class _BodyState extends State<_Body> { @override Widget build(BuildContext context) { - ThemeController? themeController = Provider.of(context, listen: false); + ThemeController? themeController = Provider.of( + context, + listen: false, + ); return DetailScreenDescription( description: context.l10n.app_components_chip_filterChip_description_text, widget: Column( children: [ _ChipFilterDemo(), - SizedBox(height: themeController.currentTheme.spaceScheme(context).fixedMedium), - Code( - code: ChipFilterCodeGenerator.updateCode(context), + SizedBox( + height: themeController.currentTheme + .spaceScheme(context) + .fixedMedium, ), + Code(code: ChipFilterCodeGenerator.updateCode(context)), ReferenceDesignVersionComponent( - version: OudsComponentVersion.chip, - ) + version: OudsComponentVersion.filterChip, + ), ], ), ); @@ -134,18 +144,20 @@ class _ChipFilterDemoState extends State<_ChipFilterDemo> { return LightDarkBox( child: OudsFilterChip( - label: ChipCustomizationUtils.getText(customizationState), - avatar: ChipCustomizationUtils.getIcon(customizationState, themeController!), - selected: customizationState?.hasSelected, - onSelected: customizationState?.hasEnabled == true - ? (newValue) { - setState( - () { - customizationState?.hasSelected = newValue; - }, - ); - } - : null), + label: ChipCustomizationUtils.getText(customizationState), + avatar: ChipCustomizationUtils.getIcon( + customizationState, + themeController!, + ), + selected: customizationState?.hasSelected, + onSelected: customizationState?.hasEnabled == true + ? (newValue) { + setState(() { + customizationState?.hasSelected = newValue; + }); + } + : null, + ), ); } } @@ -176,7 +188,9 @@ class _CustomizationContentState extends State<_CustomizationContent> { @override Widget build(BuildContext context) { - final ChipCustomizationState? customizationState = ChipCustomization.of(context); + final ChipCustomizationState? customizationState = ChipCustomization.of( + context, + ); return CustomizableSection( children: [ @@ -212,7 +226,7 @@ class _CustomizationContentState extends State<_CustomizationContent> { text: customizationState.labelText, focusNode: labelFocus, fieldType: FieldType.label, - ) + ), ], ); } diff --git a/app/lib/ui/components/chip/chip_suggestion_demo_screen.dart b/app/lib/ui/components/chip/chip_suggestion_demo_screen.dart index b73e5101b..fe285a826 100644 --- a/app/lib/ui/components/chip/chip_suggestion_demo_screen.dart +++ b/app/lib/ui/components/chip/chip_suggestion_demo_screen.dart @@ -36,7 +36,7 @@ import 'package:provider/provider.dart'; class ChipSuggestionDemoScreen extends StatefulWidget { final String? previousPageTitle; - const ChipSuggestionDemoScreen({super.key,this.previousPageTitle}); + const ChipSuggestionDemoScreen({super.key, this.previousPageTitle}); @override State createState() => _ChipSuggestionDemoScreenState(); @@ -58,7 +58,11 @@ class _ChipSuggestionDemoScreenState extends State { child: ChipCustomization( key: _scaffoldKey, child: Padding( - padding: EdgeInsets.only(bottom: defaultTargetPlatform == TargetPlatform.android ? MediaQuery.of(context).viewPadding.bottom : OudsTheme.of(context).spaceScheme(context).paddingBlockNone), + padding: EdgeInsets.only( + bottom: defaultTargetPlatform == TargetPlatform.android + ? MediaQuery.of(context).viewPadding.bottom + : OudsTheme.of(context).spaceScheme(context).paddingBlockNone, + ), child: Scaffold( bottomSheet: OudsSheetsBottom( onExpansionChanged: _onExpansionChanged, @@ -69,7 +73,8 @@ class _ChipSuggestionDemoScreenState extends State { appBar: MainAppBar( title: context.l10n.app_components_suggestionChip_label, showBackButton: true, - previousPageTitle: widget.previousPageTitle), + previousPageTitle: widget.previousPageTitle, + ), body: ExcludeSemantics( excluding: !_isBottomSheetExpanded, child: _Body(), @@ -92,19 +97,25 @@ class _Body extends StatefulWidget { class _BodyState extends State<_Body> { @override Widget build(BuildContext context) { - ThemeController? themeController = Provider.of(context, listen: false); + ThemeController? themeController = Provider.of( + context, + listen: false, + ); return DetailScreenDescription( - description: context.l10n.app_components_chip_suggestionChip_description_text, + description: + context.l10n.app_components_chip_suggestionChip_description_text, widget: Column( children: [ _ChipSuggestionDemo(), - SizedBox(height: themeController.currentTheme.spaceScheme(context).fixedMedium), - Code( - code: ChipSuggestionCodeGenerator.updateCode(context), + SizedBox( + height: themeController.currentTheme + .spaceScheme(context) + .fixedMedium, ), + Code(code: ChipSuggestionCodeGenerator.updateCode(context)), ReferenceDesignVersionComponent( - version: OudsComponentVersion.chip, - ) + version: OudsComponentVersion.suggestionChip, + ), ], ), ); @@ -134,7 +145,10 @@ class _ChipSuggestionDemoState extends State<_ChipSuggestionDemo> { return LightDarkBox( child: OudsSuggestionChip( label: ChipCustomizationUtils.getText(customizationState), - avatar: ChipCustomizationUtils.getIcon(customizationState, themeController!), + avatar: ChipCustomizationUtils.getIcon( + customizationState, + themeController!, + ), onPressed: customizationState?.hasEnabled == true ? () {} : null, ), ); @@ -167,7 +181,9 @@ class _CustomizationContentState extends State<_CustomizationContent> { @override Widget build(BuildContext context) { - final ChipCustomizationState? customizationState = ChipCustomization.of(context); + final ChipCustomizationState? customizationState = ChipCustomization.of( + context, + ); return CustomizableSection( children: [ @@ -194,7 +210,7 @@ class _CustomizationContentState extends State<_CustomizationContent> { text: customizationState.labelText, focusNode: labelFocus, fieldType: FieldType.label, - ) + ), ], ); } diff --git a/app/lib/ui/tokens/color/color_tokens_model.dart b/app/lib/ui/tokens/color/color_tokens_model.dart index 526ffc437..ef0563db9 100644 --- a/app/lib/ui/tokens/color/color_tokens_model.dart +++ b/app/lib/ui/tokens/color/color_tokens_model.dart @@ -12,122 +12,424 @@ class ColorTokensModel { Map> get all => _groups; - factory ColorTokensModel.fromTheme(BuildContext context, OudsThemeContract theme) { + factory ColorTokensModel.fromTheme( + BuildContext context, + OudsThemeContract theme, + ) { return ColorTokensModel({ context.l10n.app_tokens_color_action_label: [ - ColorTokenItem(name: 'actionDisabled', value: theme.colorScheme(context).actionDisabled), - ColorTokenItem(name: 'actionEnabled', value: theme.colorScheme(context).actionEnabled), - ColorTokenItem(name: 'actionFocus', value: theme.colorScheme(context).actionFocus), - ColorTokenItem(name: 'actionHighlighted', value: theme.colorScheme(context).actionHighlighted), - ColorTokenItem(name: 'actionHover', value: theme.colorScheme(context).actionHover), - ColorTokenItem(name: 'actionLoading', value: theme.colorScheme(context).actionLoading), - ColorTokenItem(name: 'actionNegativeEnabled', value: theme.colorScheme(context).actionNegativeEnabled), - ColorTokenItem(name: 'actionNegativeFocus', value: theme.colorScheme(context).actionNegativeFocus), - ColorTokenItem(name: 'actionNegativeHover', value: theme.colorScheme(context).actionNegativeHover), - ColorTokenItem(name: 'actionNegativeLoading', value: theme.colorScheme(context).actionNegativeLoading), - ColorTokenItem(name: 'actionNegativePressed', value: theme.colorScheme(context).actionNegativePressed), - ColorTokenItem(name: 'actionPressed', value: theme.colorScheme(context).actionPressed), - ColorTokenItem(name: 'actionReadOnlyPrimary', value: theme.colorScheme(context).actionReadOnlyPrimary), - ColorTokenItem(name: 'actionReadOnlySecondary', value: theme.colorScheme(context).actionReadOnlySecondary), - ColorTokenItem(name: 'actionSelected', value: theme.colorScheme(context).actionSelected), - ColorTokenItem(name: 'actionSupportDisabled ', value: theme.colorScheme(context).actionSupportDisabled), - ColorTokenItem(name: 'actionSupportEnabled', value: theme.colorScheme(context).actionSupportEnabled), - ColorTokenItem(name: 'actionSupportFocus', value: theme.colorScheme(context).actionSupportFocus), - ColorTokenItem(name: 'actionSupportHover', value: theme.colorScheme(context).actionSupportHover), - ColorTokenItem(name: 'actionSupportLoading', value: theme.colorScheme(context).actionSupportLoading), - ColorTokenItem(name: 'actionSupportPressed', value: theme.colorScheme(context).actionSupportPressed), - ColorTokenItem(name: 'actionVisited', value: theme.colorScheme(context).actionVisited), - ColorTokenItem(name: 'actionAccent', value: theme.colorScheme(context).actionIosAccent), + ColorTokenItem( + name: 'actionDisabled', + value: theme.colorScheme(context).actionDisabled, + ), + ColorTokenItem( + name: 'actionEnabled', + value: theme.colorScheme(context).actionEnabled, + ), + ColorTokenItem( + name: 'actionFocus', + value: theme.colorScheme(context).actionFocus, + ), + ColorTokenItem( + name: 'actionHighlighted', + value: theme.colorScheme(context).actionHighlighted, + ), + ColorTokenItem( + name: 'actionHover', + value: theme.colorScheme(context).actionHover, + ), + ColorTokenItem( + name: 'actionLoading', + value: theme.colorScheme(context).actionLoading, + ), + ColorTokenItem( + name: 'actionNegativeEnabled', + value: theme.colorScheme(context).actionNegativeEnabled, + ), + ColorTokenItem( + name: 'actionNegativeFocus', + value: theme.colorScheme(context).actionNegativeFocus, + ), + ColorTokenItem( + name: 'actionNegativeHover', + value: theme.colorScheme(context).actionNegativeHover, + ), + ColorTokenItem( + name: 'actionNegativeLoading', + value: theme.colorScheme(context).actionNegativeLoading, + ), + ColorTokenItem( + name: 'actionNegativePressed', + value: theme.colorScheme(context).actionNegativePressed, + ), + ColorTokenItem( + name: 'actionPressed', + value: theme.colorScheme(context).actionPressed, + ), + ColorTokenItem( + name: 'actionReadOnlyPrimary', + value: theme.colorScheme(context).actionReadOnlyPrimary, + ), + ColorTokenItem( + name: 'actionReadOnlySecondary', + value: theme.colorScheme(context).actionReadOnlySecondary, + ), + ColorTokenItem( + name: 'actionSelected', + value: theme.colorScheme(context).actionSelected, + ), + ColorTokenItem( + name: 'actionSupportDisabled ', + value: theme.colorScheme(context).actionSupportDisabled, + ), + ColorTokenItem( + name: 'actionSupportEnabled', + value: theme.colorScheme(context).actionSupportEnabled, + ), + ColorTokenItem( + name: 'actionSupportFocus', + value: theme.colorScheme(context).actionSupportFocus, + ), + ColorTokenItem( + name: 'actionSupportHover', + value: theme.colorScheme(context).actionSupportHover, + ), + ColorTokenItem( + name: 'actionSupportLoading', + value: theme.colorScheme(context).actionSupportLoading, + ), + ColorTokenItem( + name: 'actionSupportPressed', + value: theme.colorScheme(context).actionSupportPressed, + ), + ColorTokenItem( + name: 'actionVisited', + value: theme.colorScheme(context).actionVisited, + ), ], context.l10n.app_tokens_color_always_label: [ - ColorTokenItem(name: 'alwaysBlack', value: theme.colorScheme(context).alwaysBlack), - ColorTokenItem(name: 'alwaysOnBlack', value: theme.colorScheme(context).alwaysOnBlack), - ColorTokenItem(name: 'alwaysOnWhite', value: theme.colorScheme(context).alwaysOnWhite), - ColorTokenItem(name: 'alwaysWhite', value: theme.colorScheme(context).alwaysWhite), + ColorTokenItem( + name: 'alwaysBlack', + value: theme.colorScheme(context).alwaysBlack, + ), + ColorTokenItem( + name: 'alwaysOnBlack', + value: theme.colorScheme(context).alwaysOnBlack, + ), + ColorTokenItem( + name: 'alwaysOnWhite', + value: theme.colorScheme(context).alwaysOnWhite, + ), + ColorTokenItem( + name: 'alwaysWhite', + value: theme.colorScheme(context).alwaysWhite, + ), ], context.l10n.app_tokens_color_background_label: [ - ColorTokenItem(name: 'bgInverseHigh', value: theme.colorScheme(context).bgInverseHigh), - ColorTokenItem(name: 'bgInverseLow', value: theme.colorScheme(context).bgInverseLow), - ColorTokenItem(name: 'bgPrimary', value: theme.colorScheme(context).bgPrimary), - ColorTokenItem(name: 'bgSecondary', value: theme.colorScheme(context).bgSecondary), - ColorTokenItem(name: 'bgTertiary', value: theme.colorScheme(context).bgTertiary), + ColorTokenItem( + name: 'bgInverseHigh', + value: theme.colorScheme(context).bgInverseHigh, + ), + ColorTokenItem( + name: 'bgInverseLow', + value: theme.colorScheme(context).bgInverseLow, + ), + ColorTokenItem( + name: 'bgPrimary', + value: theme.colorScheme(context).bgPrimary, + ), + ColorTokenItem( + name: 'bgSecondary', + value: theme.colorScheme(context).bgSecondary, + ), + ColorTokenItem( + name: 'bgTertiary', + value: theme.colorScheme(context).bgTertiary, + ), ], context.l10n.app_tokens_color_border_label: [ - ColorTokenItem(name: 'borderBrandPrimary', value: theme.colorScheme(context).borderBrandPrimary), - ColorTokenItem(name: 'borderBrandSecondary', value: theme.colorScheme(context).borderBrandSecondary), - ColorTokenItem(name: 'borderBrandTertiary', value: theme.colorScheme(context).borderBrandTertiary), - ColorTokenItem(name: 'borderDefault', value: theme.colorScheme(context).borderDefault), - ColorTokenItem(name: 'borderEmphasized', value: theme.colorScheme(context).borderEmphasized), - ColorTokenItem(name: 'borderFocus', value: theme.colorScheme(context).borderFocus), - ColorTokenItem(name: 'borderFocusInset', value: theme.colorScheme(context).borderFocusInset), - ColorTokenItem(name: 'borderMuted', value: theme.colorScheme(context).borderMuted), - ColorTokenItem(name: 'borderOnBrandPrimary', value: theme.colorScheme(context).borderOnBrandPrimary), - ColorTokenItem(name: 'borderOnBrandSecondary', value: theme.colorScheme(context).borderOnBrandSecondary), - ColorTokenItem(name: 'borderOnBrandTertiary', value: theme.colorScheme(context).borderOnBrandTertiary), - ColorTokenItem(name: 'borderMinimal', value: theme.colorScheme(context).borderMinimal), - ColorTokenItem(name: 'borderStatusAccent', value: theme.colorScheme(context).borderStatusAccent), - ColorTokenItem(name: 'borderStatusInfo', value: theme.colorScheme(context).borderStatusInfo), - ColorTokenItem(name: 'borderStatusNegative', value: theme.colorScheme(context).borderStatusNegative), - ColorTokenItem(name: 'borderStatusPositive', value: theme.colorScheme(context).borderStatusPositive), - ColorTokenItem(name: 'borderStatusWarning', value: theme.colorScheme(context).borderStatusWarning), + ColorTokenItem( + name: 'borderBrandPrimary', + value: theme.colorScheme(context).borderBrandPrimary, + ), + ColorTokenItem( + name: 'borderBrandSecondary', + value: theme.colorScheme(context).borderBrandSecondary, + ), + ColorTokenItem( + name: 'borderBrandTertiary', + value: theme.colorScheme(context).borderBrandTertiary, + ), + ColorTokenItem( + name: 'borderDefault', + value: theme.colorScheme(context).borderDefault, + ), + ColorTokenItem( + name: 'borderEmphasized', + value: theme.colorScheme(context).borderEmphasized, + ), + ColorTokenItem( + name: 'borderFocus', + value: theme.colorScheme(context).borderFocus, + ), + ColorTokenItem( + name: 'borderFocusInset', + value: theme.colorScheme(context).borderFocusInset, + ), + ColorTokenItem( + name: 'borderMuted', + value: theme.colorScheme(context).borderMuted, + ), + ColorTokenItem( + name: 'borderOnBrandPrimary', + value: theme.colorScheme(context).borderOnBrandPrimary, + ), + ColorTokenItem( + name: 'borderOnBrandSecondary', + value: theme.colorScheme(context).borderOnBrandSecondary, + ), + ColorTokenItem( + name: 'borderOnBrandTertiary', + value: theme.colorScheme(context).borderOnBrandTertiary, + ), + ColorTokenItem( + name: 'borderMinimal', + value: theme.colorScheme(context).borderMinimal, + ), + ColorTokenItem( + name: 'borderStatusAccent', + value: theme.colorScheme(context).borderStatusAccent, + ), + ColorTokenItem( + name: 'borderStatusInfo', + value: theme.colorScheme(context).borderStatusInfo, + ), + ColorTokenItem( + name: 'borderStatusNegative', + value: theme.colorScheme(context).borderStatusNegative, + ), + ColorTokenItem( + name: 'borderStatusPositive', + value: theme.colorScheme(context).borderStatusPositive, + ), + ColorTokenItem( + name: 'borderStatusWarning', + value: theme.colorScheme(context).borderStatusWarning, + ), ], context.l10n.app_tokens_color_content_label: [ - ColorTokenItem(name: 'contentBrandPrimary', value: theme.colorScheme(context).contentBrandPrimary), - ColorTokenItem(name: 'contentBrandSecondary', value: theme.colorScheme(context).contentBrandSecondary), - ColorTokenItem(name: 'contentBrandTertiary', value: theme.colorScheme(context).contentBrandTertiary), - ColorTokenItem(name: 'contentDefault', value: theme.colorScheme(context).contentDefault), - ColorTokenItem(name: 'contentDisabled', value: theme.colorScheme(context).contentDisabled), - ColorTokenItem(name: 'contentInverse', value: theme.colorScheme(context).contentInverse), - ColorTokenItem(name: 'contentMuted', value: theme.colorScheme(context).contentMuted), - ColorTokenItem(name: 'contentOnActionDisabled', value: theme.colorScheme(context).contentOnActionDisabled), - ColorTokenItem(name: 'contentOnActionEnabled', value: theme.colorScheme(context).contentOnActionEnabled), - ColorTokenItem(name: 'contentOnActionFocus', value: theme.colorScheme(context).contentOnActionFocus), - ColorTokenItem(name: 'contentOnActionHighlighted', value: theme.colorScheme(context).contentOnActionHighlighted), - ColorTokenItem(name: 'contentOnActionHover', value: theme.colorScheme(context).contentOnActionHover), - ColorTokenItem(name: 'contentOnActionLoading', value: theme.colorScheme(context).contentOnActionLoading), - ColorTokenItem(name: 'contentOnActionPressed', value: theme.colorScheme(context).contentOnActionPressed), - ColorTokenItem(name: 'contentOnActionSelected', value: theme.colorScheme(context).contentOnActionSelected), - ColorTokenItem(name: 'contentOnBrandPrimary', value: theme.colorScheme(context).contentOnBrandPrimary), - ColorTokenItem(name: 'contentOnBrandSecondary', value: theme.colorScheme(context).contentOnBrandSecondary), - ColorTokenItem(name: 'contentOnBrandTertiary', value: theme.colorScheme(context).contentOnBrandTertiary), - ColorTokenItem(name: 'contentOnStatusPositiveEmphasized', value: theme.colorScheme(context).contentOnStatusPositiveEmphasized), - ColorTokenItem(name: 'contentOnStatusInfoEmphasized', value: theme.colorScheme(context).contentOnStatusInfoEmphasized), - ColorTokenItem(name: 'contentOnStatusInfoMuted', value: theme.colorScheme(context).contentOnStatusInfoMuted), - ColorTokenItem(name: 'contentOnStatusNegativeEmphasized', value: theme.colorScheme(context).contentOnStatusNegativeEmphasized), - ColorTokenItem(name: 'contentOnStatusNegativeMuted', value: theme.colorScheme(context).contentOnStatusNegativeMuted), - ColorTokenItem(name: 'contentOnStatusAccentEmphasized', value: theme.colorScheme(context).contentOnStatusAccentEmphasized), - ColorTokenItem(name: 'contentOnStatusAccentMuted', value: theme.colorScheme(context).contentOnStatusAccentMuted), - ColorTokenItem(name: 'contentStatusAccent', value: theme.colorScheme(context).contentStatusAccent), - ColorTokenItem(name: 'contentStatusInfo', value: theme.colorScheme(context).contentStatusInfo), - ColorTokenItem(name: 'contentStatusNegative', value: theme.colorScheme(context).contentStatusNegative), - ColorTokenItem(name: 'contentStatusPositive', value: theme.colorScheme(context).contentStatusPositive), - ColorTokenItem(name: 'contentStatusWarning', value: theme.colorScheme(context).contentStatusWarning), + ColorTokenItem( + name: 'contentBrandPrimary', + value: theme.colorScheme(context).contentBrandPrimary, + ), + ColorTokenItem( + name: 'contentBrandSecondary', + value: theme.colorScheme(context).contentBrandSecondary, + ), + ColorTokenItem( + name: 'contentBrandTertiary', + value: theme.colorScheme(context).contentBrandTertiary, + ), + ColorTokenItem( + name: 'contentDefault', + value: theme.colorScheme(context).contentDefault, + ), + ColorTokenItem( + name: 'contentDisabled', + value: theme.colorScheme(context).contentDisabled, + ), + ColorTokenItem( + name: 'contentInverse', + value: theme.colorScheme(context).contentInverse, + ), + ColorTokenItem( + name: 'contentMuted', + value: theme.colorScheme(context).contentMuted, + ), + ColorTokenItem( + name: 'contentOnActionDisabled', + value: theme.colorScheme(context).contentOnActionDisabled, + ), + ColorTokenItem( + name: 'contentOnActionEnabled', + value: theme.colorScheme(context).contentOnActionEnabled, + ), + ColorTokenItem( + name: 'contentOnActionFocus', + value: theme.colorScheme(context).contentOnActionFocus, + ), + ColorTokenItem( + name: 'contentOnActionHighlighted', + value: theme.colorScheme(context).contentOnActionHighlighted, + ), + ColorTokenItem( + name: 'contentOnActionHover', + value: theme.colorScheme(context).contentOnActionHover, + ), + ColorTokenItem( + name: 'contentOnActionLoading', + value: theme.colorScheme(context).contentOnActionLoading, + ), + ColorTokenItem( + name: 'contentOnActionPressed', + value: theme.colorScheme(context).contentOnActionPressed, + ), + ColorTokenItem( + name: 'contentOnActionSelected', + value: theme.colorScheme(context).contentOnActionSelected, + ), + ColorTokenItem( + name: 'contentOnBrandPrimary', + value: theme.colorScheme(context).contentOnBrandPrimary, + ), + ColorTokenItem( + name: 'contentOnBrandSecondary', + value: theme.colorScheme(context).contentOnBrandSecondary, + ), + ColorTokenItem( + name: 'contentOnBrandTertiary', + value: theme.colorScheme(context).contentOnBrandTertiary, + ), + ColorTokenItem( + name: 'contentOnStatusPositiveEmphasized', + value: theme.colorScheme(context).contentOnStatusPositiveEmphasized, + ), + ColorTokenItem( + name: 'contentOnStatusInfoEmphasized', + value: theme.colorScheme(context).contentOnStatusInfoEmphasized, + ), + ColorTokenItem( + name: 'contentOnStatusInfoMuted', + value: theme.colorScheme(context).contentOnStatusInfoMuted, + ), + ColorTokenItem( + name: 'contentOnStatusNegativeEmphasized', + value: theme.colorScheme(context).contentOnStatusNegativeEmphasized, + ), + ColorTokenItem( + name: 'contentOnStatusNegativeMuted', + value: theme.colorScheme(context).contentOnStatusNegativeMuted, + ), + ColorTokenItem( + name: 'contentOnStatusAccentEmphasized', + value: theme.colorScheme(context).contentOnStatusAccentEmphasized, + ), + ColorTokenItem( + name: 'contentOnStatusAccentMuted', + value: theme.colorScheme(context).contentOnStatusAccentMuted, + ), + ColorTokenItem( + name: 'contentStatusAccent', + value: theme.colorScheme(context).contentStatusAccent, + ), + ColorTokenItem( + name: 'contentStatusInfo', + value: theme.colorScheme(context).contentStatusInfo, + ), + ColorTokenItem( + name: 'contentStatusNegative', + value: theme.colorScheme(context).contentStatusNegative, + ), + ColorTokenItem( + name: 'contentStatusPositive', + value: theme.colorScheme(context).contentStatusPositive, + ), + ColorTokenItem( + name: 'contentStatusWarning', + value: theme.colorScheme(context).contentStatusWarning, + ), ], context.l10n.app_tokens_color_overlay_label: [ - ColorTokenItem(name: 'overlayDropdown', value: theme.colorScheme(context).overlayDropdown), - ColorTokenItem(name: 'overlayTooltip', value: theme.colorScheme(context).overlayTooltip), - ColorTokenItem(name: 'overlayDrag', value: theme.colorScheme(context).overlayDrag), - ColorTokenItem(name: 'overlayModal', value: theme.colorScheme(context).overlayModal), + ColorTokenItem( + name: 'overlayDropdown', + value: theme.colorScheme(context).overlayDropdown, + ), + ColorTokenItem( + name: 'overlayTooltip', + value: theme.colorScheme(context).overlayTooltip, + ), + ColorTokenItem( + name: 'overlayDrag', + value: theme.colorScheme(context).overlayDrag, + ), + ColorTokenItem( + name: 'overlayModal', + value: theme.colorScheme(context).overlayModal, + ), ], context.l10n.app_tokens_color_surface_label: [ - ColorTokenItem(name: 'surfaceBrandPrimary', value: theme.colorScheme(context).surfaceBrandPrimary), - ColorTokenItem(name: 'surfaceBrandSecondary', value: theme.colorScheme(context).surfaceBrandSecondary), - ColorTokenItem(name: 'surfaceBrandTertiary', value: theme.colorScheme(context).surfaceBrandTertiary), - ColorTokenItem(name: 'surfaceInverseHigh', value: theme.colorScheme(context).surfaceInverseHigh), - ColorTokenItem(name: 'surfaceInverseLow', value: theme.colorScheme(context).surfaceInverseLow), - ColorTokenItem(name: 'surfacePrimary', value: theme.colorScheme(context).surfacePrimary), - ColorTokenItem(name: 'surfaceSecondary', value: theme.colorScheme(context).surfaceSecondary), - ColorTokenItem(name: 'surfaceTertiary', value: theme.colorScheme(context).surfaceTertiary), - ColorTokenItem(name: 'surfaceStatusAccentEmphasized', value: theme.colorScheme(context).surfaceStatusAccentEmphasized), - ColorTokenItem(name: 'surfaceStatusAccentMuted', value: theme.colorScheme(context).surfaceStatusAccentMuted), - ColorTokenItem(name: 'surfaceStatusInfoEmphasized', value: theme.colorScheme(context).surfaceStatusInfoEmphasized), - ColorTokenItem(name: 'surfaceStatusInfoMuted', value: theme.colorScheme(context).surfaceStatusInfoMuted), - ColorTokenItem(name: 'surfaceStatusNegativeEmphasized', value: theme.colorScheme(context).surfaceStatusNegativeEmphasized), - ColorTokenItem(name: 'surfaceStatusNegativeMuted', value: theme.colorScheme(context).surfaceStatusNegativeMuted), - ColorTokenItem(name: 'surfaceStatusPositiveEmphasized', value: theme.colorScheme(context).surfaceStatusPositiveEmphasized), - ColorTokenItem(name: 'surfaceStatusPositiveMuted', value: theme.colorScheme(context).surfaceStatusPositiveMuted), - ColorTokenItem(name: 'surfaceStatusWarningEmphasized', value: theme.colorScheme(context).surfaceStatusWarningEmphasized), - ColorTokenItem(name: 'surfaceStatusWarningMuted', value: theme.colorScheme(context).surfaceStatusWarningMuted), + ColorTokenItem( + name: 'surfaceBrandPrimary', + value: theme.colorScheme(context).surfaceBrandPrimary, + ), + ColorTokenItem( + name: 'surfaceBrandSecondary', + value: theme.colorScheme(context).surfaceBrandSecondary, + ), + ColorTokenItem( + name: 'surfaceBrandTertiary', + value: theme.colorScheme(context).surfaceBrandTertiary, + ), + ColorTokenItem( + name: 'surfaceInverseHigh', + value: theme.colorScheme(context).surfaceInverseHigh, + ), + ColorTokenItem( + name: 'surfaceInverseLow', + value: theme.colorScheme(context).surfaceInverseLow, + ), + ColorTokenItem( + name: 'surfacePrimary', + value: theme.colorScheme(context).surfacePrimary, + ), + ColorTokenItem( + name: 'surfaceSecondary', + value: theme.colorScheme(context).surfaceSecondary, + ), + ColorTokenItem( + name: 'surfaceTertiary', + value: theme.colorScheme(context).surfaceTertiary, + ), + ColorTokenItem( + name: 'surfaceStatusAccentEmphasized', + value: theme.colorScheme(context).surfaceStatusAccentEmphasized, + ), + ColorTokenItem( + name: 'surfaceStatusAccentMuted', + value: theme.colorScheme(context).surfaceStatusAccentMuted, + ), + ColorTokenItem( + name: 'surfaceStatusInfoEmphasized', + value: theme.colorScheme(context).surfaceStatusInfoEmphasized, + ), + ColorTokenItem( + name: 'surfaceStatusInfoMuted', + value: theme.colorScheme(context).surfaceStatusInfoMuted, + ), + ColorTokenItem( + name: 'surfaceStatusNegativeEmphasized', + value: theme.colorScheme(context).surfaceStatusNegativeEmphasized, + ), + ColorTokenItem( + name: 'surfaceStatusNegativeMuted', + value: theme.colorScheme(context).surfaceStatusNegativeMuted, + ), + ColorTokenItem( + name: 'surfaceStatusPositiveEmphasized', + value: theme.colorScheme(context).surfaceStatusPositiveEmphasized, + ), + ColorTokenItem( + name: 'surfaceStatusPositiveMuted', + value: theme.colorScheme(context).surfaceStatusPositiveMuted, + ), + ColorTokenItem( + name: 'surfaceStatusWarningEmphasized', + value: theme.colorScheme(context).surfaceStatusWarningEmphasized, + ), + ColorTokenItem( + name: 'surfaceStatusWarningMuted', + value: theme.colorScheme(context).surfaceStatusWarningMuted, + ), ], }); } diff --git a/ouds_core/CHANGELOG.md b/ouds_core/CHANGELOG.md index 24afd63d9..ed3ed0e32 100644 --- a/ouds_core/CHANGELOG.md +++ b/ouds_core/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed +- [Library] update tokens 2.4.0 ([#726](https://github.com/Orange-OpenSource/ouds-flutter/issues/726)) - [Library] update tokens 1.9.0 - Component Bullet List ([#710](https://github.com/Orange-OpenSource/ouds-flutter/issues/710)) - [Library] update tokens 1.9.0 - Component Alert ([#672](https://github.com/Orange-OpenSource/ouds-flutter/issues/672)) diff --git a/ouds_core/README.md b/ouds_core/README.md index 0c759b1e4..6c1ab3db0 100644 --- a/ouds_core/README.md +++ b/ouds_core/README.md @@ -32,7 +32,7 @@ It is intended to replace internal frameworks and the previous [ODS](https://git ## Tokens version -- **OUDS core token version**: 1.9.0. +- **OUDS core token version**: 1.10.0. ## Other OUDS Libraries @@ -56,16 +56,32 @@ It is intended to replace internal frameworks and the previous [ODS](https://git Alert Message - 1.1.0 + 1.1.1 Badge 1.2.0 + + Badge Count + 1.2.0 + + + Badge Icon + 1.3.0 + Bar 1.0.0 + + Bottom Sheet + 1.0.0 + + + Bullet List + 1.1.0 + Button 3.2.0 @@ -74,49 +90,57 @@ It is intended to replace internal frameworks and the previous [ODS](https://git Checkbox 2.4.0 - - Chip - 1.3.0 - Divider 1.0.0 + + Filter Chip + 1.4.0 + Inline Alert 1.0.0 + + Input Tag + 1.2.0 + Link 2.2.0 Password Input - 1.2.0 + 1.3.0 Phone Number Input - 1.2.0 + 1.3.0 Pin Code Input - 1.2.0 + 1.3.0 Radio Button 1.4.0 + + Suggestion Chip + 1.4.0 + Switch 1.5.0 Tag - 1.4.0 + 1.5.0 Text Input - 1.3.0 + 1.4.0 @@ -166,7 +190,7 @@ dependency_overrides: ### Localization -To set up localization for the `ouds_core` library, you need to set the `OudsLocalizations.delegate` in the `localizationsDelegates` properties of the `MaterialApp`. +To set up localization for the `ouds_core` library, you need to set the `OudsLocalizations.delegate` in the `localizationsDelegates` properties of the `MaterialApp`. ### Implementation @@ -188,7 +212,7 @@ To set up localization for the `ouds_core` library, you need to set the `OudsLoc }, ); ``` -### Custom Implementation +### Custom Implementation To customize the Orange theme (e.g., apply rounded corners or adjust spacing), wrap the `OudsTheme` with `OudsThemeConfigModel`. @@ -309,4 +333,4 @@ this SDK does not require any device permission to work. ## Copyright and license Code released under the [MIT License](https://github.com/Orange-OpenSource/ouds-flutter/blob/develop/LICENSE). -For images and other assets, please [refer to the NOTICE.txt](https://github.com/Orange-OpenSource/ouds-flutter/blob/develop/NOTICE.txt). +For images and other assets, please [refer to the NOTICE.txt](https://github.com/Orange-OpenSource/ouds-flutter/blob/develop/NOTICE.txt). \ No newline at end of file diff --git a/ouds_core/lib/components/badge/ouds_badge.dart b/ouds_core/lib/components/badge/ouds_badge.dart index bf37f668d..72825205b 100644 --- a/ouds_core/lib/components/badge/ouds_badge.dart +++ b/ouds_core/lib/components/badge/ouds_badge.dart @@ -23,22 +23,13 @@ import 'package:ouds_theme_contract/ouds_theme.dart'; /// @nodoc /// this is an internal enum should not be exposed to the user -enum _OudsBadgeType { - icon, - count, - standard, -} +enum _OudsBadgeType { icon, count, standard } /// The [OudsBadgeStatus] enum defines the visual importance of the badge within the UI. -@Deprecated('use OudsIconStatus subclasses (Neutral, Accent, Positive, Info, Warning, Negative). This type will be removed in the next major release.') -enum OudsBadgeStatus { - negative, - accent, - positive, - info, - warning, - neutral, -} +@Deprecated( + 'use OudsIconStatus subclasses (Neutral, Accent, Positive, Info, Warning, Negative). This type will be removed in the next major release.', +) +enum OudsBadgeStatus { negative, accent, positive, info, warning, neutral } /// @nodoc // deprecation remove : this enum is added only to support the deprecated enum and will be removed after deprecation @@ -60,12 +51,7 @@ extension OudsBadgeStatusConverter on OudsBadgeStatus { } /// The [OudsBadgeSize] enum defines the size of the badge within the UI. -enum OudsBadgeSize { - xsmall, - small, - medium, - large; -} +enum OudsBadgeSize { xsmall, small, medium, large } /// [OUDS Badge design guidelines](https://r.orange.fr/r/S-ouds-doc-badge) /// @@ -207,12 +193,16 @@ enum OudsBadgeSize { /// ``` class OudsBadge extends StatefulWidget { - @Deprecated('Use status of type OudsIconStatus instead. This parameter will be removed in a future version.') + @Deprecated( + 'Use status of type OudsIconStatus instead. This parameter will be removed in a future version.', + ) final OudsBadgeStatus? _deprecatedStatus; final OudsIconStatus? status; final OudsBadgeSize? size; final String? label; - @Deprecated('icon is now defined by status (OudsIconStatus). Use Accent(icon: ...) or Neutral(icon: ...) for custom icons.') + @Deprecated( + 'icon is now defined by status (OudsIconStatus). Use Accent(icon: ...) or Neutral(icon: ...) for custom icons.', + ) final String? icon; final Widget? child; final bool enabled; @@ -220,22 +210,25 @@ class OudsBadge extends StatefulWidget { final bool? _withIcon; /// ⚠️ **DEPRECATED:** Use [OudsBadge.standard], [OudsBadge.icon], or [OudsBadge.count] constructors instead. - @Deprecated('Use named constructors for clarity: OudsBadge.standard() for standard type, OudsBadge.icon() for icon type, or OudsBadge.count() for count type.' - ' This constructor will be removed in a future version.') + @Deprecated( + 'Use named constructors for clarity: OudsBadge.standard() for standard type, OudsBadge.icon() for icon type, or OudsBadge.count() for count type.' + ' This constructor will be removed in a future version.', + ) const OudsBadge({ super.key, OudsBadgeStatus? status, this.size = OudsBadgeSize.medium, this.label, @Deprecated( - 'icon is now defined by status (OudsIconStatus). Use Accent(icon: ...) or Neutral(icon: ...) for custom icons.') + 'icon is now defined by status (OudsIconStatus). Use Accent(icon: ...) or Neutral(icon: ...) for custom icons.', + ) this.icon, this.child, this.enabled = true, this.semanticsLabel, - }) : _deprecatedStatus = status, - status = null, - _withIcon = null; + }) : _deprecatedStatus = status, + status = null, + _withIcon = null; const OudsBadge.icon({ super.key, @@ -245,10 +238,10 @@ class OudsBadge extends StatefulWidget { this.semanticsLabel, this.status, bool withIcon = true, - }) : label = null, - icon = null, - _deprecatedStatus = null, - _withIcon = withIcon; + }) : label = null, + icon = null, + _deprecatedStatus = null, + _withIcon = withIcon; const OudsBadge.standard({ super.key, @@ -257,10 +250,10 @@ class OudsBadge extends StatefulWidget { this.enabled = true, this.semanticsLabel, this.status, - }) : label = null, - icon = null, - _deprecatedStatus = null, - _withIcon = false; + }) : label = null, + icon = null, + _deprecatedStatus = null, + _withIcon = false; const OudsBadge.count({ super.key, @@ -270,9 +263,9 @@ class OudsBadge extends StatefulWidget { this.enabled = true, this.semanticsLabel, this.status, - }) : icon = null, - _deprecatedStatus = null, - _withIcon = false; + }) : icon = null, + _deprecatedStatus = null, + _withIcon = false; @override State createState() => _OudsBadgeState(); @@ -315,15 +308,21 @@ class _OudsBadgeState extends State { final scaledSize = textScaler.scale(badgeSizeModifier.getSize(widget.size)); return Container( - width: type == _OudsBadgeType.count || type == _OudsBadgeType.standard ? null : scaledSize, - height: type == _OudsBadgeType.count || type == _OudsBadgeType.standard ? null : scaledSize, + width: type == _OudsBadgeType.count || type == _OudsBadgeType.standard + ? null + : scaledSize, + height: type == _OudsBadgeType.count || type == _OudsBadgeType.standard + ? null + : scaledSize, constraints: BoxConstraints( minHeight: scaledSize, minWidth: scaledSize, - maxHeight: type == _OudsBadgeType.count || type == _OudsBadgeType.standard + maxHeight: + type == _OudsBadgeType.count || type == _OudsBadgeType.standard ? double.infinity : scaledSize, - maxWidth: type == _OudsBadgeType.count || type == _OudsBadgeType.standard + maxWidth: + type == _OudsBadgeType.count || type == _OudsBadgeType.standard ? double.infinity : scaledSize, ), @@ -336,29 +335,42 @@ class _OudsBadgeState extends State { alignment: widget.size == OudsBadgeSize.large ? AlignmentDirectional(5, -1.5) : widget.size == OudsBadgeSize.medium - ? AlignmentDirectional(2, -1.3) - : null, + ? AlignmentDirectional(2, -1.3) + : null, padding: widget.size == OudsBadgeSize.large ? EdgeInsets.only( - left: badge.spaceInset, right: badge.spaceInset) + left: badge.spaceInsetMediumLarge, + right: badge.spaceInsetMediumLarge, + ) : null, + backgroundColor: badgeStatusModifier.getStatusColor( - widget._deprecatedStatus, _effectiveStatus, widget.enabled), + widget._deprecatedStatus, + _effectiveStatus, + widget.enabled, + ), child: widget.child, ) : Badge( padding: widget.icon != null || hasIcon ? EdgeInsets.only( - left: badge.spaceInset, right: badge.spaceInset) + left: badge.spaceInsetMediumLarge, + right: badge.spaceInsetMediumLarge, + ) : widget.size == OudsBadgeSize.large - ? EdgeInsets.only( - left: badge.spacePaddingInlineLarge, - right: badge.spacePaddingInlineLarge) - : EdgeInsets.only( - left: badge.spacePaddingInlineMedium, - right: badge.spacePaddingInlineMedium), + ? EdgeInsets.only( + left: badge.spacePaddingInlineLarge, + right: badge.spacePaddingInlineLarge, + ) + : EdgeInsets.only( + left: badge.spacePaddingInlineMedium, + right: badge.spacePaddingInlineMedium, + ), backgroundColor: badgeStatusModifier.getStatusColor( - widget._deprecatedStatus, _effectiveStatus, widget.enabled), + widget._deprecatedStatus, + _effectiveStatus, + widget.enabled, + ), label: badgeLabel, child: widget.child, ), @@ -378,19 +390,23 @@ class _OudsBadgeState extends State { _formattedLabel(), style: widget.size == OudsBadgeSize.large ? theme.typographyTokens - .typeLabelDefaultMedium(context) - .copyWith( + .typeLabelDefaultMedium(context) + .copyWith( color: badgeStatusModifier.getStatusTextAndIconColor( - widget._deprecatedStatus, - _effectiveStatus, - widget.enabled)) + widget._deprecatedStatus, + _effectiveStatus, + widget.enabled, + ), + ) : theme.typographyTokens - .typeLabelDefaultSmall(context) - .copyWith( + .typeLabelDefaultSmall(context) + .copyWith( color: badgeStatusModifier.getStatusTextAndIconColor( - widget._deprecatedStatus, - _effectiveStatus, - widget.enabled)), + widget._deprecatedStatus, + _effectiveStatus, + widget.enabled, + ), + ), textAlign: TextAlign.center, ), ) @@ -403,8 +419,10 @@ class _OudsBadgeState extends State { final badgeStatusModifier = OudsBadgeStatusModifier(context); // This gets the fixed icon for Positive, Negative, etc. - final fixedIcon = - badgeStatusModifier.getIcon(widget._deprecatedStatus, _effectiveStatus); + final fixedIcon = badgeStatusModifier.getIcon( + widget._deprecatedStatus, + _effectiveStatus, + ); // This correctly gets the user-defined icon for Neutral and Accent final userDefinedIcon = badgeStatusModifier.getAssetsName(_effectiveStatus); @@ -421,11 +439,15 @@ class _OudsBadgeState extends State { excludeFromSemantics: true, iconPath, fit: BoxFit.contain, - package: - fixedIcon != null ? OudsTheme.of(context).packageName : null, + package: fixedIcon != null + ? OudsTheme.of(context).packageName + : null, colorFilter: ColorFilter.mode( badgeStatusModifier.getStatusTextAndIconColor( - widget._deprecatedStatus, _effectiveStatus, widget.enabled), + widget._deprecatedStatus, + _effectiveStatus, + widget.enabled, + ), BlendMode.srcIn, ), ), @@ -460,7 +482,8 @@ class _OudsBadgeState extends State { /// - [_OudsBadgeType.standard]: when neither icon nor label applies (fallback case). _OudsBadgeType get type { final isMediumOrLarge = - widget.size == OudsBadgeSize.medium || widget.size == OudsBadgeSize.large; + widget.size == OudsBadgeSize.medium || + widget.size == OudsBadgeSize.large; // Check for the icon property final hasIcon = switch (_effectiveStatus) { diff --git a/ouds_core/lib/components/control/internal/modifier/ouds_control_indicator.dart b/ouds_core/lib/components/control/internal/modifier/ouds_control_indicator.dart index 9b32ff599..0aa9dee81 100644 --- a/ouds_core/lib/components/control/internal/modifier/ouds_control_indicator.dart +++ b/ouds_core/lib/components/control/internal/modifier/ouds_control_indicator.dart @@ -34,12 +34,17 @@ class OudsControlIndicatorModifier { /// Returns: The size of the indicator as a `double`. double getSizeIndicator(OudsControlItemType type, BuildContext context) { // Check if the type is not switchButton and is radio - if (type != OudsControlItemType.switchButton && type == OudsControlItemType.radio) { + if (type != OudsControlItemType.switchButton && + type == OudsControlItemType.radio) { // Return the size of the radio button indicator - return OudsTheme.of(context).componentsTokens(context).radioButton.sizeIndicator; + return OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeControlIndicator; } else { // Return the size of the checkbox indicator - return OudsTheme.of(context).componentsTokens(context).checkbox.sizeIndicator; + return OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeControlIndicator; } } } diff --git a/ouds_core/lib/components/control/ouds_control_item.dart b/ouds_core/lib/components/control/ouds_control_item.dart index 68f74c547..1136acd44 100644 --- a/ouds_core/lib/components/control/ouds_control_item.dart +++ b/ouds_core/lib/components/control/ouds_control_item.dart @@ -29,11 +29,7 @@ import 'package:ouds_theme_contract/ouds_theme.dart'; import 'internal/modifier/ouds_control_tick_modifier.dart'; -enum OudsControlItemType { - switchButton, - checkbox, - radio, -} +enum OudsControlItemType { switchButton, checkbox, radio } /// Refactor of controls for [Checkbox], [Switch], and [RadioButton]. /// This implementation provides a customizable control item with properties such as text, icon, and interaction states. @@ -102,7 +98,8 @@ class OudsControlItem extends StatefulWidget { class OudsControlItemState extends State { // Create an instance of the state controller to manage interaction changes - final OudsInteractionStateController interactionState = OudsInteractionStateController(); + final OudsInteractionStateController interactionState = + OudsInteractionStateController(); bool _isHighContrast = false; @override @@ -152,7 +149,9 @@ class OudsControlItemState extends State { ); final controlItemState = controlItemStateDeterminer.determineControlState(); - final controlItemBackgroundModifier = OudsControlBackgroundModifier(context); + final controlItemBackgroundModifier = OudsControlBackgroundModifier( + context, + ); final controlBorderModifier = OudsControlBorderModifier(context); final borderTokens = OudsTheme.of(context).borderTokens; final componentsTokens = OudsTheme.of(context).componentsTokens(context); @@ -171,15 +170,17 @@ class OudsControlItemState extends State { // children: [ Container( decoration: BoxDecoration( - color: controlItemBackgroundModifier.getBackgroundColor(controlItemState), - borderRadius: BorderRadius.circular( - borderTokens.radiusNone, + color: controlItemBackgroundModifier.getBackgroundColor( + controlItemState, ), + borderRadius: BorderRadius.circular(borderTokens.radiusNone), ), constraints: BoxConstraints( - minHeight: controlItemTokens.sizeMinHeight, + minHeight: controlItemTokens.sizeMinHeightDefault, minWidth: controlItemTokens.sizeMinWidth, - maxWidth: widget.constrainedMaxWidth ? controlItemTokens.sizeMaxWidth : double.infinity, + maxWidth: widget.constrainedMaxWidth + ? controlItemTokens.sizeMaxWidth + : double.infinity, ), child: InkWell( onTap: !(controlItemState == OudsControlState.readOnly) @@ -193,7 +194,9 @@ class OudsControlItemState extends State { }); } : null, - onHighlightChanged: widget.onTap != null ? interactionState.setPressed : null, + onHighlightChanged: widget.onTap != null + ? interactionState.setPressed + : null, onHover: interactionState.setHovered, highlightColor: Colors.transparent, hoverColor: controlItemTokens.colorBgHover, @@ -205,8 +208,12 @@ class OudsControlItemState extends State { ), child: IntrinsicHeight( child: Row( - crossAxisAlignment: _isLongText() ? CrossAxisAlignment.start : CrossAxisAlignment.center, - children: widget.reversed ? _buildStandardLayout(controlItemState) : _buildInvertedLayout(controlItemState), + crossAxisAlignment: _isLongText() + ? CrossAxisAlignment.start + : CrossAxisAlignment.center, + children: widget.reversed + ? _buildStandardLayout(controlItemState) + : _buildInvertedLayout(controlItemState), ), ), ), @@ -214,7 +221,8 @@ class OudsControlItemState extends State { ), // ], //), - if (widget.outlined || (widget.selected && interactionState.isPressed)) + if (widget.outlined || + (widget.selected && interactionState.isPressed)) Positioned.fill( child: IgnorePointer( child: Container( @@ -248,16 +256,19 @@ class OudsControlItemState extends State { ], ), // Error text below the component (under the divider), with its own padding - if (widget.error && (widget.errorText != null && widget.errorText!.trim().isNotEmpty)) + if (widget.error && + (widget.errorText != null && widget.errorText!.trim().isNotEmpty)) Padding( padding: EdgeInsetsDirectional.only( start: controlItemTokens.spacePaddingInline, - top: controlItemTokens.spacePaddingBlockTopErrorText, + top: controlItemTokens.spacePaddingBlockTopHelperText, end: controlItemTokens.spacePaddingInline, ), child: Text( widget.errorText ?? '', - style: OudsTheme.of(context).typographyTokens.typeLabelDefaultMedium(context).copyWith( + style: OudsTheme.of(context).typographyTokens + .typeLabelDefaultMedium(context) + .copyWith( color: controlItemTextModifier.getErrorMessageTextColor( controlItemState, ), @@ -270,142 +281,220 @@ class OudsControlItemState extends State { } bool _isLongText() { - return (widget.text.length > 150) || ((widget.extraLabelText?.length ?? 0) > 0) || ((widget.description?.length ?? 0) > 0); + return (widget.text.length > 150) || + ((widget.extraLabelText?.length ?? 0) > 0) || + ((widget.description?.length ?? 0) > 0); } Widget controlItemDivider(BuildContext context) { - final actualThickness = OudsTheme.of(context).componentsTokens(context).divider.borderWidth; - final divider = OudsDivider.horizontal( - thickness: actualThickness, - ); + final actualThickness = OudsTheme.of( + context, + ).componentsTokens(context).divider.borderWidth; + final divider = OudsDivider.horizontal(thickness: actualThickness); - return Padding(padding: EdgeInsetsDirectional.all(OudsTheme.of(context).spaceScheme(context).fixedNone), child: divider); + return Padding( + padding: EdgeInsetsDirectional.all( + OudsTheme.of(context).spaceScheme(context).fixedNone, + ), + child: divider, + ); } List _buildStandardLayout(OudsControlState controlItemState) => [ - AbsorbPointer( - child: Container( - constraints: BoxConstraints( - maxHeight: OudsTheme.of(context).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, - minHeight: OudsTheme.of(context).componentsTokens(context).controlItem.sizeIcon, - ), - alignment: Alignment.center, - child: SizedBox( - height: widget.componentType != OudsControlItemType.switchButton - ? OudsControlIndicatorModifier(context).getSizeIndicator(widget.componentType, context) - : OudsTheme.of(context).componentsTokens(context).switchButton.sizeHeightTrack, - width: widget.componentType != OudsControlItemType.switchButton ? OudsControlIndicatorModifier(context).getSizeIndicator(widget.componentType, context) : null, - child: widget.indicator(), - ), + AbsorbPointer( + child: Container( + constraints: BoxConstraints( + maxHeight: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, + minHeight: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeIcon, + ), + alignment: Alignment.center, + child: SizedBox( + height: widget.componentType != OudsControlItemType.switchButton + ? OudsControlIndicatorModifier( + context, + ).getSizeIndicator(widget.componentType, context) + : OudsTheme.of( + context, + ).componentsTokens(context).switchButton.sizeHeightTrack, + width: widget.componentType != OudsControlItemType.switchButton + ? OudsControlIndicatorModifier( + context, + ).getSizeIndicator(widget.componentType, context) + : null, + child: widget.indicator(), + ), + ), + ), + Container( + width: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.spaceColumnGap, + ), + _buildTextWithAdditionalAndDescription(controlItemState), + if (widget.icon != null || widget.error) + Container( + width: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.spaceColumnGap, + ), + if (widget.icon != null && widget.error == false) + Container( + constraints: BoxConstraints( + maxHeight: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, + ), + alignment: Alignment.center, + child: SizedBox( + height: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeIcon, + width: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeIcon, + child: OudsControlItem.buildIcon( + context, + widget.icon!, + controlItemState, + false, ), ), - Container( - width: OudsTheme.of(context).componentsTokens(context).controlItem.spaceColumnGap, + ), + if (widget.error) + Container( + constraints: BoxConstraints( + maxHeight: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, ), - _buildTextWithAdditionalAndDescription(controlItemState), - if (widget.icon != null || widget.error) - Container( - width: OudsTheme.of(context).componentsTokens(context).controlItem.spaceColumnGap, + alignment: Alignment.center, + child: Container( + padding: EdgeInsets.symmetric( + horizontal: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.spacePaddingInlineErrorIcon, ), - if (widget.icon != null && widget.error == false) - Container( - constraints: BoxConstraints( - maxHeight: OudsTheme.of(context).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, - ), - alignment: Alignment.center, - child: SizedBox( - height: OudsTheme.of(context).componentsTokens(context).controlItem.sizeIcon, - width: OudsTheme.of(context).componentsTokens(context).controlItem.sizeIcon, - child: OudsControlItem.buildIcon( + child: SvgPicture.asset( + excludeFromSemantics: true, + width: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeErrorIcon, + height: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeErrorIcon, + AppAssets.icons.componentAlertImportantFill, + package: OudsTheme.of(context).packageName, + colorFilter: ColorFilter.mode( + OudsControlTickModifier( context, - widget.icon!, - controlItemState, - false, - ), + ).getIconErrorColor(controlItemState), + BlendMode.srcIn, ), ), - if (widget.error) - Container( - constraints: BoxConstraints( - maxHeight: OudsTheme.of(context).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, - ), - alignment: Alignment.center, - child: Container( - padding: EdgeInsets.symmetric(horizontal: OudsTheme.of(context).componentsTokens(context).controlItem.spacePaddingInlineErrorIcon), - child: SvgPicture.asset( - excludeFromSemantics: true, - width: OudsTheme.of(context).componentsTokens(context).controlItem.sizeErrorIcon, - height: OudsTheme.of(context).componentsTokens(context).controlItem.sizeErrorIcon, - AppAssets.icons.componentAlertImportantFill, - package: OudsTheme.of(context).packageName, - colorFilter: ColorFilter.mode( - OudsControlTickModifier(context).getIconErrorColor(controlItemState), - BlendMode.srcIn, - ), - ), - ), - ), - ]; + ), + ), + ]; List _buildInvertedLayout(OudsControlState controlItemState) => [ - if (widget.icon != null && widget.error == false) - Container( - constraints: BoxConstraints( - maxHeight: OudsTheme.of(context).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, - ), - alignment: Alignment.center, - child: SizedBox( - height: OudsTheme.of(context).componentsTokens(context).controlItem.sizeIcon, - width: OudsTheme.of(context).componentsTokens(context).controlItem.sizeIcon, - child: OudsControlItem.buildIcon( - context, - widget.icon!, - controlItemState, - false, - ), - ), + if (widget.icon != null && widget.error == false) + Container( + constraints: BoxConstraints( + maxHeight: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, + ), + alignment: Alignment.center, + child: SizedBox( + height: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeIcon, + width: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeIcon, + child: OudsControlItem.buildIcon( + context, + widget.icon!, + controlItemState, + false, ), - if (widget.error) - Container( - constraints: BoxConstraints( - maxHeight: OudsTheme.of(context).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, - ), - alignment: Alignment.center, - child: Container( - padding: EdgeInsets.symmetric(horizontal: OudsTheme.of(context).componentsTokens(context).controlItem.spacePaddingInlineErrorIcon), - child: SvgPicture.asset( - excludeFromSemantics: true, - AppAssets.icons.componentAlertImportantFill, - package: OudsTheme.of(context).packageName, - colorFilter: ColorFilter.mode( - OudsControlTickModifier(context).getIconErrorColor(controlItemState), - BlendMode.srcIn, - ), - ), - ), + ), + ), + if (widget.error) + Container( + constraints: BoxConstraints( + maxHeight: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, + ), + alignment: Alignment.center, + child: Container( + padding: EdgeInsets.symmetric( + horizontal: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.spacePaddingInlineErrorIcon, ), - if (widget.icon != null || widget.error) SizedBox(width: OudsTheme.of(context).componentsTokens(context).controlItem.spaceColumnGap), - _buildTextWithAdditionalAndDescription(controlItemState), - SizedBox(width: OudsTheme.of(context).componentsTokens(context).controlItem.spaceColumnGap), - AbsorbPointer( - child: Container( - constraints: BoxConstraints( - maxHeight: OudsTheme.of(context).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, - minHeight: OudsTheme.of(context).componentsTokens(context).controlItem.sizeIcon, - ), - alignment: Alignment.center, - child: SizedBox( - height: widget.componentType != OudsControlItemType.switchButton - ? OudsTheme.of(context).componentsTokens(context).controlItem.sizeLoader - : OudsTheme.of(context).componentsTokens(context).switchButton.sizeHeightTrack, - width: widget.componentType != OudsControlItemType.switchButton ? OudsTheme.of(context).componentsTokens(context).controlItem.sizeLoader : null, - child: widget.indicator(), + child: SvgPicture.asset( + excludeFromSemantics: true, + AppAssets.icons.componentAlertImportantFill, + package: OudsTheme.of(context).packageName, + colorFilter: ColorFilter.mode( + OudsControlTickModifier( + context, + ).getIconErrorColor(controlItemState), + BlendMode.srcIn, ), ), ), - ]; + ), + if (widget.icon != null || widget.error) + SizedBox( + width: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.spaceColumnGap, + ), + _buildTextWithAdditionalAndDescription(controlItemState), + SizedBox( + width: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.spaceColumnGap, + ), + AbsorbPointer( + child: Container( + constraints: BoxConstraints( + maxHeight: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeMaxHeightAssetsContainer, + minHeight: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeIcon, + ), + alignment: Alignment.center, + child: SizedBox( + height: widget.componentType != OudsControlItemType.switchButton + ? OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeLoader + : OudsTheme.of( + context, + ).componentsTokens(context).switchButton.sizeHeightTrack, + width: widget.componentType != OudsControlItemType.switchButton + ? OudsTheme.of( + context, + ).componentsTokens(context).controlItem.sizeLoader + : null, + child: widget.indicator(), + ), + ), + ), + ]; - Widget _buildTextWithAdditionalAndDescription(OudsControlState controlItemState) { + Widget _buildTextWithAdditionalAndDescription( + OudsControlState controlItemState, + ) { final controlItemTextModifier = OudsControlTextModifier(context); final hasExtraLabelText = widget.extraLabelText?.trim().isNotEmpty ?? false; final hasDescription = widget.description?.trim().isNotEmpty ?? false; @@ -413,20 +502,33 @@ class OudsControlItemState extends State { final List columnChildren = [ Text( widget.text, - style: OudsTheme.of(context).typographyTokens.typeLabelDefaultLarge(context).copyWith( - color: controlItemTextModifier.getTextColor(controlItemState, widget.error), + style: OudsTheme.of(context).typographyTokens + .typeLabelDefaultLarge(context) + .copyWith( + color: controlItemTextModifier.getTextColor( + controlItemState, + widget.error, + ), ), ), ]; if (hasExtraLabelText) { columnChildren.add( - SizedBox(height: OudsTheme.of(context).componentsTokens(context).controlItem.spaceRowGap), + SizedBox( + height: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.spaceRowGap, + ), ); columnChildren.add( Text( widget.extraLabelText!, - style: OudsTheme.of(context).typographyTokens.typeLabelStrongMedium(context).copyWith( - color: controlItemTextModifier.getExtraLabelTextColor(controlItemState), + style: OudsTheme.of(context).typographyTokens + .typeLabelStrongMedium(context) + .copyWith( + color: controlItemTextModifier.getExtraLabelTextColor( + controlItemState, + ), ), ), ); @@ -434,13 +536,21 @@ class OudsControlItemState extends State { if (hasDescription) { columnChildren.add( - SizedBox(height: OudsTheme.of(context).componentsTokens(context).controlItem.spaceRowGap), + SizedBox( + height: OudsTheme.of( + context, + ).componentsTokens(context).controlItem.spaceRowGap, + ), ); columnChildren.add( Text( widget.description!, - style: OudsTheme.of(context).typographyTokens.typeLabelDefaultMedium(context).copyWith( - color: controlItemTextModifier.getDescriptionTextColor(controlItemState), + style: OudsTheme.of(context).typographyTokens + .typeLabelDefaultMedium(context) + .copyWith( + color: controlItemTextModifier.getDescriptionTextColor( + controlItemState, + ), ), ), ); diff --git a/ouds_core/lib/components/navigation/internal/ouds_navigation_bar_status_modifier.dart b/ouds_core/lib/components/navigation/internal/ouds_navigation_bar_status_modifier.dart index 7413660c1..9e87df827 100644 --- a/ouds_core/lib/components/navigation/internal/ouds_navigation_bar_status_modifier.dart +++ b/ouds_core/lib/components/navigation/internal/ouds_navigation_bar_status_modifier.dart @@ -26,21 +26,32 @@ class OudsNavigationBarStatusModifier { /// Returns the content color (icon and label) for a navigation destination, /// based on its interaction [state] and whether it is [isSelected]. - Color getTextIconItemColor(OudsNavigationBarControlState state, [bool isSelected = false]) { + Color getTextIconItemColor( + OudsNavigationBarControlState state, [ + bool isSelected = false, + ]) { final barTheme = OudsTheme.of(context).componentsTokens(context).bar; + final colorTokens = OudsTheme.of(context).colorScheme(context).colorTokens; + switch (state) { case OudsNavigationBarControlState.enabled: return isSelected ? barTheme.colorContentSelectedEnabled : ThemeUtils.isDarkTheme(context) == false - ? barTheme.colorContentUnselectedEnabledLight - : barTheme.colorContentUnselectedEnabledDark; + ? colorTokens.contentColorTokens.contentMutedLight + : colorTokens.contentColorTokens.contentMutedDark; case OudsNavigationBarControlState.hovered: - return isSelected ? barTheme.colorContentSelectedHover : barTheme.colorContentUnselectedHover; + return isSelected + ? barTheme.colorContentSelectedHover + : barTheme.colorContentUnselectedHover; case OudsNavigationBarControlState.focused: - return isSelected ? barTheme.colorContentSelectedFocus : barTheme.colorContentUnselectedFocus; + return isSelected + ? barTheme.colorContentSelectedFocus + : barTheme.colorContentUnselectedFocus; case OudsNavigationBarControlState.pressed: - return isSelected ? barTheme.colorContentSelectedPressed : barTheme.colorContentUnselectedPressed; + return isSelected + ? barTheme.colorContentSelectedPressed + : barTheme.colorContentUnselectedPressed; } } @@ -49,18 +60,29 @@ class OudsNavigationBarStatusModifier { /// /// Note: in Material 3, `indicatorColor` paints the selected indicator behind the destination, /// while `overlayColor` is the transient pressed/hovered/focused overlay shown during interactions. - Color getMaterialIndicatorBarColor(OudsNavigationBarControlState state, [bool isSelected = false]) { + Color getMaterialIndicatorBarColor( + OudsNavigationBarControlState state, [ + bool isSelected = false, + ]) { final barTheme = OudsTheme.of(context).componentsTokens(context).bar; final oudsTheme = OudsTheme.of(context); switch (state) { case OudsNavigationBarControlState.enabled: - return isSelected ? barTheme.colorActiveIndicatorAndroidSelectedEnabled : oudsTheme.colorScheme(context).opacityTransparent; + return isSelected + ? barTheme.colorCurrentIndicatorAndroidSelectedEnabled + : barTheme.colorCurrentIndicatorAndroidUnselectedDisabled; case OudsNavigationBarControlState.hovered: - return isSelected ? barTheme.colorActiveIndicatorAndroidSelectedHover : barTheme.colorActiveIndicatorAndroidUnselectedHover; + return isSelected + ? barTheme.colorCurrentIndicatorAndroidSelectedHover + : barTheme.colorCurrentIndicatorAndroidUnselectedHover; case OudsNavigationBarControlState.focused: - return isSelected ? barTheme.colorActiveIndicatorAndroidSelectedFocus : barTheme.colorActiveIndicatorAndroidUnselectedFocus; + return isSelected + ? barTheme.colorCurrentIndicatorAndroidSelectedFocus + : barTheme.colorCurrentIndicatorAndroidUnselectedFocus; case OudsNavigationBarControlState.pressed: - return isSelected ? barTheme.colorActiveIndicatorAndroidSelectedPressed : barTheme.colorActiveIndicatorAndroidUnselectedPressed; + return isSelected + ? barTheme.colorCurrentIndicatorAndroidSelectedPressed + : barTheme.colorCurrentIndicatorAndroidUnselectedPressed; } } @@ -70,13 +92,21 @@ class OudsNavigationBarStatusModifier { final barTheme = OudsTheme.of(context).componentsTokens(context).bar; switch (state) { case OudsNavigationBarControlState.enabled: - return barTheme.colorActiveIndicatorCustomSelectedEnabled.withValues(alpha: barTheme.opacityActiveIndicatorCustom); + return barTheme.colorCurrentIndicatorCustomSelectedEnabled.withValues( + alpha: barTheme.opacityCurrentIndicatorCustom, + ); case OudsNavigationBarControlState.hovered: - return barTheme.colorActiveIndicatorCustomSelectedHover.withValues(alpha: barTheme.opacityActiveIndicatorCustom); + return barTheme.colorCurrentIndicatorCustomSelectedHover.withValues( + alpha: barTheme.opacityCurrentIndicatorCustom, + ); case OudsNavigationBarControlState.focused: - return barTheme.colorActiveIndicatorCustomSelectedFocus.withValues(alpha: barTheme.opacityActiveIndicatorCustom); + return barTheme.colorCurrentIndicatorCustomSelectedFocus.withValues( + alpha: barTheme.opacityCurrentIndicatorCustom, + ); case OudsNavigationBarControlState.pressed: - return barTheme.colorActiveIndicatorCustomSelectedPressed.withValues(alpha: barTheme.opacityActiveIndicatorCustom); + return barTheme.colorCurrentIndicatorCustomSelectedPressed.withValues( + alpha: barTheme.opacityCurrentIndicatorCustom, + ); } } } diff --git a/ouds_core/lib/components/navigation/ouds_navigation_bar_item.dart b/ouds_core/lib/components/navigation/ouds_navigation_bar_item.dart index 84dfebd0e..c8e56d6f7 100644 --- a/ouds_core/lib/components/navigation/ouds_navigation_bar_item.dart +++ b/ouds_core/lib/components/navigation/ouds_navigation_bar_item.dart @@ -102,10 +102,7 @@ class OudsNavigationBarItem { height: 26, //sizeIcon.iconDecorativeExtraSmall, width: 26, //sizeIcon.iconDecorativeExtraSmall, colorFilter: ColorFilter.mode( - modifier.getTextIconItemColor( - controlState, - isSelected, - ), + modifier.getTextIconItemColor(controlState, isSelected), BlendMode.srcIn, ), ); @@ -122,17 +119,27 @@ class OudsNavigationBarItem { } /// Builds the top indicator shown above the icon when the destination is selected. - Container _buildTopIndicatorBar(BuildContext context, OudsBarTokens bar, bool isSelected, OudsNavigationBarControlState controlState) { - final navigationBarStatusModifier = OudsNavigationBarStatusModifier(context); + Container _buildTopIndicatorBar( + BuildContext context, + OudsBarTokens bar, + bool isSelected, + OudsNavigationBarControlState controlState, + ) { + final navigationBarStatusModifier = OudsNavigationBarStatusModifier( + context, + ); return Container( - height: bar.sizeHeightActiveIndicatorCustom, // thickness of the bar - width: bar.sizeWidthActiveIndicatorCustomTop, // width of the bar (adjust) + height: bar.sizeHeightCurrentIndicatorCustom, // thickness of the bar + width: + bar.sizeWidthCurrentIndicatorCustomTop, // width of the bar (adjust) decoration: BoxDecoration( - color: isSelected ? navigationBarStatusModifier.getIndicatorBarColor(controlState) : Colors.transparent, + color: isSelected + ? navigationBarStatusModifier.getIndicatorBarColor(controlState) + : Colors.transparent, borderRadius: BorderRadius.horizontal( - left: Radius.circular(bar.borderRadiusActiveIndicatorCustomTop), - right: Radius.circular(bar.borderRadiusActiveIndicatorCustomTop), + left: Radius.circular(bar.borderRadiusCurrentIndicatorCustomTop), + right: Radius.circular(bar.borderRadiusCurrentIndicatorCustomTop), ), ), ); @@ -164,10 +171,24 @@ class OudsNavigationBarItem { Flexible( child: NavigationDestination( label: label, - icon: _buildBadgeIconNavigationDestination(context, icon, modifier, controlState, badge, isSelected: isSelected), - selectedIcon: _buildBadgeIconNavigationDestination(context, icon, modifier, controlState, badge, isSelected: isSelected), + icon: _buildBadgeIconNavigationDestination( + context, + icon, + modifier, + controlState, + badge, + isSelected: isSelected, + ), + selectedIcon: _buildBadgeIconNavigationDestination( + context, + icon, + modifier, + controlState, + badge, + isSelected: isSelected, + ), ), - ) + ), ], ); } @@ -191,8 +212,22 @@ class OudsNavigationBarItem { return BottomNavigationBarItem( label: label, - icon: _buildBadgeIconBottomNavigationBarItem(context, icon, modifier, controlState, badge, isSelected: isSelected), - activeIcon: _buildBadgeIconBottomNavigationBarItem(context, icon, modifier, controlState, badge, isSelected: isSelected), + icon: _buildBadgeIconBottomNavigationBarItem( + context, + icon, + modifier, + controlState, + badge, + isSelected: isSelected, + ), + activeIcon: _buildBadgeIconBottomNavigationBarItem( + context, + icon, + modifier, + controlState, + badge, + isSelected: isSelected, + ), ); } @@ -227,10 +262,7 @@ class OudsNavigationBarItem { height: 26, //sizeIcon.iconDecorativeExtraSmall, width: 26, //sizeIcon.iconDecorativeExtraSmall, colorFilter: ColorFilter.mode( - modifier.getTextIconItemColor( - controlState, - isSelected, - ), + modifier.getTextIconItemColor(controlState, isSelected), BlendMode.srcIn, ), ); @@ -239,14 +271,14 @@ class OudsNavigationBarItem { ? Column( children: [ _buildTopIndicatorBar(context, bar, isSelected, controlState), - SizedBox( - height: 2, - ), + SizedBox(height: 2), OudsBadge.count( semanticsLabel: badge.contentDescription, label: badge.count.toString(), status: Negative(), - size: badge.hasCount ? OudsBadgeSize.medium : OudsBadgeSize.xsmall, + size: badge.hasCount + ? OudsBadgeSize.medium + : OudsBadgeSize.xsmall, child: widgetIcon, ), ], @@ -254,9 +286,7 @@ class OudsNavigationBarItem { : Column( children: [ _buildTopIndicatorBar(context, bar, isSelected, controlState), - SizedBox( - height: 2, - ), + SizedBox(height: 2), widgetIcon, ], ); diff --git a/ouds_core/lib/components/radio_button/ouds_radio_button.dart b/ouds_core/lib/components/radio_button/ouds_radio_button.dart index 24cde81a8..0b5395cc4 100644 --- a/ouds_core/lib/components/radio_button/ouds_radio_button.dart +++ b/ouds_core/lib/components/radio_button/ouds_radio_button.dart @@ -110,10 +110,17 @@ class OudsRadioButtonState extends State> { @override Widget build(BuildContext context) { - final interactionModelHover = OudsInheritedInteractionModel.of(context, InteractionAspect.hover); - final interactionModelPressed = OudsInheritedInteractionModel.of(context, InteractionAspect.pressed); + final interactionModelHover = OudsInheritedInteractionModel.of( + context, + InteractionAspect.hover, + ); + final interactionModelPressed = OudsInheritedInteractionModel.of( + context, + InteractionAspect.pressed, + ); final isHoveredInherited = interactionModelHover?.state.isHovered ?? false; - final isPressedInherited = interactionModelPressed?.state.isPressed ?? false; + final isPressedInherited = + interactionModelPressed?.state.isPressed ?? false; final isEnabled = widget.onChanged != null; final bool isReadOnly = widget.readOnly; @@ -126,15 +133,22 @@ class OudsRadioButtonState extends State> { final radioButtonState = radioButtonStateDeterminer.determineControlState(); final radioButtonBorderModifier = OudsControlBorderModifier(context); - final radioButtonBackgroundModifier = OudsControlBackgroundModifier(context); + final radioButtonBackgroundModifier = OudsControlBackgroundModifier( + context, + ); final radioButtonTickModifier = OudsControlTickModifier(context); - final radioButton = OudsTheme.of(context).componentsTokens(context).radioButton; - final controlItem = OudsTheme.of(context).componentsTokens(context).controlItem; + final radioButton = OudsTheme.of( + context, + ).componentsTokens(context).radioButton; + final controlItem = OudsTheme.of( + context, + ).componentsTokens(context).controlItem; final l10n = OudsLocalizations.of(context); return Semantics( enabled: widget.onChanged != null && !(widget.readOnly), - label: "${_selected ? l10n?.core_common_selected_a11y : l10n?.core_common_unselected_a11y} " + label: + "${_selected ? l10n?.core_common_selected_a11y : l10n?.core_common_unselected_a11y} " "${l10n?.core_radioButton_radioButton_a11y}", value: widget.isError ? l10n?.core_common_error_a11y : null, child: SizedBox( @@ -169,15 +183,21 @@ class OudsRadioButtonState extends State> { minWidth: radioButton.sizeMinWidth, ), decoration: BoxDecoration( - color: _isPressed ? radioButtonBackgroundModifier.getBackgroundColor(radioButtonState) : Colors.transparent, + color: _isPressed + ? radioButtonBackgroundModifier.getBackgroundColor( + radioButtonState, + ) + : Colors.transparent, borderRadius: BorderRadius.circular( - radioButtonBorderModifier.getBorderRadius(controlItem.borderRadiusItemOnly), + radioButtonBorderModifier.getBorderRadius( + controlItem.borderRadiusItemOnly, + ), ), ), child: Center( child: SizedBox( - width: radioButton.sizeIndicator, - height: radioButton.sizeIndicator, + width: controlItem.sizeControlIndicator, + height: controlItem.sizeControlIndicator, child: Stack( fit: StackFit.expand, children: [ @@ -185,11 +205,22 @@ class OudsRadioButtonState extends State> { DecoratedBox( decoration: BoxDecoration( border: OudsBorder().borderAll( - color: radioButtonBorderModifier.getBorderColor(radioButtonState, widget.isError, _selected, _isHighContrast), - width: radioButtonBorderModifier.getBorderWidth(radioButtonState, _selected, radioButton), + color: radioButtonBorderModifier.getBorderColor( + radioButtonState, + widget.isError, + _selected, + _isHighContrast, + ), + width: radioButtonBorderModifier.getBorderWidth( + radioButtonState, + _selected, + radioButton, + ), ), borderRadius: BorderRadius.circular( - radioButtonBorderModifier.getBorderRadius(radioButton.borderRadius), + radioButtonBorderModifier.getBorderRadius( + radioButton.borderRadius, + ), ), ), ), @@ -198,7 +229,9 @@ class OudsRadioButtonState extends State> { if (_selected) Center( child: ClipRRect( - borderRadius: BorderRadius.circular(radioButton.borderRadius), + borderRadius: BorderRadius.circular( + radioButton.borderRadius, + ), child: SvgPicture.asset( AppAssets.icons.componentRadioButtonSelected, excludeFromSemantics: true, diff --git a/ouds_global_raw_tokens/CHANGELOG.md b/ouds_global_raw_tokens/CHANGELOG.md index 95a98920e..5ab3930eb 100644 --- a/ouds_global_raw_tokens/CHANGELOG.md +++ b/ouds_global_raw_tokens/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed +- [Library] update tokens 2.4.0 ([#726](https://github.com/Orange-OpenSource/ouds-flutter/issues/726)) ### Fixed diff --git a/ouds_theme_contract/CHANGELOG.md b/ouds_theme_contract/CHANGELOG.md index c162d1240..9b14653a5 100644 --- a/ouds_theme_contract/CHANGELOG.md +++ b/ouds_theme_contract/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed +- [Library] update tokens 2.4.0 ([#726](https://github.com/Orange-OpenSource/ouds-flutter/issues/726)) - [Library] update tokens 1.9.0 - Component Bullet List ([#710](https://github.com/Orange-OpenSource/ouds-flutter/issues/710)) - [Library] update tokens 1.9.0 - Component Alert ([#672](https://github.com/Orange-OpenSource/ouds-flutter/issues/672)) diff --git a/ouds_theme_contract/lib/ouds_component_version.dart b/ouds_theme_contract/lib/ouds_component_version.dart index aa4068391..7a8430f4a 100644 --- a/ouds_theme_contract/lib/ouds_component_version.dart +++ b/ouds_theme_contract/lib/ouds_component_version.dart @@ -13,27 +13,27 @@ // Generated by Tokenator class OudsComponentVersion { - static const alertMessage = '1.1.0'; - static const badge = '1.2.0'; - static const badgeCount = '1.2.0'; - static const badgeIcon = '1.3.0'; - static const bar = '1.0.0'; - static const bottomSheet = '1.0.0'; - static const bulletList = '1.1.0'; - static const button = '3.2.0'; - static const checkbox = '2.4.0'; - static const divider = '1.0.0'; - static const filterChip = '1.4.0'; - static const inlineAlert = '1.0.0'; - static const inputTag = '1.2.0'; - static const link = '2.2.0'; - static const passwordInput = '1.3.0'; - static const phoneNumberInput = '1.3.0'; - static const pinCodeInput = '1.3.0'; - static const radioButton = '1.4.0'; - static const skeleton = '1.0.0'; - static const suggestionChip = '1.4.0'; - static const switchButton = '1.5.0'; - static const tag = '1.5.0'; - static const textInput = '1.4.0'; + static const alertMessage = '1.1.0'; + static const badge = '1.2.0'; + static const badgeCount = '1.2.0'; + static const badgeIcon = '1.3.0'; + static const bar = '1.0.0'; + static const bottomSheet = '1.0.0'; + static const bulletList = '1.1.0'; + static const button = '3.2.0'; + static const checkbox = '2.4.0'; + static const divider = '1.0.0'; + static const filterChip = '1.4.0'; + static const inlineAlert = '1.0.0'; + static const inputTag = '1.2.0'; + static const link = '2.2.0'; + static const passwordInput = '1.3.0'; + static const phoneNumberInput = '1.3.0'; + static const pinCodeInput = '1.3.0'; + static const radioButton = '1.4.0'; + static const skeleton = '1.0.0'; + static const suggestionChip = '1.4.0'; + static const switchButton = '1.5.0'; + static const tag = '1.5.0'; + static const textInput = '1.4.0'; } diff --git a/ouds_theme_contract/lib/theme/scheme/color/ouds_color_scheme.dart b/ouds_theme_contract/lib/theme/scheme/color/ouds_color_scheme.dart index 6a7736a3c..e6b476f74 100644 --- a/ouds_theme_contract/lib/theme/scheme/color/ouds_color_scheme.dart +++ b/ouds_theme_contract/lib/theme/scheme/color/ouds_color_scheme.dart @@ -23,10 +23,7 @@ class OudsColorScheme { final OudsColorSemanticTokens colorTokens; final bool isDarkTheme; - OudsColorScheme({ - required this.colorTokens, - required this.isDarkTheme, - }); + OudsColorScheme({required this.colorTokens, required this.isDarkTheme}); /// Creates an [OudsColorScheme] based on the current theme mode. /// @@ -41,7 +38,10 @@ class OudsColorScheme { required OudsColorSemanticTokens colorTokens, }) { final themeMode = OudsTheme.modeOf(context); - final isDark = themeMode == ThemeMode.system ? WidgetsBinding.instance.platformDispatcher.platformBrightness == Brightness.dark : themeMode == ThemeMode.dark; + final isDark = themeMode == ThemeMode.system + ? WidgetsBinding.instance.platformDispatcher.platformBrightness == + Brightness.dark + : themeMode == ThemeMode.dark; return OudsColorScheme(colorTokens: colorTokens, isDarkTheme: isDark); } @@ -50,51 +50,93 @@ class OudsColorScheme { T lightDark(T light, T dark) => isDarkTheme ? dark : light; /// Color - Action - Color get actionDisabled => isDarkTheme ? colorTokens.actionColorTokens.actionDisabledDark : colorTokens.actionColorTokens.actionDisabledLight; + Color get actionDisabled => isDarkTheme + ? colorTokens.actionColorTokens.actionDisabledDark + : colorTokens.actionColorTokens.actionDisabledLight; - Color get actionEnabled => isDarkTheme ? colorTokens.actionColorTokens.actionEnabledDark : colorTokens.actionColorTokens.actionEnabledLight; + Color get actionEnabled => isDarkTheme + ? colorTokens.actionColorTokens.actionEnabledDark + : colorTokens.actionColorTokens.actionEnabledLight; - Color get actionFocus => isDarkTheme ? colorTokens.actionColorTokens.actionFocusDark : colorTokens.actionColorTokens.actionFocusLight; + Color get actionFocus => isDarkTheme + ? colorTokens.actionColorTokens.actionFocusDark + : colorTokens.actionColorTokens.actionFocusLight; - Color get actionHighlighted => isDarkTheme ? colorTokens.actionColorTokens.actionHighlightedDark : colorTokens.actionColorTokens.actionHighlightedLight; + Color get actionHighlighted => isDarkTheme + ? colorTokens.actionColorTokens.actionHighlightedDark + : colorTokens.actionColorTokens.actionHighlightedLight; - Color get actionHover => isDarkTheme ? colorTokens.actionColorTokens.actionHoverDark : colorTokens.actionColorTokens.actionHoverLight; + Color get actionHover => isDarkTheme + ? colorTokens.actionColorTokens.actionHoverDark + : colorTokens.actionColorTokens.actionHoverLight; - Color get actionLoading => isDarkTheme ? colorTokens.actionColorTokens.actionLoadingDark : colorTokens.actionColorTokens.actionLoadingLight; + Color get actionLoading => isDarkTheme + ? colorTokens.actionColorTokens.actionLoadingDark + : colorTokens.actionColorTokens.actionLoadingLight; - Color get actionNegativeEnabled => isDarkTheme ? colorTokens.actionColorTokens.actionNegativeEnabledDark : colorTokens.actionColorTokens.actionNegativeEnabledLight; + Color get actionNegativeEnabled => isDarkTheme + ? colorTokens.actionColorTokens.actionNegativeEnabledDark + : colorTokens.actionColorTokens.actionNegativeEnabledLight; - Color get actionNegativeFocus => isDarkTheme ? colorTokens.actionColorTokens.actionNegativeFocusDark : colorTokens.actionColorTokens.actionNegativeFocusLight; + Color get actionNegativeFocus => isDarkTheme + ? colorTokens.actionColorTokens.actionNegativeFocusDark + : colorTokens.actionColorTokens.actionNegativeFocusLight; - Color get actionNegativeHover => isDarkTheme ? colorTokens.actionColorTokens.actionNegativeHoverDark : colorTokens.actionColorTokens.actionNegativeHoverLight; + Color get actionNegativeHover => isDarkTheme + ? colorTokens.actionColorTokens.actionNegativeHoverDark + : colorTokens.actionColorTokens.actionNegativeHoverLight; - Color get actionNegativeLoading => isDarkTheme ? colorTokens.actionColorTokens.actionNegativeLoadingDark : colorTokens.actionColorTokens.actionNegativeLoadingLight; + Color get actionNegativeLoading => isDarkTheme + ? colorTokens.actionColorTokens.actionNegativeLoadingDark + : colorTokens.actionColorTokens.actionNegativeLoadingLight; - Color get actionNegativePressed => isDarkTheme ? colorTokens.actionColorTokens.actionNegativePressedDark : colorTokens.actionColorTokens.actionNegativePressedLight; + Color get actionNegativePressed => isDarkTheme + ? colorTokens.actionColorTokens.actionNegativePressedDark + : colorTokens.actionColorTokens.actionNegativePressedLight; - Color get actionPressed => isDarkTheme ? colorTokens.actionColorTokens.actionPressedDark : colorTokens.actionColorTokens.actionPressedLight; + Color get actionPressed => isDarkTheme + ? colorTokens.actionColorTokens.actionPressedDark + : colorTokens.actionColorTokens.actionPressedLight; - Color get actionIosAccent => isDarkTheme ? colorTokens.actionColorTokens.actionIosAccentDark : colorTokens.actionColorTokens.actionIosAccentLight; + Color get actionSelected => isDarkTheme + ? colorTokens.actionColorTokens.actionSelectedDark + : colorTokens.actionColorTokens.actionSelectedLight; - Color get actionSelected => isDarkTheme ? colorTokens.actionColorTokens.actionSelectedDark : colorTokens.actionColorTokens.actionSelectedLight; + Color get actionSupportEnabled => isDarkTheme + ? colorTokens.actionColorTokens.actionSupportEnabledDark + : colorTokens.actionColorTokens.actionSupportEnabledLight; - Color get actionSupportEnabled => isDarkTheme ? colorTokens.actionColorTokens.actionSupportEnabledDark : colorTokens.actionColorTokens.actionSupportEnabledLight; + Color get actionSupportDisabled => isDarkTheme + ? colorTokens.actionColorTokens.actionSupportDisabledDark + : colorTokens.actionColorTokens.actionSupportDisabledLight; - Color get actionSupportDisabled => isDarkTheme ? colorTokens.actionColorTokens.actionSupportDisabledDark : colorTokens.actionColorTokens.actionSupportDisabledLight; + Color get actionSupportFocus => isDarkTheme + ? colorTokens.actionColorTokens.actionSupportFocusDark + : colorTokens.actionColorTokens.actionSupportFocusLight; - Color get actionSupportFocus => isDarkTheme ? colorTokens.actionColorTokens.actionSupportFocusDark : colorTokens.actionColorTokens.actionSupportFocusLight; + Color get actionSupportHover => isDarkTheme + ? colorTokens.actionColorTokens.actionSupportHoverDark + : colorTokens.actionColorTokens.actionSupportHoverLight; - Color get actionSupportHover => isDarkTheme ? colorTokens.actionColorTokens.actionSupportHoverDark : colorTokens.actionColorTokens.actionSupportHoverLight; + Color get actionSupportLoading => isDarkTheme + ? colorTokens.actionColorTokens.actionSupportLoadingDark + : colorTokens.actionColorTokens.actionSupportLoadingLight; - Color get actionSupportLoading => isDarkTheme ? colorTokens.actionColorTokens.actionSupportLoadingDark : colorTokens.actionColorTokens.actionSupportLoadingLight; + Color get actionSupportPressed => isDarkTheme + ? colorTokens.actionColorTokens.actionSupportPressedDark + : colorTokens.actionColorTokens.actionSupportPressedLight; - Color get actionSupportPressed => isDarkTheme ? colorTokens.actionColorTokens.actionSupportPressedDark : colorTokens.actionColorTokens.actionSupportPressedLight; + Color get actionVisited => isDarkTheme + ? colorTokens.actionColorTokens.actionVisitedDark + : colorTokens.actionColorTokens.actionVisitedLight; - Color get actionVisited => isDarkTheme ? colorTokens.actionColorTokens.actionVisitedDark : colorTokens.actionColorTokens.actionVisitedLight; + Color get actionReadOnlyPrimary => isDarkTheme + ? colorTokens.actionColorTokens.actionReadOnlyPrimaryDark + : colorTokens.actionColorTokens.actionReadOnlyPrimaryLight; - Color get actionReadOnlyPrimary => isDarkTheme ? colorTokens.actionColorTokens.actionReadOnlyPrimaryDark : colorTokens.actionColorTokens.actionReadOnlyPrimaryLight; - - Color get actionReadOnlySecondary => isDarkTheme ? colorTokens.actionColorTokens.actionReadOnlySecondaryDark : colorTokens.actionColorTokens.actionReadOnlySecondaryLight; + Color get actionReadOnlySecondary => isDarkTheme + ? colorTokens.actionColorTokens.actionReadOnlySecondaryDark + : colorTokens.actionColorTokens.actionReadOnlySecondaryLight; /// Color - Always Color get alwaysBlack => colorTokens.alwaysColorTokens.alwaysBlack; @@ -107,315 +149,545 @@ class OudsColorScheme { /// Color - Background - Color get bgInverseHigh => isDarkTheme ? colorTokens.backgroundColorTokens.bgInverseHighDark : colorTokens.backgroundColorTokens.bgInverseHighLight; + Color get bgInverseHigh => isDarkTheme + ? colorTokens.backgroundColorTokens.bgInverseHighDark + : colorTokens.backgroundColorTokens.bgInverseHighLight; - Color get bgInverseLow => isDarkTheme ? colorTokens.backgroundColorTokens.bgInverseLowDark : colorTokens.backgroundColorTokens.bgInverseLowLight; + Color get bgInverseLow => isDarkTheme + ? colorTokens.backgroundColorTokens.bgInverseLowDark + : colorTokens.backgroundColorTokens.bgInverseLowLight; - Color get bgPrimary => isDarkTheme ? colorTokens.backgroundColorTokens.bgPrimaryDark : colorTokens.backgroundColorTokens.bgPrimaryLight; + Color get bgPrimary => isDarkTheme + ? colorTokens.backgroundColorTokens.bgPrimaryDark + : colorTokens.backgroundColorTokens.bgPrimaryLight; - Color get bgSecondary => isDarkTheme ? colorTokens.backgroundColorTokens.bgSecondaryDark : colorTokens.backgroundColorTokens.bgSecondaryLight; + Color get bgSecondary => isDarkTheme + ? colorTokens.backgroundColorTokens.bgSecondaryDark + : colorTokens.backgroundColorTokens.bgSecondaryLight; - Color get bgTertiary => isDarkTheme ? colorTokens.backgroundColorTokens.bgTertiaryDark : colorTokens.backgroundColorTokens.bgTertiaryLight; + Color get bgTertiary => isDarkTheme + ? colorTokens.backgroundColorTokens.bgTertiaryDark + : colorTokens.backgroundColorTokens.bgTertiaryLight; /// Color - Border - Color get borderBrandPrimary => isDarkTheme ? colorTokens.borderColorTokens.borderBrandPrimaryDark : colorTokens.borderColorTokens.borderBrandPrimaryLight; + Color get borderBrandPrimary => isDarkTheme + ? colorTokens.borderColorTokens.borderBrandPrimaryDark + : colorTokens.borderColorTokens.borderBrandPrimaryLight; - Color get borderBrandSecondary => isDarkTheme ? colorTokens.borderColorTokens.borderBrandSecondaryDark : colorTokens.borderColorTokens.borderBrandSecondaryLight; + Color get borderBrandSecondary => isDarkTheme + ? colorTokens.borderColorTokens.borderBrandSecondaryDark + : colorTokens.borderColorTokens.borderBrandSecondaryLight; - Color get borderBrandTertiary => isDarkTheme ? colorTokens.borderColorTokens.borderBrandTertiaryDark : colorTokens.borderColorTokens.borderBrandTertiaryLight; + Color get borderBrandTertiary => isDarkTheme + ? colorTokens.borderColorTokens.borderBrandTertiaryDark + : colorTokens.borderColorTokens.borderBrandTertiaryLight; - Color get borderDefault => isDarkTheme ? colorTokens.borderColorTokens.borderDefaultDark : colorTokens.borderColorTokens.borderDefaultLight; + Color get borderDefault => isDarkTheme + ? colorTokens.borderColorTokens.borderDefaultDark + : colorTokens.borderColorTokens.borderDefaultLight; - Color get borderEmphasized => isDarkTheme ? colorTokens.borderColorTokens.borderEmphasizedDark : colorTokens.borderColorTokens.borderEmphasizedLight; + Color get borderEmphasized => isDarkTheme + ? colorTokens.borderColorTokens.borderEmphasizedDark + : colorTokens.borderColorTokens.borderEmphasizedLight; - Color get borderFocus => isDarkTheme ? colorTokens.borderColorTokens.borderFocusDark : colorTokens.borderColorTokens.borderFocusLight; + Color get borderFocus => isDarkTheme + ? colorTokens.borderColorTokens.borderFocusDark + : colorTokens.borderColorTokens.borderFocusLight; - Color get borderFocusInset => isDarkTheme ? colorTokens.borderColorTokens.borderFocusInsetDark : colorTokens.borderColorTokens.borderFocusInsetLight; + Color get borderFocusInset => isDarkTheme + ? colorTokens.borderColorTokens.borderFocusInsetDark + : colorTokens.borderColorTokens.borderFocusInsetLight; - Color get borderMuted => isDarkTheme ? colorTokens.borderColorTokens.borderMutedDark : colorTokens.borderColorTokens.borderMutedLight; + Color get borderMuted => isDarkTheme + ? colorTokens.borderColorTokens.borderMutedDark + : colorTokens.borderColorTokens.borderMutedLight; - Color get borderOnBrandPrimary => isDarkTheme ? colorTokens.borderColorTokens.borderOnBrandPrimaryDark : colorTokens.borderColorTokens.borderOnBrandPrimaryLight; + Color get borderOnBrandPrimary => isDarkTheme + ? colorTokens.borderColorTokens.borderOnBrandPrimaryDark + : colorTokens.borderColorTokens.borderOnBrandPrimaryLight; - Color get borderOnBrandSecondary => isDarkTheme ? colorTokens.borderColorTokens.borderOnBrandSecondaryDark : colorTokens.borderColorTokens.borderOnBrandSecondaryLight; + Color get borderOnBrandSecondary => isDarkTheme + ? colorTokens.borderColorTokens.borderOnBrandSecondaryDark + : colorTokens.borderColorTokens.borderOnBrandSecondaryLight; - Color get borderOnBrandTertiary => isDarkTheme ? colorTokens.borderColorTokens.borderOnBrandTertiaryDark : colorTokens.borderColorTokens.borderOnBrandTertiaryLight; + Color get borderOnBrandTertiary => isDarkTheme + ? colorTokens.borderColorTokens.borderOnBrandTertiaryDark + : colorTokens.borderColorTokens.borderOnBrandTertiaryLight; - Color get borderMinimal => isDarkTheme ? colorTokens.borderColorTokens.borderMinimalDark : colorTokens.borderColorTokens.borderMinimalLight; + Color get borderMinimal => isDarkTheme + ? colorTokens.borderColorTokens.borderMinimalDark + : colorTokens.borderColorTokens.borderMinimalLight; - Color get borderStatusAccent => isDarkTheme ? colorTokens.borderColorTokens.borderStatusAccentDark : colorTokens.borderColorTokens.borderStatusAccentLight; + Color get borderStatusAccent => isDarkTheme + ? colorTokens.borderColorTokens.borderStatusAccentDark + : colorTokens.borderColorTokens.borderStatusAccentLight; - Color get borderStatusInfo => isDarkTheme ? colorTokens.borderColorTokens.borderStatusInfoDark : colorTokens.borderColorTokens.borderStatusInfoLight; + Color get borderStatusInfo => isDarkTheme + ? colorTokens.borderColorTokens.borderStatusInfoDark + : colorTokens.borderColorTokens.borderStatusInfoLight; - Color get borderStatusNegative => isDarkTheme ? colorTokens.borderColorTokens.borderStatusNegativeDark : colorTokens.borderColorTokens.borderStatusNegativeLight; + Color get borderStatusNegative => isDarkTheme + ? colorTokens.borderColorTokens.borderStatusNegativeDark + : colorTokens.borderColorTokens.borderStatusNegativeLight; - Color get borderStatusPositive => isDarkTheme ? colorTokens.borderColorTokens.borderStatusPositiveDark : colorTokens.borderColorTokens.borderStatusPositiveLight; + Color get borderStatusPositive => isDarkTheme + ? colorTokens.borderColorTokens.borderStatusPositiveDark + : colorTokens.borderColorTokens.borderStatusPositiveLight; - Color get borderStatusWarning => isDarkTheme ? colorTokens.borderColorTokens.borderStatusWarningDark : colorTokens.borderColorTokens.borderStatusWarningLight; + Color get borderStatusWarning => isDarkTheme + ? colorTokens.borderColorTokens.borderStatusWarningDark + : colorTokens.borderColorTokens.borderStatusWarningLight; /// Color - Content - Color get contentBrandPrimary => isDarkTheme ? colorTokens.contentColorTokens.contentBrandPrimaryDark : colorTokens.contentColorTokens.contentBrandPrimaryLight; + Color get contentBrandPrimary => isDarkTheme + ? colorTokens.contentColorTokens.contentBrandPrimaryDark + : colorTokens.contentColorTokens.contentBrandPrimaryLight; - Color get contentBrandSecondary => isDarkTheme ? colorTokens.contentColorTokens.contentBrandSecondaryDark : colorTokens.contentColorTokens.contentBrandSecondaryLight; + Color get contentBrandSecondary => isDarkTheme + ? colorTokens.contentColorTokens.contentBrandSecondaryDark + : colorTokens.contentColorTokens.contentBrandSecondaryLight; - Color get contentBrandTertiary => isDarkTheme ? colorTokens.contentColorTokens.contentBrandTertiaryDark : colorTokens.contentColorTokens.contentBrandTertiaryLight; + Color get contentBrandTertiary => isDarkTheme + ? colorTokens.contentColorTokens.contentBrandTertiaryDark + : colorTokens.contentColorTokens.contentBrandTertiaryLight; - Color get contentInverse => isDarkTheme ? colorTokens.contentColorTokens.contentInverseDark : colorTokens.contentColorTokens.contentInverseLight; + Color get contentInverse => isDarkTheme + ? colorTokens.contentColorTokens.contentInverseDark + : colorTokens.contentColorTokens.contentInverseLight; - Color get contentDefault => isDarkTheme ? colorTokens.contentColorTokens.contentDefaultDark : colorTokens.contentColorTokens.contentDefaultLight; + Color get contentDefault => isDarkTheme + ? colorTokens.contentColorTokens.contentDefaultDark + : colorTokens.contentColorTokens.contentDefaultLight; - Color get contentDisabled => isDarkTheme ? colorTokens.contentColorTokens.contentDisabledDark : colorTokens.contentColorTokens.contentDisabledLight; + Color get contentDisabled => isDarkTheme + ? colorTokens.contentColorTokens.contentDisabledDark + : colorTokens.contentColorTokens.contentDisabledLight; - Color get contentMuted => isDarkTheme ? colorTokens.contentColorTokens.contentMutedDark : colorTokens.contentColorTokens.contentMutedLight; + Color get contentMuted => isDarkTheme + ? colorTokens.contentColorTokens.contentMutedDark + : colorTokens.contentColorTokens.contentMutedLight; - Color get contentOnActionDisabled => isDarkTheme ? colorTokens.contentColorTokens.contentOnActionDisabledDark : colorTokens.contentColorTokens.contentOnActionDisabledLight; + Color get contentOnActionDisabled => isDarkTheme + ? colorTokens.contentColorTokens.contentOnActionDisabledDark + : colorTokens.contentColorTokens.contentOnActionDisabledLight; - Color get contentOnActionEnabled => isDarkTheme ? colorTokens.contentColorTokens.contentOnActionEnabledDark : colorTokens.contentColorTokens.contentOnActionEnabledLight; + Color get contentOnActionEnabled => isDarkTheme + ? colorTokens.contentColorTokens.contentOnActionEnabledDark + : colorTokens.contentColorTokens.contentOnActionEnabledLight; - Color get contentOnActionFocus => isDarkTheme ? colorTokens.contentColorTokens.contentOnActionFocusDark : colorTokens.contentColorTokens.contentOnActionFocusLight; + Color get contentOnActionFocus => isDarkTheme + ? colorTokens.contentColorTokens.contentOnActionFocusDark + : colorTokens.contentColorTokens.contentOnActionFocusLight; - Color get contentOnActionHighlighted => isDarkTheme ? colorTokens.contentColorTokens.contentOnActionHighlightedDark : colorTokens.contentColorTokens.contentOnActionHighlightedLight; + Color get contentOnActionHighlighted => isDarkTheme + ? colorTokens.contentColorTokens.contentOnActionHighlightedDark + : colorTokens.contentColorTokens.contentOnActionHighlightedLight; - Color get contentOnActionHover => isDarkTheme ? colorTokens.contentColorTokens.contentOnActionHoverDark : colorTokens.contentColorTokens.contentOnActionHoverLight; + Color get contentOnActionHover => isDarkTheme + ? colorTokens.contentColorTokens.contentOnActionHoverDark + : colorTokens.contentColorTokens.contentOnActionHoverLight; - Color get contentOnActionLoading => isDarkTheme ? colorTokens.contentColorTokens.contentOnActionLoadingDark : colorTokens.contentColorTokens.contentOnActionLoadingLight; + Color get contentOnActionLoading => isDarkTheme + ? colorTokens.contentColorTokens.contentOnActionLoadingDark + : colorTokens.contentColorTokens.contentOnActionLoadingLight; - Color get contentOnActionPressed => isDarkTheme ? colorTokens.contentColorTokens.contentOnActionPressedDark : colorTokens.contentColorTokens.contentOnActionPressedLight; + Color get contentOnActionPressed => isDarkTheme + ? colorTokens.contentColorTokens.contentOnActionPressedDark + : colorTokens.contentColorTokens.contentOnActionPressedLight; - Color get contentOnActionSelected => isDarkTheme ? colorTokens.contentColorTokens.contentOnActionSelectedDark : colorTokens.contentColorTokens.contentOnActionSelectedLight; + Color get contentOnActionSelected => isDarkTheme + ? colorTokens.contentColorTokens.contentOnActionSelectedDark + : colorTokens.contentColorTokens.contentOnActionSelectedLight; - Color get contentOnBrandPrimary => isDarkTheme ? colorTokens.contentColorTokens.contentOnBrandPrimaryDark : colorTokens.contentColorTokens.contentOnBrandPrimaryLight; + Color get contentOnBrandPrimary => isDarkTheme + ? colorTokens.contentColorTokens.contentOnBrandPrimaryDark + : colorTokens.contentColorTokens.contentOnBrandPrimaryLight; - Color get contentOnBrandSecondary => isDarkTheme ? colorTokens.contentColorTokens.contentOnBrandSecondaryDark : colorTokens.contentColorTokens.contentOnBrandSecondaryLight; + Color get contentOnBrandSecondary => isDarkTheme + ? colorTokens.contentColorTokens.contentOnBrandSecondaryDark + : colorTokens.contentColorTokens.contentOnBrandSecondaryLight; - Color get contentOnBrandTertiary => isDarkTheme ? colorTokens.contentColorTokens.contentOnBrandTertiaryDark : colorTokens.contentColorTokens.contentOnBrandTertiaryLight; + Color get contentOnBrandTertiary => isDarkTheme + ? colorTokens.contentColorTokens.contentOnBrandTertiaryDark + : colorTokens.contentColorTokens.contentOnBrandTertiaryLight; - Color get contentOnStatusPositiveEmphasized => - isDarkTheme ? colorTokens.contentColorTokens.contentOnStatusPositiveEmphasizedDark : colorTokens.contentColorTokens.contentOnStatusPositiveEmphasizedLight; + Color get contentOnStatusPositiveEmphasized => isDarkTheme + ? colorTokens.contentColorTokens.contentOnStatusPositiveEmphasizedDark + : colorTokens.contentColorTokens.contentOnStatusPositiveEmphasizedLight; - Color get contentOnStatusPositiveMuted => isDarkTheme ? colorTokens.contentColorTokens.contentOnStatusPositiveMutedDark : colorTokens.contentColorTokens.contentOnStatusPositiveMutedLight; + Color get contentOnStatusPositiveMuted => isDarkTheme + ? colorTokens.contentColorTokens.contentOnStatusPositiveMutedDark + : colorTokens.contentColorTokens.contentOnStatusPositiveMutedLight; - Color get contentOnStatusWarningEmphasized => - isDarkTheme ? colorTokens.contentColorTokens.contentOnStatusWarningEmphasizedDark : colorTokens.contentColorTokens.contentOnStatusWarningEmphasizedLight; + Color get contentOnStatusWarningEmphasized => isDarkTheme + ? colorTokens.contentColorTokens.contentOnStatusWarningEmphasizedDark + : colorTokens.contentColorTokens.contentOnStatusWarningEmphasizedLight; - Color get contentOnStatusWarningMuted => isDarkTheme ? colorTokens.contentColorTokens.contentOnStatusWarningMutedDark : colorTokens.contentColorTokens.contentOnStatusWarningMutedLight; + Color get contentOnStatusWarningMuted => isDarkTheme + ? colorTokens.contentColorTokens.contentOnStatusWarningMutedDark + : colorTokens.contentColorTokens.contentOnStatusWarningMutedLight; - Color get contentOnStatusInfoEmphasized => isDarkTheme ? colorTokens.contentColorTokens.contentOnStatusInfoEmphasizedDark : colorTokens.contentColorTokens.contentOnStatusInfoEmphasizedLight; + Color get contentOnStatusInfoEmphasized => isDarkTheme + ? colorTokens.contentColorTokens.contentOnStatusInfoEmphasizedDark + : colorTokens.contentColorTokens.contentOnStatusInfoEmphasizedLight; - Color get contentOnStatusInfoMuted => isDarkTheme ? colorTokens.contentColorTokens.contentOnStatusInfoMutedDark : colorTokens.contentColorTokens.contentOnStatusInfoMutedLight; + Color get contentOnStatusInfoMuted => isDarkTheme + ? colorTokens.contentColorTokens.contentOnStatusInfoMutedDark + : colorTokens.contentColorTokens.contentOnStatusInfoMutedLight; - Color get contentOnStatusNegativeEmphasized => - isDarkTheme ? colorTokens.contentColorTokens.contentOnStatusNegativeEmphasizedDark : colorTokens.contentColorTokens.contentOnStatusNegativeEmphasizedLight; + Color get contentOnStatusNegativeEmphasized => isDarkTheme + ? colorTokens.contentColorTokens.contentOnStatusNegativeEmphasizedDark + : colorTokens.contentColorTokens.contentOnStatusNegativeEmphasizedLight; - Color get contentOnStatusNegativeMuted => isDarkTheme ? colorTokens.contentColorTokens.contentOnStatusNegativeMutedDark : colorTokens.contentColorTokens.contentOnStatusNegativeMutedLight; + Color get contentOnStatusNegativeMuted => isDarkTheme + ? colorTokens.contentColorTokens.contentOnStatusNegativeMutedDark + : colorTokens.contentColorTokens.contentOnStatusNegativeMutedLight; - Color get contentOnStatusAccentEmphasized => isDarkTheme ? colorTokens.contentColorTokens.contentOnStatusAccentEmphasizedDark : colorTokens.contentColorTokens.contentOnStatusAccentEmphasizedLight; + Color get contentOnStatusAccentEmphasized => isDarkTheme + ? colorTokens.contentColorTokens.contentOnStatusAccentEmphasizedDark + : colorTokens.contentColorTokens.contentOnStatusAccentEmphasizedLight; - Color get contentOnStatusAccentMuted => isDarkTheme ? colorTokens.contentColorTokens.contentOnStatusAccentMutedDark : colorTokens.contentColorTokens.contentOnStatusAccentMutedLight; + Color get contentOnStatusAccentMuted => isDarkTheme + ? colorTokens.contentColorTokens.contentOnStatusAccentMutedDark + : colorTokens.contentColorTokens.contentOnStatusAccentMutedLight; - Color get contentStatusAccent => isDarkTheme ? colorTokens.contentColorTokens.contentStatusAccentDark : colorTokens.contentColorTokens.contentStatusAccentLight; + Color get contentStatusAccent => isDarkTheme + ? colorTokens.contentColorTokens.contentStatusAccentDark + : colorTokens.contentColorTokens.contentStatusAccentLight; - Color get contentStatusInfo => isDarkTheme ? colorTokens.contentColorTokens.contentStatusInfoDark : colorTokens.contentColorTokens.contentStatusInfoLight; + Color get contentStatusInfo => isDarkTheme + ? colorTokens.contentColorTokens.contentStatusInfoDark + : colorTokens.contentColorTokens.contentStatusInfoLight; - Color get contentStatusNegative => isDarkTheme ? colorTokens.contentColorTokens.contentStatusNegativeDark : colorTokens.contentColorTokens.contentStatusNegativeLight; + Color get contentStatusNegative => isDarkTheme + ? colorTokens.contentColorTokens.contentStatusNegativeDark + : colorTokens.contentColorTokens.contentStatusNegativeLight; - Color get contentStatusPositive => isDarkTheme ? colorTokens.contentColorTokens.contentStatusPositiveDark : colorTokens.contentColorTokens.contentStatusPositiveLight; + Color get contentStatusPositive => isDarkTheme + ? colorTokens.contentColorTokens.contentStatusPositiveDark + : colorTokens.contentColorTokens.contentStatusPositiveLight; - Color get contentStatusWarning => isDarkTheme ? colorTokens.contentColorTokens.contentStatusWarningDark : colorTokens.contentColorTokens.contentStatusWarningLight; + Color get contentStatusWarning => isDarkTheme + ? colorTokens.contentColorTokens.contentStatusWarningDark + : colorTokens.contentColorTokens.contentStatusWarningLight; /// Color - Opacity - Color get opacityLowest => isDarkTheme ? colorTokens.opacityColorTokens.opacityLowestDark : colorTokens.opacityColorTokens.opacityLowestLight; + Color get opacityLowest => isDarkTheme + ? colorTokens.opacityColorTokens.opacityLowestDark + : colorTokens.opacityColorTokens.opacityLowestLight; - Color get opacityLower => isDarkTheme ? colorTokens.opacityColorTokens.opacityLowerDark : colorTokens.opacityColorTokens.opacityLowerLight; + Color get opacityLower => isDarkTheme + ? colorTokens.opacityColorTokens.opacityLowerDark + : colorTokens.opacityColorTokens.opacityLowerLight; - Color get opacityTransparent => isDarkTheme ? colorTokens.opacityColorTokens.opacityTransparentDark : colorTokens.opacityColorTokens.opacityTransparentLight; + Color get opacityTransparent => isDarkTheme + ? colorTokens.opacityColorTokens.opacityTransparentDark + : colorTokens.opacityColorTokens.opacityTransparentLight; /// Color - Overlay - Color get overlayDropdown => isDarkTheme ? colorTokens.overlayColorTokens.overlayDropdownDark : colorTokens.overlayColorTokens.overlayDropdownLight; + Color get overlayDropdown => isDarkTheme + ? colorTokens.overlayColorTokens.overlayDropdownDark + : colorTokens.overlayColorTokens.overlayDropdownLight; - Color get overlayTooltip => isDarkTheme ? colorTokens.overlayColorTokens.overlayTooltipDark : colorTokens.overlayColorTokens.overlayTooltipLight; + Color get overlayTooltip => isDarkTheme + ? colorTokens.overlayColorTokens.overlayTooltipDark + : colorTokens.overlayColorTokens.overlayTooltipLight; - Color get overlayDrag => isDarkTheme ? colorTokens.overlayColorTokens.overlayDragDark : colorTokens.overlayColorTokens.overlayDragLight; + Color get overlayDrag => isDarkTheme + ? colorTokens.overlayColorTokens.overlayDragDark + : colorTokens.overlayColorTokens.overlayDragLight; - Color get overlayModal => isDarkTheme ? colorTokens.overlayColorTokens.overlayModalDark : colorTokens.overlayColorTokens.overlayModalLight; + Color get overlayModal => isDarkTheme + ? colorTokens.overlayColorTokens.overlayModalSheetDark + : colorTokens.overlayColorTokens.overlayModalSheetLight; /// Color - Repository - Color get repositoryAccentMedium => colorTokens.repositoryColorTokens.repositoryAccentMedium; + Color get repositoryAccentMedium => + colorTokens.repositoryColorTokens.repositoryAccentMedium; + + Color get repositoryAccentHighest => + colorTokens.repositoryColorTokens.repositoryAccentHighest; - Color get repositoryAccentHighest => colorTokens.repositoryColorTokens.repositoryAccentHighest; + Color get repositoryAccentLow => + colorTokens.repositoryColorTokens.repositoryAccentLow; - Color get repositoryAccentLow => colorTokens.repositoryColorTokens.repositoryAccentLow; + Color get repositoryAccentLowest => + colorTokens.repositoryColorTokens.repositoryAccentLowest; - Color get repositoryAccentLowest => colorTokens.repositoryColorTokens.repositoryAccentLowest; + Color get repositoryInfoMedium => + colorTokens.repositoryColorTokens.repositoryInfoMedium; - Color get repositoryInfoMedium => colorTokens.repositoryColorTokens.repositoryInfoMedium; + Color get repositoryInfoHigh => + colorTokens.repositoryColorTokens.repositoryInfoHigh; - Color get repositoryInfoHigh => colorTokens.repositoryColorTokens.repositoryInfoHigh; + Color get repositoryInfoHighest => + colorTokens.repositoryColorTokens.repositoryInfoHighest; - Color get repositoryInfoHighest => colorTokens.repositoryColorTokens.repositoryInfoHighest; + Color get repositoryInfoLow => + colorTokens.repositoryColorTokens.repositoryInfoLow; - Color get repositoryInfoLow => colorTokens.repositoryColorTokens.repositoryInfoLow; + Color get repositoryInfoLowest => + colorTokens.repositoryColorTokens.repositoryInfoLowest; - Color get repositoryInfoLowest => colorTokens.repositoryColorTokens.repositoryInfoLowest; + Color get repositoryNegativeMedium => + colorTokens.repositoryColorTokens.repositoryNegativeMedium; - Color get repositoryNegativeMedium => colorTokens.repositoryColorTokens.repositoryNegativeMedium; + Color get repositoryNegativeHigh => + colorTokens.repositoryColorTokens.repositoryNegativeHigh; - Color get repositoryNegativeHigh => colorTokens.repositoryColorTokens.repositoryNegativeHigh; + Color get repositoryNegativeHigher => + colorTokens.repositoryColorTokens.repositoryNegativeHigher; - Color get repositoryNegativeHigher => colorTokens.repositoryColorTokens.repositoryNegativeHigher; + Color get repositoryNegativeHighest => + colorTokens.repositoryColorTokens.repositoryNegativeHighest; - Color get repositoryNegativeHighest => colorTokens.repositoryColorTokens.repositoryNegativeHighest; + Color get repositoryNegativeLow => + colorTokens.repositoryColorTokens.repositoryNegativeLow; - Color get repositoryNegativeLow => colorTokens.repositoryColorTokens.repositoryNegativeLow; + Color get repositoryNegativeLower => + colorTokens.repositoryColorTokens.repositoryNegativeLower; - Color get repositoryNegativeLower => colorTokens.repositoryColorTokens.repositoryNegativeLower; + Color get repositoryNegativeLowest => + colorTokens.repositoryColorTokens.repositoryNegativeLowest; - Color get repositoryNegativeLowest => colorTokens.repositoryColorTokens.repositoryNegativeLowest; + Color get repositoryNeutralEmphasizedBlack => + colorTokens.repositoryColorTokens.repositoryNeutralEmphasizedBlack; - Color get repositoryNeutralEmphasizedBlack => colorTokens.repositoryColorTokens.repositoryNeutralEmphasizedBlack; + Color get repositoryNeutralEmphasizedHigh => + colorTokens.repositoryColorTokens.repositoryNeutralEmphasizedHigh; - Color get repositoryNeutralEmphasizedHigh => colorTokens.repositoryColorTokens.repositoryNeutralEmphasizedHigh; + Color get repositoryNeutralEmphasizedHigher => + colorTokens.repositoryColorTokens.repositoryNeutralEmphasizedHigher; - Color get repositoryNeutralEmphasizedHigher => colorTokens.repositoryColorTokens.repositoryNeutralEmphasizedHigher; + Color get repositoryNeutralEmphasizedHighest => + colorTokens.repositoryColorTokens.repositoryNeutralEmphasizedHighest; - Color get repositoryNeutralEmphasizedHighest => colorTokens.repositoryColorTokens.repositoryNeutralEmphasizedHighest; + Color get repositoryNeutralEmphasizedMedium => + colorTokens.repositoryColorTokens.repositoryNeutralEmphasizedMedium; - Color get repositoryNeutralEmphasizedMedium => colorTokens.repositoryColorTokens.repositoryNeutralEmphasizedMedium; + Color get repositoryNeutralMutedLower => + colorTokens.repositoryColorTokens.repositoryNeutralMutedLower; - Color get repositoryNeutralMutedLower => colorTokens.repositoryColorTokens.repositoryNeutralMutedLower; + Color get repositoryNeutralMutedLowest => + colorTokens.repositoryColorTokens.repositoryNeutralMutedLowest; - Color get repositoryNeutralMutedLowest => colorTokens.repositoryColorTokens.repositoryNeutralMutedLowest; + Color get repositoryNeutralMutedWhite => + colorTokens.repositoryColorTokens.repositoryNeutralMutedWhite; - Color get repositoryNeutralMutedWhite => colorTokens.repositoryColorTokens.repositoryNeutralMutedWhite; + Color get repositoryOpacityBlackHigh => + colorTokens.repositoryColorTokens.repositoryOpacityBlackHigh; - Color get repositoryOpacityBlackHigh => colorTokens.repositoryColorTokens.repositoryOpacityBlackHigh; + Color get repositoryOpacityBlackHigher => + colorTokens.repositoryColorTokens.repositoryOpacityBlackHigher; - Color get repositoryOpacityBlackHigher => colorTokens.repositoryColorTokens.repositoryOpacityBlackHigher; + Color get repositoryOpacityBlackHighest => + colorTokens.repositoryColorTokens.repositoryOpacityBlackHighest; - Color get repositoryOpacityBlackHighest => colorTokens.repositoryColorTokens.repositoryOpacityBlackHighest; + Color get repositoryOpacityBlackLow => + colorTokens.repositoryColorTokens.repositoryOpacityBlackLow; - Color get repositoryOpacityBlackLow => colorTokens.repositoryColorTokens.repositoryOpacityBlackLow; + Color get repositoryOpacityBlackLower => + colorTokens.repositoryColorTokens.repositoryOpacityBlackLower; - Color get repositoryOpacityBlackLower => colorTokens.repositoryColorTokens.repositoryOpacityBlackLower; + Color get repositoryOpacityBlackLowest => + colorTokens.repositoryColorTokens.repositoryOpacityBlackLowest; - Color get repositoryOpacityBlackLowest => colorTokens.repositoryColorTokens.repositoryOpacityBlackLowest; + Color get repositoryOpacityBlackMedium => + colorTokens.repositoryColorTokens.repositoryOpacityBlackMedium; - Color get repositoryOpacityBlackMedium => colorTokens.repositoryColorTokens.repositoryOpacityBlackMedium; + Color get repositoryOpacityBlackMediumLow => + colorTokens.repositoryColorTokens.repositoryOpacityBlackMediumLow; - Color get repositoryOpacityBlackMediumLow => colorTokens.repositoryColorTokens.repositoryOpacityBlackMediumLow; + Color get repositoryOpacityBlackMediumHigh => + colorTokens.repositoryColorTokens.repositoryOpacityBlackMediumHigh; - Color get repositoryOpacityBlackMediumHigh => colorTokens.repositoryColorTokens.repositoryOpacityBlackMediumHigh; + Color get repositoryOpacityBlackTransparent => + colorTokens.repositoryColorTokens.repositoryOpacityBlackTransparent; - Color get repositoryOpacityBlackTransparent => colorTokens.repositoryColorTokens.repositoryOpacityBlackTransparent; + Color get repositoryOpacityWhiteHigh => + colorTokens.repositoryColorTokens.repositoryOpacityWhiteHigh; - Color get repositoryOpacityWhiteHigh => colorTokens.repositoryColorTokens.repositoryOpacityWhiteHigh; + Color get repositoryOpacityWhiteHigher => + colorTokens.repositoryColorTokens.repositoryOpacityWhiteHigher; - Color get repositoryOpacityWhiteHigher => colorTokens.repositoryColorTokens.repositoryOpacityWhiteHigher; + Color get repositoryOpacityWhiteHighest => + colorTokens.repositoryColorTokens.repositoryOpacityWhiteHighest; - Color get repositoryOpacityWhiteHighest => colorTokens.repositoryColorTokens.repositoryOpacityWhiteHighest; + Color get repositoryOpacityWhiteMedium => + colorTokens.repositoryColorTokens.repositoryOpacityWhiteMedium; - Color get repositoryOpacityWhiteMedium => colorTokens.repositoryColorTokens.repositoryOpacityWhiteMedium; + Color get repositoryOpacityWhiteMediumLow => + colorTokens.repositoryColorTokens.repositoryOpacityWhiteMediumLow; - Color get repositoryOpacityWhiteMediumLow => colorTokens.repositoryColorTokens.repositoryOpacityWhiteMediumLow; + Color get repositoryOpacityWhiteLow => + colorTokens.repositoryColorTokens.repositoryOpacityWhiteLow; - Color get repositoryOpacityWhiteLow => colorTokens.repositoryColorTokens.repositoryOpacityWhiteLow; + Color get repositoryOpacityWhiteLower => + colorTokens.repositoryColorTokens.repositoryOpacityWhiteLower; - Color get repositoryOpacityWhiteLower => colorTokens.repositoryColorTokens.repositoryOpacityWhiteLower; + Color get repositoryOpacityWhiteLowest => + colorTokens.repositoryColorTokens.repositoryOpacityWhiteLowest; - Color get repositoryOpacityWhiteLowest => colorTokens.repositoryColorTokens.repositoryOpacityWhiteLowest; + Color get repositoryOpacityWhiteTransparent => + colorTokens.repositoryColorTokens.repositoryOpacityWhiteTransparent; - Color get repositoryOpacityWhiteTransparent => colorTokens.repositoryColorTokens.repositoryOpacityWhiteTransparent; + Color get repositoryOpacityPrimaryHigh => + colorTokens.repositoryColorTokens.repositoryOpacityPrimaryHigh; - Color get repositoryOpacityPrimaryHigh => colorTokens.repositoryColorTokens.repositoryOpacityPrimaryHigh; + Color get repositoryOpacityPrimaryHigher => + colorTokens.repositoryColorTokens.repositoryOpacityPrimaryHigher; - Color get repositoryOpacityPrimaryHigher => colorTokens.repositoryColorTokens.repositoryOpacityPrimaryHigher; + Color get repositoryOpacityPrimaryLowest => + colorTokens.repositoryColorTokens.repositoryOpacityPrimaryLowest; - Color get repositoryOpacityPrimaryLowest => colorTokens.repositoryColorTokens.repositoryOpacityPrimaryLowest; + Color get repositoryOpacityPrimaryLower => + colorTokens.repositoryColorTokens.repositoryOpacityPrimaryLower; - Color get repositoryOpacityPrimaryLower => colorTokens.repositoryColorTokens.repositoryOpacityPrimaryLower; + Color get repositoryOpacityPrimaryLow => + colorTokens.repositoryColorTokens.repositoryOpacityPrimaryLow; - Color get repositoryOpacityPrimaryLow => colorTokens.repositoryColorTokens.repositoryOpacityPrimaryLow; + Color get repositoryOpacityPrimaryMedium => + colorTokens.repositoryColorTokens.repositoryOpacityPrimaryMedium; - Color get repositoryOpacityPrimaryMedium => colorTokens.repositoryColorTokens.repositoryOpacityPrimaryMedium; + Color get repositoryPositiveMedium => + colorTokens.repositoryColorTokens.repositoryPositiveMedium; - Color get repositoryPositiveMedium => colorTokens.repositoryColorTokens.repositoryPositiveMedium; + Color get repositoryPositiveHigh => + colorTokens.repositoryColorTokens.repositoryPositiveHigh; - Color get repositoryPositiveHigh => colorTokens.repositoryColorTokens.repositoryPositiveHigh; + Color get repositoryPositiveHigher => + colorTokens.repositoryColorTokens.repositoryPositiveHigher; - Color get repositoryPositiveHigher => colorTokens.repositoryColorTokens.repositoryPositiveHigher; + Color get repositoryPositiveHighest => + colorTokens.repositoryColorTokens.repositoryPositiveHighest; - Color get repositoryPositiveHighest => colorTokens.repositoryColorTokens.repositoryPositiveHighest; + Color get repositoryPositiveLow => + colorTokens.repositoryColorTokens.repositoryPositiveLow; - Color get repositoryPositiveLow => colorTokens.repositoryColorTokens.repositoryPositiveLow; + Color get repositoryPositiveLowest => + colorTokens.repositoryColorTokens.repositoryPositiveLowest; - Color get repositoryPositiveLowest => colorTokens.repositoryColorTokens.repositoryPositiveLowest; + Color get repositoryPrimaryMedium => + colorTokens.repositoryColorTokens.repositoryPrimaryMedium; - Color get repositoryPrimaryMedium => colorTokens.repositoryColorTokens.repositoryPrimaryMedium; + Color get repositoryPrimaryLow => + colorTokens.repositoryColorTokens.repositoryPrimaryLow; - Color get repositoryPrimaryLow => colorTokens.repositoryColorTokens.repositoryPrimaryLow; + Color get repositoryPrimaryLower => + colorTokens.repositoryColorTokens.repositoryPrimaryLower; - Color get repositoryPrimaryLower => colorTokens.repositoryColorTokens.repositoryPrimaryLower; + Color get repositoryPrimaryHigh => + colorTokens.repositoryColorTokens.repositoryPrimaryHigh; - Color get repositoryPrimaryHigh => colorTokens.repositoryColorTokens.repositoryPrimaryHigh; + Color get repositorySecondaryLow => + colorTokens.repositoryColorTokens.repositorySecondaryLow; - Color get repositorySecondaryLow => colorTokens.repositoryColorTokens.repositorySecondaryLow; + Color get repositorySecondaryLower => + colorTokens.repositoryColorTokens.repositorySecondaryLower; - Color get repositorySecondaryLower => colorTokens.repositoryColorTokens.repositorySecondaryLower; + Color get repositorySecondaryLowest => + colorTokens.repositoryColorTokens.repositorySecondaryLowest; - Color get repositorySecondaryLowest => colorTokens.repositoryColorTokens.repositorySecondaryLowest; + Color get repositorySecondaryHigh => + colorTokens.repositoryColorTokens.repositorySecondaryHigh; - Color get repositorySecondaryHigh => colorTokens.repositoryColorTokens.repositorySecondaryHigh; + Color get repositorySecondaryHigherHigh => + colorTokens.repositoryColorTokens.repositorySecondaryHigherHigh; - Color get repositorySecondaryHigher => colorTokens.repositoryColorTokens.repositorySecondaryHigher; + Color get repositorySecondaryHigherLow => + colorTokens.repositoryColorTokens.repositorySecondaryHigherLow; - Color get repositorySecondaryMedium => colorTokens.repositoryColorTokens.repositorySecondaryMedium; + Color get repositorySecondaryMedium => + colorTokens.repositoryColorTokens.repositorySecondaryMedium; - Color get repositoryWarningMedium => colorTokens.repositoryColorTokens.repositoryWarningMedium; + Color get repositoryWarningMedium => + colorTokens.repositoryColorTokens.repositoryWarningMedium; - Color get repositoryWarningHigh => colorTokens.repositoryColorTokens.repositoryWarningHigh; + Color get repositoryWarningHigh => + colorTokens.repositoryColorTokens.repositoryWarningHigh; - Color get repositoryWarningHighest => colorTokens.repositoryColorTokens.repositoryWarningHighest; + Color get repositoryWarningHighest => + colorTokens.repositoryColorTokens.repositoryWarningHighest; - Color get repositoryWarningLow => colorTokens.repositoryColorTokens.repositoryWarningLow; + Color get repositoryWarningLow => + colorTokens.repositoryColorTokens.repositoryWarningLow; - Color get repositoryWarningLowest => colorTokens.repositoryColorTokens.repositoryWarningLowest; + Color get repositoryWarningLowest => + colorTokens.repositoryColorTokens.repositoryWarningLowest; /// Color - Surface - Color get surfaceBrandPrimary => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceBrandPrimaryDark : colorTokens.surfaceColorTokens.surfaceBrandPrimaryLight; + Color get surfaceBrandPrimary => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceBrandPrimaryDark + : colorTokens.surfaceColorTokens.surfaceBrandPrimaryLight; - Color get surfaceBrandSecondary => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceBrandSecondaryDark : colorTokens.surfaceColorTokens.surfaceBrandSecondaryLight; + Color get surfaceBrandSecondary => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceBrandSecondaryDark + : colorTokens.surfaceColorTokens.surfaceBrandSecondaryLight; - Color get surfaceBrandTertiary => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceBrandTertiaryDark : colorTokens.surfaceColorTokens.surfaceBrandTertiaryLight; + Color get surfaceBrandTertiary => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceBrandTertiaryDark + : colorTokens.surfaceColorTokens.surfaceBrandTertiaryLight; - Color get surfaceInverseHigh => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceInverseHighDark : colorTokens.surfaceColorTokens.surfaceInverseHighLight; + Color get surfaceInverseHigh => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceInverseHighDark + : colorTokens.surfaceColorTokens.surfaceInverseHighLight; - Color get surfaceInverseLow => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceInverseLowDark : colorTokens.surfaceColorTokens.surfaceInverseLowLight; + Color get surfaceInverseLow => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceInverseLowDark + : colorTokens.surfaceColorTokens.surfaceInverseLowLight; - Color get surfacePrimary => isDarkTheme ? colorTokens.surfaceColorTokens.surfacePrimaryDark : colorTokens.surfaceColorTokens.surfacePrimaryLight; + Color get surfacePrimary => isDarkTheme + ? colorTokens.surfaceColorTokens.surfacePrimaryDark + : colorTokens.surfaceColorTokens.surfacePrimaryLight; - Color get surfaceSecondary => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceSecondaryDark : colorTokens.surfaceColorTokens.surfaceSecondaryLight; + Color get surfaceSecondary => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceSecondaryDark + : colorTokens.surfaceColorTokens.surfaceSecondaryLight; - Color get surfaceTertiary => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceTertiaryDark : colorTokens.surfaceColorTokens.surfaceTertiaryLight; + Color get surfaceTertiary => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceTertiaryDark + : colorTokens.surfaceColorTokens.surfaceTertiaryLight; - Color get surfaceStatusAccentEmphasized => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceStatusAccentEmphasizedDark : colorTokens.surfaceColorTokens.surfaceStatusAccentEmphasizedLight; + Color get surfaceStatusAccentEmphasized => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceStatusAccentEmphasizedDark + : colorTokens.surfaceColorTokens.surfaceStatusAccentEmphasizedLight; - Color get surfaceStatusAccentMuted => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceStatusAccentMutedDark : colorTokens.surfaceColorTokens.surfaceStatusAccentMutedLight; + Color get surfaceStatusAccentMuted => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceStatusAccentMutedDark + : colorTokens.surfaceColorTokens.surfaceStatusAccentMutedLight; - Color get surfaceStatusInfoEmphasized => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceStatusInfoEmphasizedDark : colorTokens.surfaceColorTokens.surfaceStatusInfoEmphasizedLight; + Color get surfaceStatusInfoEmphasized => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceStatusInfoEmphasizedDark + : colorTokens.surfaceColorTokens.surfaceStatusInfoEmphasizedLight; - Color get surfaceStatusInfoMuted => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceStatusInfoMutedDark : colorTokens.surfaceColorTokens.surfaceStatusInfoMutedLight; + Color get surfaceStatusInfoMuted => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceStatusInfoMutedDark + : colorTokens.surfaceColorTokens.surfaceStatusInfoMutedLight; - Color get surfaceStatusNegativeEmphasized => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceStatusNegativeEmphasizedDark : colorTokens.surfaceColorTokens.surfaceStatusNegativeEmphasizedLight; + Color get surfaceStatusNegativeEmphasized => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceStatusNegativeEmphasizedDark + : colorTokens.surfaceColorTokens.surfaceStatusNegativeEmphasizedLight; - Color get surfaceStatusNegativeMuted => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceStatusNegativeMutedDark : colorTokens.surfaceColorTokens.surfaceStatusNegativeMutedLight; + Color get surfaceStatusNegativeMuted => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceStatusNegativeMutedDark + : colorTokens.surfaceColorTokens.surfaceStatusNegativeMutedLight; - Color get surfaceStatusPositiveEmphasized => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceStatusPositiveEmphasizedDark : colorTokens.surfaceColorTokens.surfaceStatusPositiveEmphasizedLight; + Color get surfaceStatusPositiveEmphasized => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceStatusPositiveEmphasizedDark + : colorTokens.surfaceColorTokens.surfaceStatusPositiveEmphasizedLight; - Color get surfaceStatusPositiveMuted => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceStatusPositiveMutedDark : colorTokens.surfaceColorTokens.surfaceStatusPositiveMutedLight; + Color get surfaceStatusPositiveMuted => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceStatusPositiveMutedDark + : colorTokens.surfaceColorTokens.surfaceStatusPositiveMutedLight; - Color get surfaceStatusWarningEmphasized => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceStatusWarningEmphasizedDark : colorTokens.surfaceColorTokens.surfaceStatusWarningEmphasizedLight; + Color get surfaceStatusWarningEmphasized => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceStatusWarningEmphasizedDark + : colorTokens.surfaceColorTokens.surfaceStatusWarningEmphasizedLight; - Color get surfaceStatusWarningMuted => isDarkTheme ? colorTokens.surfaceColorTokens.surfaceStatusWarningMutedDark : colorTokens.surfaceColorTokens.surfaceStatusWarningMutedLight; + Color get surfaceStatusWarningMuted => isDarkTheme + ? colorTokens.surfaceColorTokens.surfaceStatusWarningMutedDark + : colorTokens.surfaceColorTokens.surfaceStatusWarningMutedLight; } diff --git a/ouds_theme_contract/lib/theme/scheme/responsive/ouds_size_scheme.dart b/ouds_theme_contract/lib/theme/scheme/responsive/ouds_size_scheme.dart index 9c7840c23..e4bf12c7b 100644 --- a/ouds_theme_contract/lib/theme/scheme/responsive/ouds_size_scheme.dart +++ b/ouds_theme_contract/lib/theme/scheme/responsive/ouds_size_scheme.dart @@ -38,28 +38,28 @@ class OudsSizeScheme { required OudsSizeSemanticTokens sizeTokens, }) { final sizeClass = OudsWindowSizeClassUtil.of(context); - return OudsSizeScheme._( - sizeTokens: sizeTokens, - sizeClass: sizeClass, - ); + return OudsSizeScheme._(sizeTokens: sizeTokens, sizeClass: sizeClass); } /// Responsive `size` tokens (mobile/tablet) /// IconWithBodySmall - double get iconWithBodySmallSizeSmall => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithBodySmallSizeSmall => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithBodySmallSizeSmallMobile, tablet: sizeTokens.iconWithBodySmallSizeSmallTablet, ); - double get iconWithBodySmallSizeMedium => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithBodySmallSizeMedium => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithBodySmallSizeMediumMobile, tablet: sizeTokens.iconWithBodySmallSizeMediumTablet, ); - double get iconWithBodySmallSizeLarge => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithBodySmallSizeLarge => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithBodySmallSizeLargeMobile, tablet: sizeTokens.iconWithBodySmallSizeLargeTablet, @@ -67,19 +67,22 @@ class OudsSizeScheme { /// IconWithBodyMedium - double get iconWithBodyMediumSizeSmall => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithBodyMediumSizeSmall => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithBodyMediumSizeSmallMobile, tablet: sizeTokens.iconWithBodyMediumSizeSmallTablet, ); - double get iconWithBodyMediumSizeMedium => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithBodyMediumSizeMedium => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithBodyMediumSizeMediumMobile, tablet: sizeTokens.iconWithBodyMediumSizeMediumTablet, ); - double get iconWithBodyMediumSizeLarge => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithBodyMediumSizeLarge => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithBodyMediumSizeLargeMobile, tablet: sizeTokens.iconWithBodyMediumSizeLargeTablet, @@ -87,162 +90,180 @@ class OudsSizeScheme { /// IconWithBodyLarge - double get iconWithBodyLargeSizeSmall => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithBodyLargeSizeSmall => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithBodyLargeSizeSmallMobile, tablet: sizeTokens.iconWithBodyLargeSizeSmallTablet, ); - double get iconWithBodyLargeSizeMedium => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithBodyLargeSizeMedium => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithBodyLargeSizeMediumMobile, tablet: sizeTokens.iconWithBodyLargeSizeMediumTablet, ); - double get iconWithBodyLargeSizeLarge => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithBodyLargeSizeLarge => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithBodyLargeSizeLargeMobile, tablet: sizeTokens.iconWithBodyLargeSizeLargeTablet, ); /// IconWithHeadingSmall - double get iconWithHeadingSmallSizeSmall => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingSmallSizeSmall => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingSmallSizeSmallMobile, tablet: sizeTokens.iconWithHeadingSmallSizeSmallTablet, ); - double get iconWithHeadingSmallSizeMedium => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingSmallSizeMedium => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingSmallSizeMediumMobile, tablet: sizeTokens.iconWithHeadingSmallSizeMediumTablet, ); - double get iconWithHeadingSmallSizeLarge => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingSmallSizeLarge => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingSmallSizeLargeMobile, tablet: sizeTokens.iconWithHeadingSmallSizeLargeTablet, ); /// IconWithHeadingMedium - double get iconWithHeadingMediumSizeSmall => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingMediumSizeSmall => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingMediumSizeSmallMobile, tablet: sizeTokens.iconWithHeadingMediumSizeSmallTablet, ); - double get iconWithHeadingMediumSizeMedium => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingMediumSizeMedium => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingMediumSizeMediumMobile, tablet: sizeTokens.iconWithHeadingMediumSizeMediumTablet, ); - double get iconWithHeadingMediumSizeLarge => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingMediumSizeLarge => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingMediumSizeLargeMobile, tablet: sizeTokens.iconWithHeadingMediumSizeLargeTablet, ); /// IconWithHeadingLarge - double get iconWithHeadingLargeSizeSmall => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingLargeSizeSmall => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingLargeSizeSmallMobile, tablet: sizeTokens.iconWithHeadingLargeSizeSmallTablet, ); - double get iconWithHeadingLargeSizeMedium => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingLargeSizeMedium => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingLargeSizeMediumMobile, tablet: sizeTokens.iconWithHeadingLargeSizeMediumTablet, ); - double get iconWithHeadingLargeSizeLarge => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingLargeSizeLarge => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingLargeSizeLargeMobile, tablet: sizeTokens.iconWithHeadingLargeSizeLargeTablet, ); /// IconWithHeadingExtraLarge - double get iconWithHeadingExtraLargeSizeSmall => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingExtraLargeSizeSmall => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingXlargeSizeSmallMobile, tablet: sizeTokens.iconWithHeadingXlargeSizeSmallTablet, ); - double get iconWithHeadingExtraLargeSizeMedium => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingExtraLargeSizeMedium => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingXlargeSizeMediumMobile, tablet: sizeTokens.iconWithHeadingXlargeSizeMediumTablet, ); - double get iconWithHeadingExtraLargeSizeLarge => OudsWindowSizeClassUtil.selectMobileTablet( + double get iconWithHeadingExtraLargeSizeLarge => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, mobile: sizeTokens.iconWithHeadingXlargeSizeLargeMobile, tablet: sizeTokens.iconWithHeadingXlargeSizeLargeTablet, ); - /// MaxWidthTypeDisplay - double get maxWidthTypeDisplaySmall => OudsWindowSizeClassUtil.selectMobileTablet( - sizeClass: sizeClass, - mobile: sizeTokens.maxWidthTypeDisplaySmallMobile, - tablet: sizeTokens.maxWidthTypeDisplaySmallTablet, - ); - - double get maxWidthTypeDisplayMedium => OudsWindowSizeClassUtil.selectMobileTablet( - sizeClass: sizeClass, - mobile: sizeTokens.maxWidthTypeDisplayMediumMobile, - tablet: sizeTokens.maxWidthTypeDisplayMediumTablet, - ); - - double get maxWidthTypeDisplayLarge => OudsWindowSizeClassUtil.selectMobileTablet( - sizeClass: sizeClass, - mobile: sizeTokens.maxWidthTypeDisplayLargeMobile, - tablet: sizeTokens.maxWidthTypeDisplayLargeTablet, - ); - - /// MaxWidthTypeHeading - double get maxWidthTypeHeadingSmall => OudsWindowSizeClassUtil.selectMobileTablet( - sizeClass: sizeClass, - mobile: sizeTokens.maxWidthTypeHeadingSmallMobile, - tablet: sizeTokens.maxWidthTypeHeadingSmallTablet, - ); + /// MaxWidthDisplay + double get maxWidthDisplaySmall => OudsWindowSizeClassUtil.selectMobileTablet( + sizeClass: sizeClass, + mobile: sizeTokens.maxWidthDisplaySmallMobile, + tablet: sizeTokens.maxWidthDisplaySmallTablet, + ); - double get maxWidthTypeHeadingMedium => OudsWindowSizeClassUtil.selectMobileTablet( + double get maxWidthDisplayMedium => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, - mobile: sizeTokens.maxWidthTypeHeadingMediumMobile, - tablet: sizeTokens.maxWidthTypeHeadingMediumTablet, + mobile: sizeTokens.maxWidthDisplayMediumMobile, + tablet: sizeTokens.maxWidthDisplayMediumTablet, ); - double get maxWidthTypeHeadingLarge => OudsWindowSizeClassUtil.selectMobileTablet( + double get maxWidthDisplayLarge => OudsWindowSizeClassUtil.selectMobileTablet( + sizeClass: sizeClass, + mobile: sizeTokens.maxWidthDisplayLargeMobile, + tablet: sizeTokens.maxWidthDisplayLargeTablet, + ); + + /// MaxWidthHeading + double get maxWidthHeadingSmall => OudsWindowSizeClassUtil.selectMobileTablet( + sizeClass: sizeClass, + mobile: sizeTokens.maxWidthHeadingSmallMobile, + tablet: sizeTokens.maxWidthHeadingSmallTablet, + ); + + double get maxWidthHeadingMedium => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, - mobile: sizeTokens.maxWidthTypeHeadingLargeMobile, - tablet: sizeTokens.maxWidthTypeHeadingLargeTablet, + mobile: sizeTokens.maxWidthHeadingMediumMobile, + tablet: sizeTokens.maxWidthHeadingMediumTablet, ); - double get maxWidthTypeHeadingExtraLarge => OudsWindowSizeClassUtil.selectMobileTablet( - sizeClass: sizeClass, - mobile: sizeTokens.maxWidthTypeHeadingXlargeMobile, - tablet: sizeTokens.maxWidthTypeHeadingXlargeTablet, - ); + double get maxWidthHeadingLarge => OudsWindowSizeClassUtil.selectMobileTablet( + sizeClass: sizeClass, + mobile: sizeTokens.maxWidthHeadingLargeMobile, + tablet: sizeTokens.maxWidthHeadingLargeTablet, + ); - /// MaxWidthTypeBody - double get maxWidthTypeBodySmall => OudsWindowSizeClassUtil.selectMobileTablet( + double get maxWidthHeadingExtraLarge => + OudsWindowSizeClassUtil.selectMobileTablet( sizeClass: sizeClass, - mobile: sizeTokens.maxWidthTypeBodySmallMobile, - tablet: sizeTokens.maxWidthTypeBodySmallTablet, + mobile: sizeTokens.maxWidthHeadingXlargeMobile, + tablet: sizeTokens.maxWidthHeadingXlargeTablet, ); - double get maxWidthTypeBodyMedium => OudsWindowSizeClassUtil.selectMobileTablet( - sizeClass: sizeClass, - mobile: sizeTokens.maxWidthTypeBodyMediumMobile, - tablet: sizeTokens.maxWidthTypeBodyMediumTablet, - ); - - double get maxWidthTypeBodyLarge => OudsWindowSizeClassUtil.selectMobileTablet( - sizeClass: sizeClass, - mobile: sizeTokens.maxWidthTypeBodyLargeMobile, - tablet: sizeTokens.maxWidthTypeBodyLargeTablet, - ); + /// MaxWidthBody + double get maxWidthBodySmall => OudsWindowSizeClassUtil.selectMobileTablet( + sizeClass: sizeClass, + mobile: sizeTokens.maxWidthBodySmallMobile, + tablet: sizeTokens.maxWidthBodySmallTablet, + ); + + double get maxWidthBodyMedium => OudsWindowSizeClassUtil.selectMobileTablet( + sizeClass: sizeClass, + mobile: sizeTokens.maxWidthBodyMediumMobile, + tablet: sizeTokens.maxWidthBodyMediumTablet, + ); + + double get maxWidthBodyLarge => OudsWindowSizeClassUtil.selectMobileTablet( + sizeClass: sizeClass, + mobile: sizeTokens.maxWidthBodyLargeMobile, + tablet: sizeTokens.maxWidthBodyLargeTablet, + ); /// Non-responsive tokens (direct mapping) @@ -256,26 +277,42 @@ class OudsSizeScheme { double get iconDecorativeExtraExtraLarge => sizeTokens.iconDecorative2xlarge; /// iconWithLabelSmall - double get iconWithLabelSmallSizeExtraSmall => sizeTokens.iconWithLabelSmallSizeXsmall; - double get iconWithLabelSmallSizeSmall => sizeTokens.iconWithLabelSmallSizeSmall; - double get iconWithLabelSmallSizeMedium => sizeTokens.iconWithLabelSmallSizeMedium; - double get iconWithLabelSmallSizeLarge => sizeTokens.iconWithLabelSmallSizeLarge; + double get iconWithLabelSmallSizeExtraSmall => + sizeTokens.iconWithLabelSmallSizeXsmall; + double get iconWithLabelSmallSizeSmall => + sizeTokens.iconWithLabelSmallSizeSmall; + double get iconWithLabelSmallSizeMedium => + sizeTokens.iconWithLabelSmallSizeMedium; + double get iconWithLabelSmallSizeLarge => + sizeTokens.iconWithLabelSmallSizeLarge; /// iconWithLabelMedium - double get iconWithLabelMediumSizeExtraSmall => sizeTokens.iconWithLabelMediumSizeXsmall; - double get iconWithLabelMediumSizeSmall => sizeTokens.iconWithLabelMediumSizeSmall; - double get iconWithLabelMediumSizeMedium => sizeTokens.iconWithLabelMediumSizeMedium; - double get iconWithLabelMediumSizeLarge => sizeTokens.iconWithLabelMediumSizeLarge; + double get iconWithLabelMediumSizeExtraSmall => + sizeTokens.iconWithLabelMediumSizeXsmall; + double get iconWithLabelMediumSizeSmall => + sizeTokens.iconWithLabelMediumSizeSmall; + double get iconWithLabelMediumSizeMedium => + sizeTokens.iconWithLabelMediumSizeMedium; + double get iconWithLabelMediumSizeLarge => + sizeTokens.iconWithLabelMediumSizeLarge; /// iconWithLabelLarge - double get iconWithLabelLargeSizeExtraSmall => sizeTokens.iconWithLabelLargeSizeXsmall; - double get iconWithLabelLargeSizeSmall => sizeTokens.iconWithLabelLargeSizeSmall; - double get iconWithLabelLargeSizeMedium => sizeTokens.iconWithLabelLargeSizeMedium; - double get iconWithLabelLargeSizeLarge => sizeTokens.iconWithLabelLargeSizeLarge; - double get iconWithLabelLargeSizeExtraLarge => sizeTokens.iconWithLabelLargeSizeXlarge; + double get iconWithLabelLargeSizeExtraSmall => + sizeTokens.iconWithLabelLargeSizeXsmall; + double get iconWithLabelLargeSizeSmall => + sizeTokens.iconWithLabelLargeSizeSmall; + double get iconWithLabelLargeSizeMedium => + sizeTokens.iconWithLabelLargeSizeMedium; + double get iconWithLabelLargeSizeLarge => + sizeTokens.iconWithLabelLargeSizeLarge; + double get iconWithLabelLargeSizeExtraLarge => + sizeTokens.iconWithLabelLargeSizeXlarge; /// iconWithLabelExtraSmall - double get iconWithLabelExtraLargeSizeSmall => sizeTokens.iconWithLabelXlargeSizeSmall; - double get iconWithLabelExtraLargeSizeMedium => sizeTokens.iconWithLabelXlargeSizeMedium; - double get iconWithLabelExtraLargeSizeLarge => sizeTokens.iconWithLabelXlargeSizeLarge; + double get iconWithLabelExtraLargeSizeSmall => + sizeTokens.iconWithLabelXlargeSizeSmall; + double get iconWithLabelExtraLargeSizeMedium => + sizeTokens.iconWithLabelXlargeSizeMedium; + double get iconWithLabelExtraLargeSizeLarge => + sizeTokens.iconWithLabelXlargeSizeLarge; } diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_checkbox_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_checkbox_tokens.dart index 41264c13f..36750056f 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_checkbox_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_checkbox_tokens.dart @@ -23,6 +23,10 @@ abstract class OudsCheckboxTokens { late double borderWidthUnselectedFocus; late double borderWidthUnselectedHover; late double borderWidthUnselectedPressed; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late double sizeIndicator; late double sizeMaxHeight; late double sizeMinHeight; late double sizeMinWidth; diff --git a/ouds_theme_contract/lib/theme/tokens/components/ouds_controlItem_tokens.dart b/ouds_theme_contract/lib/theme/tokens/components/ouds_controlItem_tokens.dart index d1cfdf188..4a9a7b305 100644 --- a/ouds_theme_contract/lib/theme/tokens/components/ouds_controlItem_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/components/ouds_controlItem_tokens.dart @@ -18,6 +18,10 @@ import 'package:flutter/material.dart'; abstract class OudsControlItemTokens { late double borderRadiusCurrentIndicator; late double borderRadiusDefault; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late double borderRadiusItemOnly; late double borderRadiusMedia; late double borderRadiusMediaRoundedCorner; late double borderRadiusRounded; @@ -29,11 +33,31 @@ abstract class OudsControlItemTokens { late Color colorBgCurrentFocus; late Color colorBgCurrentHover; late Color colorBgCurrentPressed; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late Color colorBgFocus; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late Color colorBgHover; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late Color colorBgLoading; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late Color colorBgPressed; late Color colorContentCurrentDisabled; late Color colorContentCurrentEnabled; late Color colorContentCurrentFocus; late Color colorContentCurrentHover; late Color colorContentCurrentPressed; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late Color colorContentLoader; late double fontLetterSpacingAvatarInitialXlarge; late double fontLineHeightAvatarInitialXlarge; late double fontSizeAvatarInitialXlarge; @@ -45,13 +69,33 @@ abstract class OudsControlItemTokens { late double sizeAssetXlarge; late double sizeControlIndicator; late double sizeCurrentIndicatorWidth; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late double sizeErrorIcon; late double sizeFlagHeight; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late double sizeIcon; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late double sizeLoader; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late double sizeMaxHeightAssetsContainer; late double sizeMaxWidth; late double sizeMinHeightCompact; late double sizeMinHeightDefault; late double sizeMinWidth; late double spaceColumnGap; late double spacePaddingBlockBottomSlot; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late double spacePaddingBlockDefault; late double spacePaddingBlockDensityCompact; late double spacePaddingBlockDensityCompactBottomExpandContainer; late double spacePaddingBlockDensityCompactTopAlignmentTopCounterweight; @@ -62,5 +106,9 @@ abstract class OudsControlItemTokens { late double spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer; late double spacePaddingBlockTopHelperText; late double spacePaddingInline; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + late double spacePaddingInlineErrorIcon; late double spaceRowGap; } diff --git a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_decorative_semantic_tokens.dart b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_decorative_semantic_tokens.dart index a882ff5bb..0a8822d9e 100644 --- a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_decorative_semantic_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_color_decorative_semantic_tokens.dart @@ -13,6 +13,8 @@ // Orange brand tokens version 1.5.0 // Generated by Tokenator +/// TODO: Remove this class in Token version 2.5.0 + import 'package:flutter/material.dart'; abstract class OudsColorDecorativeSemanticTokens { diff --git a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_elevation_semantic_tokens.dart b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_elevation_semantic_tokens.dart index da9c5d5a9..2aeba45a6 100644 --- a/ouds_theme_contract/lib/theme/tokens/semantic/ouds_elevation_semantic_tokens.dart +++ b/ouds_theme_contract/lib/theme/tokens/semantic/ouds_elevation_semantic_tokens.dart @@ -13,6 +13,8 @@ // Android system tokens version 1.2.0 // Generated by Tokenator +/// TODO: Remove this class in Token version 2.5.0 + abstract class OudsElevationSemanticTokens { late double default_; late double drag; diff --git a/ouds_theme_orange/CHANGELOG.md b/ouds_theme_orange/CHANGELOG.md index ba725f942..3b7acdc04 100644 --- a/ouds_theme_orange/CHANGELOG.md +++ b/ouds_theme_orange/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed +- [Library] update tokens 2.4.0 ([#726](https://github.com/Orange-OpenSource/ouds-flutter/issues/726)) - [Library] update tokens 1.9.0 - Component Bullet List ([#710](https://github.com/Orange-OpenSource/ouds-flutter/issues/710)) - [Library] update tokens 1.9.0 - Component Alert ([#672](https://github.com/Orange-OpenSource/ouds-flutter/issues/672)) diff --git a/ouds_theme_orange/lib/components/orange_checkbox_tokens.dart b/ouds_theme_orange/lib/components/orange_checkbox_tokens.dart index 4e8872d8c..a694d916c 100644 --- a/ouds_theme_orange/lib/components/orange_checkbox_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_checkbox_tokens.dart @@ -39,6 +39,9 @@ class OrangeCheckboxTokens extends OudsCheckboxTokens { double get borderWidthUnselectedHover => providersTokens.borderTokens.widthMedium; @override double get borderWidthUnselectedPressed => providersTokens.borderTokens.widthMedium; + @Deprecated("This token is deprecated and will be removed in a future version.") + @override + double get sizeIndicator => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; @override double get sizeMaxHeight => providersTokens.sizeTokens.minInteractiveArea; @override diff --git a/ouds_theme_orange/lib/components/orange_controlItem_tokens.dart b/ouds_theme_orange/lib/components/orange_controlItem_tokens.dart index 3c1d40f5d..2a02de87c 100644 --- a/ouds_theme_orange/lib/components/orange_controlItem_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_controlItem_tokens.dart @@ -25,13 +25,20 @@ class OrangeControlItemTokens extends OudsControlItemTokens { OrangeControlItemTokens(this.providersTokens); @override - double get borderRadiusCurrentIndicator => providersTokens.borderTokens.radiusNone; + double get borderRadiusCurrentIndicator => + providersTokens.borderTokens.radiusNone; @override double get borderRadiusDefault => providersTokens.borderTokens.radiusDefault; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get borderRadiusItemOnly => providersTokens.borderTokens.radiusDefault; @override double get borderRadiusMedia => providersTokens.borderTokens.radiusDefault; @override - double get borderRadiusMediaRoundedCorner => providersTokens.borderTokens.radiusSmall; + double get borderRadiusMediaRoundedCorner => + providersTokens.borderTokens.radiusSmall; @override double get borderRadiusRounded => providersTokens.borderTokens.radiusMedium; @override @@ -41,29 +48,68 @@ class OrangeControlItemTokens extends OudsControlItemTokens { @override Color get colorBadgeSafetyArea => providersTokens.colorScheme.bgPrimary; @override - Color get colorBgCurrentDisabled => providersTokens.colorScheme.actionSupportDisabled; + Color get colorBgCurrentDisabled => + providersTokens.colorScheme.actionSupportDisabled; + @override + Color get colorBgCurrentEnabled => providersTokens.colorScheme.lightDark( + providersTokens.colorScheme.actionSupportEnabled, + providersTokens.colorScheme.actionSupportHover, + ); + @override + Color get colorBgCurrentFocus => + providersTokens.colorScheme.actionSupportFocus; + @override + Color get colorBgCurrentHover => + providersTokens.colorScheme.actionSupportHover; + @override + Color get colorBgCurrentPressed => + providersTokens.colorScheme.actionSupportPressed; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + Color get colorBgFocus => providersTokens.colorScheme.actionSupportFocus; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorBgCurrentEnabled => providersTokens.colorScheme.lightDark(providersTokens.colorScheme.actionSupportEnabled, providersTokens.colorScheme.actionSupportHover); + Color get colorBgHover => providersTokens.colorScheme.actionSupportHover; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorBgCurrentFocus => providersTokens.colorScheme.actionSupportFocus; + Color get colorBgLoading => providersTokens.colorScheme.actionSupportLoading; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorBgCurrentHover => providersTokens.colorScheme.actionSupportHover; + Color get colorBgPressed => providersTokens.colorScheme.actionSupportPressed; @override - Color get colorBgCurrentPressed => providersTokens.colorScheme.actionSupportPressed; + Color get colorContentCurrentDisabled => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentDisabled => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentEnabled => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentEnabled => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentFocus => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentFocus => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentHover => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentHover => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentPressed => + providersTokens.colorScheme.contentDefault; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorContentCurrentPressed => providersTokens.colorScheme.contentDefault; + Color get colorContentLoader => providersTokens.colorScheme.contentDefault; @override - double get fontLetterSpacingAvatarInitialXlarge => FontRawTokens.fontLetterSpacing450; + double get fontLetterSpacingAvatarInitialXlarge => + FontRawTokens.fontLetterSpacing450; @override - double get fontLineHeightAvatarInitialXlarge => FontRawTokens.fontLineHeight650; + double get fontLineHeightAvatarInitialXlarge => + FontRawTokens.fontLineHeight650; @override double get fontSizeAvatarInitialXlarge => FontRawTokens.fontSize450; @override @@ -73,21 +119,49 @@ class OrangeControlItemTokens extends OudsControlItemTokens { @override double get sizeAssetLarge => DimensionRawTokens.dimension500; @override - double get sizeAssetMedium => providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + double get sizeAssetMedium => + providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; @override - double get sizeAssetSmall => providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + double get sizeAssetSmall => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; @override double get sizeAssetXlarge => DimensionRawTokens.dimension700; @override - double get sizeControlIndicator => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + double get sizeControlIndicator => + providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; @override double get sizeCurrentIndicatorWidth => DimensionRawTokens.dimension50; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - double get sizeFlagHeight => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + double get sizeErrorIcon => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + @override + double get sizeFlagHeight => + providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeIcon => + providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeLoader => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeMaxHeightAssetsContainer => DimensionRawTokens.dimension1200; @override double get sizeMaxWidth => DimensionRawTokens.dimension4000; @override - double get sizeMinHeightCompact => providersTokens.sizeTokens.minInteractiveArea; + double get sizeMinHeightCompact => + providersTokens.sizeTokens.minInteractiveArea; @override double get sizeMinHeightDefault => DimensionRawTokens.dimension750; @override @@ -95,27 +169,50 @@ class OrangeControlItemTokens extends OudsControlItemTokens { @override double get spaceColumnGap => providersTokens.spaceTokens.columnGapMedium; @override - double get spacePaddingBlockBottomSlot => providersTokens.spaceTokens.paddingBlock3xsmall; + double get spacePaddingBlockBottomSlot => + providersTokens.spaceTokens.paddingBlock3xsmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get spacePaddingBlockDefault => + providersTokens.spaceTokens.paddingBlockMedium; + @override + double get spacePaddingBlockDensityCompact => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockDensityCompact => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingBlockDensityCompactBottomExpandContainer => + providersTokens.spaceTokens.paddingBlock2xlarge; @override - double get spacePaddingBlockDensityCompactBottomExpandContainer => providersTokens.spaceTokens.paddingBlock2xlarge; + double get spacePaddingBlockDensityCompactTopAlignmentTopCounterweight => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockDensityCompactTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingBlockDensityCompactTopAlignmentTopTextContainer => + providersTokens.spaceTokens.paddingBlockNone; @override - double get spacePaddingBlockDensityCompactTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlockNone; + double get spacePaddingBlockDensityDefault => + providersTokens.spaceTokens.paddingBlockMedium; @override - double get spacePaddingBlockDensityDefault => providersTokens.spaceTokens.paddingBlockMedium; + double get spacePaddingBlockDensityDefaultBottomExpandContainer => + providersTokens.spaceTokens.paddingBlock3xlarge; @override - double get spacePaddingBlockDensityDefaultBottomExpandContainer => providersTokens.spaceTokens.paddingBlock3xlarge; + double get spacePaddingBlockDensityDefaultTopAlignmentTopCounterweight => + providersTokens.spaceTokens.paddingBlockSmall; @override - double get spacePaddingBlockDensityDefaultTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockSmall; + double get spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer => + providersTokens.spaceTokens.paddingBlock4xsmall; @override - double get spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlock4xsmall; + double get spacePaddingBlockTopHelperText => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockTopHelperText => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingInline => + providersTokens.spaceTokens.paddingInlineLarge; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - double get spacePaddingInline => providersTokens.spaceTokens.paddingInlineLarge; + double get spacePaddingInlineErrorIcon => + providersTokens.spaceTokens.paddingInline4xsmall; @override double get spaceRowGap => providersTokens.spaceTokens.rowGapNone; } diff --git a/ouds_theme_orange_compact/CHANGELOG.md b/ouds_theme_orange_compact/CHANGELOG.md index 437a02f35..fa45f0c28 100644 --- a/ouds_theme_orange_compact/CHANGELOG.md +++ b/ouds_theme_orange_compact/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed +- [Library] update tokens 2.4.0 ([#726](https://github.com/Orange-OpenSource/ouds-flutter/issues/726)) - [Library] update tokens 1.9.0 - Component Bullet List ([#710](https://github.com/Orange-OpenSource/ouds-flutter/issues/710)) - [Library] update tokens 1.9.0 - Component Alert ([#672](https://github.com/Orange-OpenSource/ouds-flutter/issues/672)) diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_checkbox_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_checkbox_tokens.dart index ec4070916..aa2dcd84d 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_checkbox_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_checkbox_tokens.dart @@ -26,19 +26,31 @@ class OrangeCompactCheckboxTokens extends OudsCheckboxTokens { @override double get borderWidthSelected => providersTokens.borderTokens.widthMedium; @override - double get borderWidthSelectedFocus => providersTokens.borderTokens.widthMedium; + double get borderWidthSelectedFocus => + providersTokens.borderTokens.widthMedium; @override - double get borderWidthSelectedHover => providersTokens.borderTokens.widthMedium; + double get borderWidthSelectedHover => + providersTokens.borderTokens.widthMedium; @override - double get borderWidthSelectedPressed => providersTokens.borderTokens.widthMedium; + double get borderWidthSelectedPressed => + providersTokens.borderTokens.widthMedium; @override double get borderWidthUnselected => providersTokens.borderTokens.widthThin; @override - double get borderWidthUnselectedFocus => providersTokens.borderTokens.widthMedium; + double get borderWidthUnselectedFocus => + providersTokens.borderTokens.widthMedium; @override - double get borderWidthUnselectedHover => providersTokens.borderTokens.widthMedium; + double get borderWidthUnselectedHover => + providersTokens.borderTokens.widthMedium; @override - double get borderWidthUnselectedPressed => providersTokens.borderTokens.widthMedium; + double get borderWidthUnselectedPressed => + providersTokens.borderTokens.widthMedium; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeIndicator => + providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; @override double get sizeMaxHeight => providersTokens.sizeTokens.minInteractiveArea; @override diff --git a/ouds_theme_orange_compact/lib/components/orangeCompact_controlItem_tokens.dart b/ouds_theme_orange_compact/lib/components/orangeCompact_controlItem_tokens.dart index ff5018251..cca8b6df5 100644 --- a/ouds_theme_orange_compact/lib/components/orangeCompact_controlItem_tokens.dart +++ b/ouds_theme_orange_compact/lib/components/orangeCompact_controlItem_tokens.dart @@ -25,13 +25,20 @@ class OrangeCompactControlItemTokens extends OudsControlItemTokens { OrangeCompactControlItemTokens(this.providersTokens); @override - double get borderRadiusCurrentIndicator => providersTokens.borderTokens.radiusNone; + double get borderRadiusCurrentIndicator => + providersTokens.borderTokens.radiusNone; @override double get borderRadiusDefault => providersTokens.borderTokens.radiusDefault; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get borderRadiusItemOnly => providersTokens.borderTokens.radiusDefault; @override double get borderRadiusMedia => providersTokens.borderTokens.radiusDefault; @override - double get borderRadiusMediaRoundedCorner => providersTokens.borderTokens.radiusSmall; + double get borderRadiusMediaRoundedCorner => + providersTokens.borderTokens.radiusSmall; @override double get borderRadiusRounded => providersTokens.borderTokens.radiusMedium; @override @@ -41,29 +48,66 @@ class OrangeCompactControlItemTokens extends OudsControlItemTokens { @override Color get colorBadgeSafetyArea => providersTokens.colorScheme.bgPrimary; @override - Color get colorBgCurrentDisabled => providersTokens.colorScheme.actionSupportDisabled; + Color get colorBgCurrentDisabled => + providersTokens.colorScheme.actionSupportDisabled; + @override + Color get colorBgCurrentEnabled => + providersTokens.colorScheme.actionSupportEnabled; + @override + Color get colorBgCurrentFocus => + providersTokens.colorScheme.actionSupportFocus; + @override + Color get colorBgCurrentHover => + providersTokens.colorScheme.actionSupportHover; + @override + Color get colorBgCurrentPressed => + providersTokens.colorScheme.actionSupportPressed; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + Color get colorBgFocus => providersTokens.colorScheme.actionSupportFocus; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorBgCurrentEnabled => providersTokens.colorScheme.actionSupportEnabled; + Color get colorBgHover => providersTokens.colorScheme.actionSupportHover; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorBgCurrentFocus => providersTokens.colorScheme.actionSupportFocus; + Color get colorBgLoading => providersTokens.colorScheme.actionSupportLoading; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorBgCurrentHover => providersTokens.colorScheme.actionSupportHover; + Color get colorBgPressed => providersTokens.colorScheme.actionSupportPressed; @override - Color get colorBgCurrentPressed => providersTokens.colorScheme.actionSupportPressed; + Color get colorContentCurrentDisabled => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentDisabled => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentEnabled => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentEnabled => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentFocus => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentFocus => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentHover => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentHover => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentPressed => + providersTokens.colorScheme.contentDefault; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorContentCurrentPressed => providersTokens.colorScheme.contentDefault; + Color get colorContentLoader => providersTokens.colorScheme.contentDefault; @override - double get fontLetterSpacingAvatarInitialXlarge => FontRawTokens.fontLetterSpacing350; + double get fontLetterSpacingAvatarInitialXlarge => + FontRawTokens.fontLetterSpacing350; @override - double get fontLineHeightAvatarInitialXlarge => FontRawTokens.fontLineHeight550; + double get fontLineHeightAvatarInitialXlarge => + FontRawTokens.fontLineHeight550; @override double get fontSizeAvatarInitialXlarge => FontRawTokens.fontSize350; @override @@ -73,21 +117,49 @@ class OrangeCompactControlItemTokens extends OudsControlItemTokens { @override double get sizeAssetLarge => DimensionRawTokens.dimension450; @override - double get sizeAssetMedium => providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + double get sizeAssetMedium => + providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; @override - double get sizeAssetSmall => providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + double get sizeAssetSmall => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; @override double get sizeAssetXlarge => DimensionRawTokens.dimension650; @override - double get sizeControlIndicator => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + double get sizeControlIndicator => + providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; @override double get sizeCurrentIndicatorWidth => DimensionRawTokens.dimension50; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - double get sizeFlagHeight => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + double get sizeErrorIcon => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + @override + double get sizeFlagHeight => + providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeIcon => + providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeLoader => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeMaxHeightAssetsContainer => DimensionRawTokens.dimension1000; @override double get sizeMaxWidth => DimensionRawTokens.dimension4000; @override - double get sizeMinHeightCompact => providersTokens.sizeTokens.minInteractiveArea; + double get sizeMinHeightCompact => + providersTokens.sizeTokens.minInteractiveArea; @override double get sizeMinHeightDefault => DimensionRawTokens.dimension650; @override @@ -95,27 +167,50 @@ class OrangeCompactControlItemTokens extends OudsControlItemTokens { @override double get spaceColumnGap => providersTokens.spaceTokens.columnGapMedium; @override - double get spacePaddingBlockBottomSlot => providersTokens.spaceTokens.paddingBlock4xsmall; + double get spacePaddingBlockBottomSlot => + providersTokens.spaceTokens.paddingBlock4xsmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get spacePaddingBlockDefault => + providersTokens.spaceTokens.paddingBlockMedium; + @override + double get spacePaddingBlockDensityCompact => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockDensityCompact => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingBlockDensityCompactBottomExpandContainer => + providersTokens.spaceTokens.paddingBlock2xlarge; @override - double get spacePaddingBlockDensityCompactBottomExpandContainer => providersTokens.spaceTokens.paddingBlock2xlarge; + double get spacePaddingBlockDensityCompactTopAlignmentTopCounterweight => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockDensityCompactTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingBlockDensityCompactTopAlignmentTopTextContainer => + providersTokens.spaceTokens.paddingBlockNone; @override - double get spacePaddingBlockDensityCompactTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlockNone; + double get spacePaddingBlockDensityDefault => + providersTokens.spaceTokens.paddingBlockMedium; @override - double get spacePaddingBlockDensityDefault => providersTokens.spaceTokens.paddingBlockMedium; + double get spacePaddingBlockDensityDefaultBottomExpandContainer => + providersTokens.spaceTokens.paddingBlock3xlarge; @override - double get spacePaddingBlockDensityDefaultBottomExpandContainer => providersTokens.spaceTokens.paddingBlock3xlarge; + double get spacePaddingBlockDensityDefaultTopAlignmentTopCounterweight => + providersTokens.spaceTokens.paddingBlockSmall; @override - double get spacePaddingBlockDensityDefaultTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockSmall; + double get spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer => + providersTokens.spaceTokens.paddingBlockNone; @override - double get spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlockNone; + double get spacePaddingBlockTopHelperText => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockTopHelperText => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingInline => + providersTokens.spaceTokens.paddingInlineLarge; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - double get spacePaddingInline => providersTokens.spaceTokens.paddingInlineLarge; + double get spacePaddingInlineErrorIcon => + providersTokens.spaceTokens.paddingInline4xsmall; @override double get spaceRowGap => providersTokens.spaceTokens.rowGapNone; } diff --git a/ouds_theme_sosh/CHANGELOG.md b/ouds_theme_sosh/CHANGELOG.md index 64be6a1fe..70383ca87 100644 --- a/ouds_theme_sosh/CHANGELOG.md +++ b/ouds_theme_sosh/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed +- [Library] update tokens 2.4.0 ([#726](https://github.com/Orange-OpenSource/ouds-flutter/issues/726)) - [Library] update tokens 1.9.0 - Component Bullet List ([#710](https://github.com/Orange-OpenSource/ouds-flutter/issues/710)) - [Library] update tokens 1.9.0 - Component Alert ([#672](https://github.com/Orange-OpenSource/ouds-flutter/issues/672)) diff --git a/ouds_theme_sosh/lib/components/ouds_tag_tokens.dart b/ouds_theme_sosh/lib/components/ouds_tag_tokens.dart deleted file mode 100644 index a8460a4a3..000000000 --- a/ouds_theme_sosh/lib/components/ouds_tag_tokens.dart +++ /dev/null @@ -1,39 +0,0 @@ -// -// Software Name: OUDS Flutter -// SPDX-FileCopyrightText: Copyright (c) Orange SA -// SPDX-License-Identifier: MIT -// -// This software is distributed under the MIT license, -// the text of which is available at https://opensource.org/license/MIT/ -// or see the "LICENSE" file for more details. -// -// Software description: Flutter library of reusable graphical components -// - -// Orange brand tokens version 2.0.1 -// Generated by Tokenator - -abstract class OudsTagTokens { - late double borderRadius; - late double sizeAssetDefault; - late double sizeAssetSmall; - late double sizeMinHeightDefault; - late double sizeMinHeightInteractiveArea; - late double sizeMinHeightSmall; - late double sizeMinWidthDefault; - late double sizeMinWidthSmall; - late double spaceColumnGapDefault; - late double spaceColumnGapSmall; - late double spaceInsetBulletDefault; - late double spaceInsetBulletSmall; - late double spaceInsetIconDefault; - late double spaceInsetIconSmall; - late double spaceInsetLoaderDefault; - late double spaceInsetLoaderSmall; - late double spacePaddingBlockDefault; - late double spacePaddingBlockSmall; - late double spacePaddingInlineAssetDefault; - late double spacePaddingInlineAssetSmall; - late double spacePaddingInlineDefault; - late double spacePaddingInlineSmall; -} diff --git a/ouds_theme_sosh/lib/components/ouds_textInput_tokens.dart b/ouds_theme_sosh/lib/components/ouds_textInput_tokens.dart deleted file mode 100644 index e060bd7b5..000000000 --- a/ouds_theme_sosh/lib/components/ouds_textInput_tokens.dart +++ /dev/null @@ -1,44 +0,0 @@ -// -// Software Name: OUDS Flutter -// SPDX-FileCopyrightText: Copyright (c) Orange SA -// SPDX-License-Identifier: MIT -// -// This software is distributed under the MIT license, -// the text of which is available at https://opensource.org/license/MIT/ -// or see the "LICENSE" file for more details. -// -// Software description: Flutter library of reusable graphical components -// - -// Orange brand tokens version 2.0.1 -// Generated by Tokenator - -import 'package:flutter/material.dart'; - -abstract class OudsTextInputTokens { - late double borderRadiusDefault; - late double borderRadiusRounded; - late double borderWidthDefault; - late double borderWidthFocus; - late Color colorBorderEnabled; - late Color colorBorderFocus; - late Color colorBorderHover; - late Color colorBorderLoading; - late double sizeCountrySelectorFlagHeight; - late double sizeLabelMaxHeight; - late double sizeLeadingIcon; - late double sizeMaxWidth; - late double sizeMinHeight; - late double sizeMinWidth; - late double sizeVerticalDividerHeight; - late double spaceColumnGapDefault; - late double spaceColumnGapInlineText; - late double spaceColumnGapTrailingErrorAction; - late double spacePaddingBlockDefault; - late double spacePaddingBlockTopHelperText; - late double spacePaddingInlineCountrySelectorEnd; - late double spacePaddingInlineCountrySelectorStart; - late double spacePaddingInlineDefault; - late double spacePaddingInlineTrailingAction; - late double spaceRowGapLabelInput; -} diff --git a/ouds_theme_sosh/lib/components/sosh_bar_tokens.dart b/ouds_theme_sosh/lib/components/sosh_bar_tokens.dart index abe33d31b..9743139d6 100644 --- a/ouds_theme_sosh/lib/components/sosh_bar_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_bar_tokens.dart @@ -19,6 +19,7 @@ import 'package:ouds_global_raw_tokens/dimension_raw_tokens.dart'; import 'package:ouds_global_raw_tokens/effect_raw_tokens.dart'; import 'package:ouds_theme_contract/ouds_tokens_provider.dart'; import 'package:ouds_theme_contract/theme/tokens/components/ouds_bar_tokens.dart'; +import 'package:ouds_theme_sosh/raw/sosh_color_raw_tokens.dart'; class SoshBarTokens extends OudsBarTokens { final OudsProvidersTokens providersTokens; @@ -26,71 +27,100 @@ class SoshBarTokens extends OudsBarTokens { SoshBarTokens(this.providersTokens); @override - double get borderRadiusCurrentIndicatorCustomBottom => providersTokens.borderTokens.radiusPill; + double get borderRadiusCurrentIndicatorCustomBottom => + providersTokens.borderTokens.radiusPill; @override - double get borderRadiusCurrentIndicatorCustomTop => providersTokens.borderTokens.radiusDefault; + double get borderRadiusCurrentIndicatorCustomTop => + providersTokens.borderTokens.radiusDefault; @override Color get colorBgOpaque => providersTokens.colorScheme.bgSecondary; @override - Color get colorBgTranslucentDark => ColorRawTokens.colorOpacityBlueDuckDark960800; + Color get colorBgTranslucentDark => + SoshColorRawTokens.colorOpacityBlueDuckDark960800; @override Color get colorBgTranslucentLight => ColorRawTokens.colorOpacityWhite800; @override Color get colorBorderBadge => providersTokens.colorScheme.bgSecondary; @override - Color get colorContentOnIosAccent => providersTokens.colorScheme.contentOnActionSelected; + Color get colorContentOnIosAccent => + providersTokens.colorScheme.contentOnActionSelected; @override - Color get colorContentSelectedEnabled => providersTokens.colorScheme.actionSelected; + Color get colorContentSelectedEnabled => + providersTokens.colorScheme.actionSelected; @override - Color get colorContentSelectedFocus => providersTokens.colorScheme.actionFocus; + Color get colorContentSelectedFocus => + providersTokens.colorScheme.actionFocus; @override - Color get colorContentSelectedHover => providersTokens.colorScheme.actionHover; + Color get colorContentSelectedHover => + providersTokens.colorScheme.actionHover; @override - Color get colorContentSelectedPressed => providersTokens.colorScheme.actionPressed; + Color get colorContentSelectedPressed => + providersTokens.colorScheme.actionPressed; @override - Color get colorContentUnselectedEnabled => providersTokens.colorScheme.contentMuted; + Color get colorContentUnselectedEnabled => + providersTokens.colorScheme.contentMuted; @override - Color get colorContentUnselectedFocus => providersTokens.colorScheme.contentDefault; + Color get colorContentUnselectedFocus => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentUnselectedHover => providersTokens.colorScheme.contentDefault; + Color get colorContentUnselectedHover => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentUnselectedPressed => providersTokens.colorScheme.actionPressed; + Color get colorContentUnselectedPressed => + providersTokens.colorScheme.actionPressed; @override - Color get colorCurrentIndicatorAndroidSelectedDisabled => providersTokens.colorScheme.opacityTransparent; + Color get colorCurrentIndicatorAndroidSelectedDisabled => + providersTokens.colorScheme.opacityTransparent; @override - Color get colorCurrentIndicatorAndroidSelectedEnabled => providersTokens.colorScheme.opacityTransparent; + Color get colorCurrentIndicatorAndroidSelectedEnabled => + providersTokens.colorScheme.opacityTransparent; @override - Color get colorCurrentIndicatorAndroidSelectedFocus => providersTokens.colorScheme.opacityTransparent; + Color get colorCurrentIndicatorAndroidSelectedFocus => + providersTokens.colorScheme.opacityTransparent; @override - Color get colorCurrentIndicatorAndroidSelectedHover => providersTokens.colorScheme.opacityTransparent; + Color get colorCurrentIndicatorAndroidSelectedHover => + providersTokens.colorScheme.opacityTransparent; @override - Color get colorCurrentIndicatorAndroidSelectedPressed => providersTokens.colorScheme.opacityTransparent; + Color get colorCurrentIndicatorAndroidSelectedPressed => + providersTokens.colorScheme.opacityTransparent; @override - Color get colorCurrentIndicatorAndroidUnselectedDisabled => providersTokens.colorScheme.opacityTransparent; + Color get colorCurrentIndicatorAndroidUnselectedDisabled => + providersTokens.colorScheme.opacityTransparent; @override - Color get colorCurrentIndicatorAndroidUnselectedFocus => providersTokens.colorScheme.opacityTransparent; + Color get colorCurrentIndicatorAndroidUnselectedFocus => + providersTokens.colorScheme.opacityTransparent; @override - Color get colorCurrentIndicatorAndroidUnselectedHover => providersTokens.colorScheme.opacityTransparent; + Color get colorCurrentIndicatorAndroidUnselectedHover => + providersTokens.colorScheme.opacityTransparent; @override - Color get colorCurrentIndicatorAndroidUnselectedPressed => providersTokens.colorScheme.opacityTransparent; + Color get colorCurrentIndicatorAndroidUnselectedPressed => + providersTokens.colorScheme.opacityTransparent; @override - Color get colorCurrentIndicatorCustomSelectedEnabled => providersTokens.colorScheme.actionSelected; + Color get colorCurrentIndicatorCustomSelectedEnabled => + providersTokens.colorScheme.actionSelected; @override - Color get colorCurrentIndicatorCustomSelectedFocus => providersTokens.colorScheme.actionFocus; + Color get colorCurrentIndicatorCustomSelectedFocus => + providersTokens.colorScheme.actionFocus; @override - Color get colorCurrentIndicatorCustomSelectedHover => providersTokens.colorScheme.actionHover; + Color get colorCurrentIndicatorCustomSelectedHover => + providersTokens.colorScheme.actionHover; @override - Color get colorCurrentIndicatorCustomSelectedPressed => providersTokens.colorScheme.actionPressed; + Color get colorCurrentIndicatorCustomSelectedPressed => + providersTokens.colorScheme.actionPressed; @override Color get colorIosAccent => providersTokens.colorScheme.actionSelected; @override int get effectBgBlur => EffectRawTokens.effectBlur320; @override - double get opacityCurrentIndicatorCustom => providersTokens.opacityTokens.opaque; + double get opacityCurrentIndicatorCustom => + providersTokens.opacityTokens.opaque; @override - double get sizeHeightCurrentIndicatorCustom => DimensionRawTokens.dimensionOutOfSystem75; + double get sizeHeightCurrentIndicatorCustom => + DimensionRawTokens.dimensionOutOfSystem75; @override - double get sizeWidthCurrentIndicatorCustomBottom => DimensionRawTokens.dimension300; + double get sizeWidthCurrentIndicatorCustomBottom => + DimensionRawTokens.dimension300; @override - double get sizeWidthCurrentIndicatorCustomTop => DimensionRawTokens.dimension500; + double get sizeWidthCurrentIndicatorCustomTop => + DimensionRawTokens.dimension500; } diff --git a/ouds_theme_sosh/lib/components/sosh_checkbox_tokens.dart b/ouds_theme_sosh/lib/components/sosh_checkbox_tokens.dart index 100b343e3..9637cb344 100644 --- a/ouds_theme_sosh/lib/components/sosh_checkbox_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_checkbox_tokens.dart @@ -30,15 +30,25 @@ class SoshCheckboxTokens extends OudsCheckboxTokens { @override double get borderWidthSelectedHover => providersTokens.borderTokens.widthNone; @override - double get borderWidthSelectedPressed => providersTokens.borderTokens.widthNone; + double get borderWidthSelectedPressed => + providersTokens.borderTokens.widthNone; @override double get borderWidthUnselected => providersTokens.borderTokens.widthThin; @override - double get borderWidthUnselectedFocus => providersTokens.borderTokens.widthMedium; + double get borderWidthUnselectedFocus => + providersTokens.borderTokens.widthMedium; @override - double get borderWidthUnselectedHover => providersTokens.borderTokens.widthMedium; + double get borderWidthUnselectedHover => + providersTokens.borderTokens.widthMedium; @override - double get borderWidthUnselectedPressed => providersTokens.borderTokens.widthMedium; + double get borderWidthUnselectedPressed => + providersTokens.borderTokens.widthMedium; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeIndicator => + providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; @override double get sizeMaxHeight => providersTokens.sizeTokens.minInteractiveArea; @override diff --git a/ouds_theme_sosh/lib/components/sosh_controlItem_tokens.dart b/ouds_theme_sosh/lib/components/sosh_controlItem_tokens.dart index 6836072ca..58b347069 100644 --- a/ouds_theme_sosh/lib/components/sosh_controlItem_tokens.dart +++ b/ouds_theme_sosh/lib/components/sosh_controlItem_tokens.dart @@ -25,13 +25,20 @@ class SoshControlItemTokens extends OudsControlItemTokens { SoshControlItemTokens(this.providersTokens); @override - double get borderRadiusCurrentIndicator => providersTokens.borderTokens.radiusDefault; + double get borderRadiusCurrentIndicator => + providersTokens.borderTokens.radiusDefault; @override double get borderRadiusDefault => providersTokens.borderTokens.radiusDefault; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get borderRadiusItemOnly => providersTokens.borderTokens.radiusDefault; @override double get borderRadiusMedia => providersTokens.borderTokens.radiusDefault; @override - double get borderRadiusMediaRoundedCorner => providersTokens.borderTokens.radiusDefault; + double get borderRadiusMediaRoundedCorner => + providersTokens.borderTokens.radiusDefault; @override double get borderRadiusRounded => providersTokens.borderTokens.radiusDefault; @override @@ -41,29 +48,66 @@ class SoshControlItemTokens extends OudsControlItemTokens { @override Color get colorBadgeSafetyArea => providersTokens.colorScheme.bgPrimary; @override - Color get colorBgCurrentDisabled => providersTokens.colorScheme.actionSupportDisabled; + Color get colorBgCurrentDisabled => + providersTokens.colorScheme.actionSupportDisabled; + @override + Color get colorBgCurrentEnabled => + providersTokens.colorScheme.actionSupportEnabled; + @override + Color get colorBgCurrentFocus => + providersTokens.colorScheme.actionSupportFocus; + @override + Color get colorBgCurrentHover => + providersTokens.colorScheme.actionSupportHover; + @override + Color get colorBgCurrentPressed => + providersTokens.colorScheme.actionSupportPressed; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + Color get colorBgFocus => providersTokens.colorScheme.actionSupportFocus; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorBgCurrentEnabled => providersTokens.colorScheme.actionSupportEnabled; + Color get colorBgHover => providersTokens.colorScheme.actionSupportHover; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorBgCurrentFocus => providersTokens.colorScheme.actionSupportFocus; + Color get colorBgLoading => providersTokens.colorScheme.actionSupportLoading; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorBgCurrentHover => providersTokens.colorScheme.actionSupportHover; + Color get colorBgPressed => providersTokens.colorScheme.actionSupportPressed; @override - Color get colorBgCurrentPressed => providersTokens.colorScheme.actionSupportPressed; + Color get colorContentCurrentDisabled => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentDisabled => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentEnabled => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentEnabled => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentFocus => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentFocus => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentHover => + providersTokens.colorScheme.contentDefault; @override - Color get colorContentCurrentHover => providersTokens.colorScheme.contentDefault; + Color get colorContentCurrentPressed => + providersTokens.colorScheme.contentDefault; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorContentCurrentPressed => providersTokens.colorScheme.contentDefault; + Color get colorContentLoader => providersTokens.colorScheme.contentDefault; @override - double get fontLetterSpacingAvatarInitialXlarge => FontRawTokens.fontLetterSpacing450; + double get fontLetterSpacingAvatarInitialXlarge => + FontRawTokens.fontLetterSpacing450; @override - double get fontLineHeightAvatarInitialXlarge => FontRawTokens.fontLineHeight650; + double get fontLineHeightAvatarInitialXlarge => + FontRawTokens.fontLineHeight650; @override double get fontSizeAvatarInitialXlarge => FontRawTokens.fontSize450; @override @@ -73,21 +117,49 @@ class SoshControlItemTokens extends OudsControlItemTokens { @override double get sizeAssetLarge => DimensionRawTokens.dimension500; @override - double get sizeAssetMedium => providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + double get sizeAssetMedium => + providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; @override - double get sizeAssetSmall => providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + double get sizeAssetSmall => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; @override double get sizeAssetXlarge => DimensionRawTokens.dimension700; @override - double get sizeControlIndicator => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + double get sizeControlIndicator => + providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; @override double get sizeCurrentIndicatorWidth => DimensionRawTokens.dimension50; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - double get sizeFlagHeight => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + double get sizeErrorIcon => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + @override + double get sizeFlagHeight => + providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeIcon => + providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeLoader => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeMaxHeightAssetsContainer => DimensionRawTokens.dimension1200; @override double get sizeMaxWidth => DimensionRawTokens.dimension4000; @override - double get sizeMinHeightCompact => providersTokens.sizeTokens.minInteractiveArea; + double get sizeMinHeightCompact => + providersTokens.sizeTokens.minInteractiveArea; @override double get sizeMinHeightDefault => DimensionRawTokens.dimension750; @override @@ -95,27 +167,50 @@ class SoshControlItemTokens extends OudsControlItemTokens { @override double get spaceColumnGap => providersTokens.spaceTokens.columnGapMedium; @override - double get spacePaddingBlockBottomSlot => providersTokens.spaceTokens.paddingBlock3xsmall; + double get spacePaddingBlockBottomSlot => + providersTokens.spaceTokens.paddingBlock3xsmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get spacePaddingBlockDefault => + providersTokens.spaceTokens.paddingBlockMedium; + @override + double get spacePaddingBlockDensityCompact => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockDensityCompact => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingBlockDensityCompactBottomExpandContainer => + providersTokens.spaceTokens.paddingBlock2xlarge; @override - double get spacePaddingBlockDensityCompactBottomExpandContainer => providersTokens.spaceTokens.paddingBlock2xlarge; + double get spacePaddingBlockDensityCompactTopAlignmentTopCounterweight => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockDensityCompactTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingBlockDensityCompactTopAlignmentTopTextContainer => + providersTokens.spaceTokens.paddingBlockNone; @override - double get spacePaddingBlockDensityCompactTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlockNone; + double get spacePaddingBlockDensityDefault => + providersTokens.spaceTokens.paddingBlockMedium; @override - double get spacePaddingBlockDensityDefault => providersTokens.spaceTokens.paddingBlockMedium; + double get spacePaddingBlockDensityDefaultBottomExpandContainer => + providersTokens.spaceTokens.paddingBlock3xlarge; @override - double get spacePaddingBlockDensityDefaultBottomExpandContainer => providersTokens.spaceTokens.paddingBlock3xlarge; + double get spacePaddingBlockDensityDefaultTopAlignmentTopCounterweight => + providersTokens.spaceTokens.paddingBlockSmall; @override - double get spacePaddingBlockDensityDefaultTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockSmall; + double get spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer => + providersTokens.spaceTokens.paddingBlock4xsmall; @override - double get spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlock4xsmall; + double get spacePaddingBlockTopHelperText => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockTopHelperText => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingInline => + providersTokens.spaceTokens.paddingInlineLarge; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - double get spacePaddingInline => providersTokens.spaceTokens.paddingInlineLarge; + double get spacePaddingInlineErrorIcon => + providersTokens.spaceTokens.paddingInline4xsmall; @override double get spaceRowGap => providersTokens.spaceTokens.rowGapNone; } diff --git a/ouds_theme_wireframe/CHANGELOG.md b/ouds_theme_wireframe/CHANGELOG.md index 86a3963df..4e6e618c6 100644 --- a/ouds_theme_wireframe/CHANGELOG.md +++ b/ouds_theme_wireframe/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed +- [Library] update tokens 2.4.0 ([#726](https://github.com/Orange-OpenSource/ouds-flutter/issues/726)) - [Library] update tokens 1.9.0 - Component Bullet List ([#710](https://github.com/Orange-OpenSource/ouds-flutter/issues/710)) - [Library] update tokens 1.9.0 - Component Alert ([#672](https://github.com/Orange-OpenSource/ouds-flutter/issues/672)) diff --git a/ouds_theme_wireframe/lib/components/wireframe_checkbox_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_checkbox_tokens.dart index b1c523a25..d0ede7440 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_checkbox_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_checkbox_tokens.dart @@ -30,15 +30,25 @@ class WireframeCheckboxTokens extends OudsCheckboxTokens { @override double get borderWidthSelectedHover => providersTokens.borderTokens.widthNone; @override - double get borderWidthSelectedPressed => providersTokens.borderTokens.widthNone; + double get borderWidthSelectedPressed => + providersTokens.borderTokens.widthNone; @override double get borderWidthUnselected => providersTokens.borderTokens.widthMedium; @override - double get borderWidthUnselectedFocus => providersTokens.borderTokens.widthMedium; + double get borderWidthUnselectedFocus => + providersTokens.borderTokens.widthMedium; @override - double get borderWidthUnselectedHover => providersTokens.borderTokens.widthMedium; + double get borderWidthUnselectedHover => + providersTokens.borderTokens.widthMedium; @override - double get borderWidthUnselectedPressed => providersTokens.borderTokens.widthMedium; + double get borderWidthUnselectedPressed => + providersTokens.borderTokens.widthMedium; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeIndicator => + providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; @override double get sizeMaxHeight => providersTokens.sizeTokens.minInteractiveArea; @override diff --git a/ouds_theme_wireframe/lib/components/wireframe_controlItem_tokens.dart b/ouds_theme_wireframe/lib/components/wireframe_controlItem_tokens.dart index 575822833..bd3870f8d 100644 --- a/ouds_theme_wireframe/lib/components/wireframe_controlItem_tokens.dart +++ b/ouds_theme_wireframe/lib/components/wireframe_controlItem_tokens.dart @@ -25,13 +25,20 @@ class WireframeControlItemTokens extends OudsControlItemTokens { WireframeControlItemTokens(this.providersTokens); @override - double get borderRadiusCurrentIndicator => providersTokens.borderTokens.radiusDefault; + double get borderRadiusCurrentIndicator => + providersTokens.borderTokens.radiusDefault; @override double get borderRadiusDefault => providersTokens.borderTokens.radiusDefault; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get borderRadiusItemOnly => providersTokens.borderTokens.radiusDefault; @override double get borderRadiusMedia => providersTokens.borderTokens.radiusDefault; @override - double get borderRadiusMediaRoundedCorner => providersTokens.borderTokens.radiusSmall; + double get borderRadiusMediaRoundedCorner => + providersTokens.borderTokens.radiusSmall; @override double get borderRadiusRounded => providersTokens.borderTokens.radiusDefault; @override @@ -41,7 +48,8 @@ class WireframeControlItemTokens extends OudsControlItemTokens { @override Color get colorBadgeSafetyArea => providersTokens.colorScheme.bgPrimary; @override - Color get colorBgCurrentDisabled => providersTokens.colorScheme.actionDisabled; + Color get colorBgCurrentDisabled => + providersTokens.colorScheme.actionDisabled; @override Color get colorBgCurrentEnabled => providersTokens.colorScheme.actionSelected; @override @@ -50,20 +58,52 @@ class WireframeControlItemTokens extends OudsControlItemTokens { Color get colorBgCurrentHover => providersTokens.colorScheme.actionHover; @override Color get colorBgCurrentPressed => providersTokens.colorScheme.actionPressed; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + Color get colorBgFocus => providersTokens.colorScheme.actionSupportFocus; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + Color get colorBgHover => providersTokens.colorScheme.actionSupportHover; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + Color get colorBgLoading => providersTokens.colorScheme.actionSupportLoading; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + Color get colorBgPressed => providersTokens.colorScheme.actionSupportPressed; + @override + Color get colorContentCurrentDisabled => + providersTokens.colorScheme.contentOnActionDisabled; @override - Color get colorContentCurrentDisabled => providersTokens.colorScheme.contentOnActionDisabled; + Color get colorContentCurrentEnabled => + providersTokens.colorScheme.contentOnActionSelected; @override - Color get colorContentCurrentEnabled => providersTokens.colorScheme.contentOnActionSelected; + Color get colorContentCurrentFocus => + providersTokens.colorScheme.contentOnActionFocus; @override - Color get colorContentCurrentFocus => providersTokens.colorScheme.contentOnActionFocus; + Color get colorContentCurrentHover => + providersTokens.colorScheme.contentOnActionHover; @override - Color get colorContentCurrentHover => providersTokens.colorScheme.contentOnActionHover; + Color get colorContentCurrentPressed => + providersTokens.colorScheme.contentOnActionPressed; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - Color get colorContentCurrentPressed => providersTokens.colorScheme.contentOnActionPressed; + Color get colorContentLoader => providersTokens.colorScheme.actionLoading; @override - double get fontLetterSpacingAvatarInitialXlarge => FontRawTokens.fontLetterSpacing450; + double get fontLetterSpacingAvatarInitialXlarge => + FontRawTokens.fontLetterSpacing450; @override - double get fontLineHeightAvatarInitialXlarge => FontRawTokens.fontLineHeight650; + double get fontLineHeightAvatarInitialXlarge => + FontRawTokens.fontLineHeight650; @override double get fontSizeAvatarInitialXlarge => FontRawTokens.fontSize450; @override @@ -73,21 +113,49 @@ class WireframeControlItemTokens extends OudsControlItemTokens { @override double get sizeAssetLarge => DimensionRawTokens.dimension500; @override - double get sizeAssetMedium => providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + double get sizeAssetMedium => + providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; @override - double get sizeAssetSmall => providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + double get sizeAssetSmall => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; @override double get sizeAssetXlarge => DimensionRawTokens.dimension700; @override - double get sizeControlIndicator => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + double get sizeControlIndicator => + providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; @override double get sizeCurrentIndicatorWidth => DimensionRawTokens.dimension50; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - double get sizeFlagHeight => providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + double get sizeErrorIcon => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + @override + double get sizeFlagHeight => + providersTokens.sizeTokens.iconWithLabelLargeSizeXsmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeIcon => + providersTokens.sizeTokens.iconWithLabelLargeSizeMedium; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeLoader => + providersTokens.sizeTokens.iconWithLabelLargeSizeSmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get sizeMaxHeightAssetsContainer => DimensionRawTokens.dimension1200; @override double get sizeMaxWidth => DimensionRawTokens.dimension4000; @override - double get sizeMinHeightCompact => providersTokens.sizeTokens.minInteractiveArea; + double get sizeMinHeightCompact => + providersTokens.sizeTokens.minInteractiveArea; @override double get sizeMinHeightDefault => DimensionRawTokens.dimension750; @override @@ -95,27 +163,50 @@ class WireframeControlItemTokens extends OudsControlItemTokens { @override double get spaceColumnGap => providersTokens.spaceTokens.columnGapMedium; @override - double get spacePaddingBlockBottomSlot => providersTokens.spaceTokens.paddingBlock3xsmall; + double get spacePaddingBlockBottomSlot => + providersTokens.spaceTokens.paddingBlock3xsmall; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) + @override + double get spacePaddingBlockDefault => + providersTokens.spaceTokens.paddingBlockMedium; + @override + double get spacePaddingBlockDensityCompact => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockDensityCompact => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingBlockDensityCompactBottomExpandContainer => + providersTokens.spaceTokens.paddingBlock2xlarge; @override - double get spacePaddingBlockDensityCompactBottomExpandContainer => providersTokens.spaceTokens.paddingBlock2xlarge; + double get spacePaddingBlockDensityCompactTopAlignmentTopCounterweight => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockDensityCompactTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingBlockDensityCompactTopAlignmentTopTextContainer => + providersTokens.spaceTokens.paddingBlockNone; @override - double get spacePaddingBlockDensityCompactTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlockNone; + double get spacePaddingBlockDensityDefault => + providersTokens.spaceTokens.paddingBlockMedium; @override - double get spacePaddingBlockDensityDefault => providersTokens.spaceTokens.paddingBlockMedium; + double get spacePaddingBlockDensityDefaultBottomExpandContainer => + providersTokens.spaceTokens.paddingBlock3xlarge; @override - double get spacePaddingBlockDensityDefaultBottomExpandContainer => providersTokens.spaceTokens.paddingBlock3xlarge; + double get spacePaddingBlockDensityDefaultTopAlignmentTopCounterweight => + providersTokens.spaceTokens.paddingBlockSmall; @override - double get spacePaddingBlockDensityDefaultTopAlignmentTopCounterweight => providersTokens.spaceTokens.paddingBlockSmall; + double get spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer => + providersTokens.spaceTokens.paddingBlock4xsmall; @override - double get spacePaddingBlockDensityDefaultTopAlignmentTopTextContainer => providersTokens.spaceTokens.paddingBlock4xsmall; + double get spacePaddingBlockTopHelperText => + providersTokens.spaceTokens.paddingBlockXsmall; @override - double get spacePaddingBlockTopHelperText => providersTokens.spaceTokens.paddingBlockXsmall; + double get spacePaddingInline => + providersTokens.spaceTokens.paddingInlineLarge; + @Deprecated( + "This token is deprecated and will be removed in a future version.", + ) @override - double get spacePaddingInline => providersTokens.spaceTokens.paddingInlineLarge; + double get spacePaddingInlineErrorIcon => + providersTokens.spaceTokens.paddingInline4xsmall; @override double get spaceRowGap => providersTokens.spaceTokens.rowGapNone; } diff --git a/pubspec.lock b/pubspec.lock index 60604724d..8a5e12e0b 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -65,14 +65,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.2" - code_assets: - dependency: transitive - description: - name: code_assets - sha256: "83ccdaa064c980b5596c35dd64a8d3ecc68620174ab9b90b6343b753aa721687" - url: "https://pub.dev" - source: hosted - version: "1.0.0" collection: dependency: transitive description: @@ -213,14 +205,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.3" - hooks: - dependency: transitive - description: - name: hooks - sha256: "7a08a0d684cb3b8fb604b78455d5d352f502b68079f7b80b831c62220ab0a4f6" - url: "https://pub.dev" - source: hosted - version: "1.0.1" html: dependency: transitive description: @@ -321,18 +305,10 @@ packages: dependency: transitive description: name: meta - sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" - url: "https://pub.dev" - source: hosted - version: "1.17.0" - native_toolchain_c: - dependency: transitive - description: - name: native_toolchain_c - sha256: "89e83885ba09da5fdf2cdacc8002a712ca238c28b7f717910b34bcd27b0d03ac" + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c url: "https://pub.dev" source: hosted - version: "0.17.4" + version: "1.16.0" nested: dependency: transitive description: @@ -341,14 +317,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.0" - objective_c: - dependency: transitive - description: - name: objective_c - sha256: "100a1c87616ab6ed41ec263b083c0ef3261ee6cd1dc3b0f35f8ddfa4f996fe52" - url: "https://pub.dev" - source: hosted - version: "9.3.0" package_config: dependency: transitive description: @@ -417,10 +385,10 @@ packages: dependency: transitive description: name: path_provider_foundation - sha256: "2a376b7d6392d80cd3705782d2caa734ca4727776db0b6ec36ef3f1855197699" + sha256: "6d13aece7b3f5c5a9731eaf553ff9dcbc2eff41087fd2df587fd0fed9a3eb0c4" url: "https://pub.dev" source: hosted - version: "2.6.0" + version: "2.5.1" path_provider_linux: dependency: transitive description: @@ -542,10 +510,10 @@ packages: dependency: transitive description: name: test_api - sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55 + sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00" url: "https://pub.dev" source: hosted - version: "0.7.7" + version: "0.7.6" typed_data: dependency: transitive description: @@ -574,10 +542,10 @@ packages: dependency: transitive description: name: url_launcher_ios - sha256: b1aca26728b7cc7a3af971bb6f601554a8ae9df2e0a006de8450ba06a17ad36a + sha256: cfde38aa257dae62ffe79c87fab20165dfdf6988c1d31b58ebf59b9106062aad url: "https://pub.dev" source: hosted - version: "6.4.0" + version: "6.3.6" url_launcher_linux: dependency: transitive description: @@ -606,10 +574,10 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: d0412fcf4c6b31ecfdb7762359b7206ffba3bbffd396c6d9f9c4616ece476c1f + sha256: "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2" url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.4.1" url_launcher_windows: dependency: transitive description: @@ -739,5 +707,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.10.3 <4.0.0" - flutter: ">=3.38.4" + dart: ">=3.9.0 <4.0.0" + flutter: ">=3.35.0" From 53733c59b92dcd09ed19a6106464bb356693c39d Mon Sep 17 00:00:00 2001 From: Ahmed Amine Zribi Date: Fri, 8 May 2026 10:10:27 +0100 Subject: [PATCH 04/13] chore: update version components --- .../components/tag/input_tag_demo_screen.dart | 44 ++++++++++++------- .../lib/ouds_component_version.dart | 2 +- 2 files changed, 30 insertions(+), 16 deletions(-) diff --git a/app/lib/ui/components/tag/input_tag_demo_screen.dart b/app/lib/ui/components/tag/input_tag_demo_screen.dart index b5ad60db6..e36b70f1b 100644 --- a/app/lib/ui/components/tag/input_tag_demo_screen.dart +++ b/app/lib/ui/components/tag/input_tag_demo_screen.dart @@ -33,7 +33,7 @@ import 'package:provider/provider.dart'; class InputTagDemoScreen extends StatefulWidget { final String? previousPageTitle; - const InputTagDemoScreen({super.key,this.previousPageTitle}); + const InputTagDemoScreen({super.key, this.previousPageTitle}); @override State createState() => _InputTagDemoScreenState(); @@ -53,7 +53,11 @@ class _InputTagDemoScreenState extends State { Widget build(BuildContext context) { return TagCustomization( child: Padding( - padding: EdgeInsets.only(bottom: defaultTargetPlatform == TargetPlatform.android ? MediaQuery.of(context).viewPadding.bottom : OudsTheme.of(context).spaceScheme(context).paddingBlockNone), + padding: EdgeInsets.only( + bottom: defaultTargetPlatform == TargetPlatform.android + ? MediaQuery.of(context).viewPadding.bottom + : OudsTheme.of(context).spaceScheme(context).paddingBlockNone, + ), child: Scaffold( bottomSheet: OudsSheetsBottom( onExpansionChanged: _onExpansionChanged, @@ -63,11 +67,14 @@ class _InputTagDemoScreenState extends State { key: _scaffoldKey, extendBodyBehindAppBar: true, appBar: MainAppBar( - showBackButton: true, - title: context.l10n.app_components_tag_inputTag_label, - previousPageTitle: widget.previousPageTitle, + showBackButton: true, + title: context.l10n.app_components_tag_inputTag_label, + previousPageTitle: widget.previousPageTitle, + ), + body: ExcludeSemantics( + excluding: !_isBottomSheetExpanded, + child: _Body(), ), - body: ExcludeSemantics(excluding: !_isBottomSheetExpanded, child: _Body()), ), ), ); @@ -85,19 +92,24 @@ class _Body extends StatefulWidget { class _BodyState extends State<_Body> { @override Widget build(BuildContext context) { - ThemeController? themeController = Provider.of(context, listen: false); + ThemeController? themeController = Provider.of( + context, + listen: false, + ); return DetailScreenDescription( description: context.l10n.app_components_inputTag_description_text, widget: Column( children: [ _InputTagDemo(), - SizedBox(height: themeController.currentTheme.spaceScheme(context).fixedMedium), - Code( - code: InputTagCodeGenerator.updateCode(context), + SizedBox( + height: themeController.currentTheme + .spaceScheme(context) + .fixedMedium, ), + Code(code: InputTagCodeGenerator.updateCode(context)), ReferenceDesignVersionComponent( - version: OudsComponentVersion.tag, - ) + version: OudsComponentVersion.inputTag, + ), ], ), ); @@ -146,7 +158,9 @@ class _CustomizationContentState extends State<_CustomizationContent> { @override Widget build(BuildContext context) { - final TagCustomizationState? customizationState = TagCustomization.of(context); + final TagCustomizationState? customizationState = TagCustomization.of( + context, + ); final labelFocus = FocusNode(); return CustomizableSection( @@ -163,8 +177,8 @@ class _CustomizationContentState extends State<_CustomizationContent> { text: customizationState.labelText, focusNode: labelFocus, fieldType: FieldType.label, - ) + ), ], ); } -} \ No newline at end of file +} diff --git a/ouds_theme_contract/lib/ouds_component_version.dart b/ouds_theme_contract/lib/ouds_component_version.dart index 7a8430f4a..e768deabb 100644 --- a/ouds_theme_contract/lib/ouds_component_version.dart +++ b/ouds_theme_contract/lib/ouds_component_version.dart @@ -13,7 +13,7 @@ // Generated by Tokenator class OudsComponentVersion { - static const alertMessage = '1.1.0'; + static const alertMessage = '1.1.1'; static const badge = '1.2.0'; static const badgeCount = '1.2.0'; static const badgeIcon = '1.3.0'; From 1657cc39824cdf31df9197a046e41cabf2bc8560 Mon Sep 17 00:00:00 2001 From: Ahmed Amine Zribi Date: Mon, 11 May 2026 14:00:19 +0100 Subject: [PATCH 05/13] chore(version): prepare version 2.0.0 (#747) Prepare version v2.0.0 (#747) --- app/pubspec.yaml | 16 ++++---- ouds_core/README.md | 12 +++--- ouds_core/pubspec.yaml | 4 +- ouds_global_raw_tokens/README.md | 2 +- ouds_global_raw_tokens/pubspec.yaml | 2 +- ouds_theme_contract/README.md | 2 +- ouds_theme_contract/pubspec.yaml | 4 +- ouds_theme_orange/README.md | 2 +- ouds_theme_orange/pubspec.yaml | 8 ++-- ouds_theme_orange_compact/README.md | 2 +- ouds_theme_orange_compact/pubspec.yaml | 10 ++--- ouds_theme_sosh/README.md | 2 +- ouds_theme_sosh/pubspec.yaml | 8 ++-- ouds_theme_wireframe/README.md | 2 +- ouds_theme_wireframe/pubspec.yaml | 8 ++-- pubspec.lock | 56 ++++++-------------------- 16 files changed, 54 insertions(+), 86 deletions(-) diff --git a/app/pubspec.yaml b/app/pubspec.yaml index ca8f387b6..2c2fee461 100644 --- a/app/pubspec.yaml +++ b/app/pubspec.yaml @@ -15,7 +15,7 @@ description: 'A new Flutter project.' # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 1.3.0+120 +version: 2.0.0+120 environment: sdk: ^3.9.0 @@ -50,19 +50,19 @@ dependencies: # URL Lancher. url_launcher: ^6.0.3 # Core - ouds_core: ^1.3.0 + ouds_core: ^2.0.0 # Global raw token - ouds_global_raw_tokens: ^1.3.0 + ouds_global_raw_tokens: ^2.0.0 # Orange Theme contract - ouds_theme_contract: ^1.3.0 + ouds_theme_contract: ^2.0.0 # Orange Theme - ouds_theme_orange: ^1.3.0 + ouds_theme_orange: ^2.0.0 # Orange Compact Theme - ouds_theme_orange_compact: ^1.3.0 + ouds_theme_orange_compact: ^2.0.0 # Sosh Theme - ouds_theme_sosh: ^1.3.0 + ouds_theme_sosh: ^2.0.0 # Wireframe Theme - ouds_theme_wireframe: ^1.3.0 + ouds_theme_wireframe: ^2.0.0 package_info_plus: ^8.3.1 # App Settings diff --git a/ouds_core/README.md b/ouds_core/README.md index 0c759b1e4..efb87d079 100644 --- a/ouds_core/README.md +++ b/ouds_core/README.md @@ -146,17 +146,17 @@ It is intended to replace internal frameworks and the previous [ODS](https://git ```yaml # Core - ouds_core: ^1.3.0 + ouds_core: ^2.0.0 # Orange Theme contract - ouds_theme_contract: ^1.3.0 + ouds_theme_contract: ^2.0.0 # Orange Theme - ouds_theme_orange: ^1.3.0 + ouds_theme_orange: ^2.0.0 # Orange Theme Compact - ouds_theme_orange_compact: ^1.3.0 + ouds_theme_orange_compact: ^2.0.0 # Sosh Theme - ouds_theme_sosh: ^1.3.0 + ouds_theme_sosh: ^2.0.0 # Wireframe Theme - ouds_theme_wireframe: ^1.3.0 + ouds_theme_wireframe: ^2.0.0 dependency_overrides: intl: ^0.20.2 diff --git a/ouds_core/pubspec.yaml b/ouds_core/pubspec.yaml index 080f9236a..cb54a1d8f 100644 --- a/ouds_core/pubspec.yaml +++ b/ouds_core/pubspec.yaml @@ -1,6 +1,6 @@ name: ouds_core description: 'Contains the main elements of the OUDS Android library.' -version: 1.3.0 +version: 2.0.0 environment: sdk: ^3.9.0 @@ -18,7 +18,7 @@ dependencies: # Flutter svg flutter_svg: ^2.2.3 # ouds_theme_contract - ouds_theme_contract: ^1.3.0 + ouds_theme_contract: ^2.0.0 # ouds_accessibility_plugin ouds_accessibility_plugin: ^0.2.0 # phone number handling diff --git a/ouds_global_raw_tokens/README.md b/ouds_global_raw_tokens/README.md index b0f96acd6..d6e48be73 100644 --- a/ouds_global_raw_tokens/README.md +++ b/ouds_global_raw_tokens/README.md @@ -14,7 +14,7 @@ To use **Ouds Global Raw Tokens**, add it as a dependency in your `pubspec.yaml` ```yaml dependencies: - ouds_global_raw_tokens: ^1.3.0 + ouds_global_raw_tokens: ^2.0.0 ``` ## Additional information diff --git a/ouds_global_raw_tokens/pubspec.yaml b/ouds_global_raw_tokens/pubspec.yaml index 0ad5f59eb..9ef328bc3 100644 --- a/ouds_global_raw_tokens/pubspec.yaml +++ b/ouds_global_raw_tokens/pubspec.yaml @@ -1,6 +1,6 @@ name: ouds_global_raw_tokens description: 'Raw tokens are basic design values (e.g., colors, typography) used to create a flexible and consistent theme' -version: 1.3.0 +version: 2.0.0 environment: sdk: ^3.9.0 diff --git a/ouds_theme_contract/README.md b/ouds_theme_contract/README.md index 49f4560e6..b17b3fef0 100644 --- a/ouds_theme_contract/README.md +++ b/ouds_theme_contract/README.md @@ -14,7 +14,7 @@ To use **Ouds Theme Contract**, add it as a dependency in your `pubspec.yaml` fi ```yaml dependencies: - ouds_theme_contract: ^1.3.0 + ouds_theme_contract: ^2.0.0 ``` ## Package Structure diff --git a/ouds_theme_contract/pubspec.yaml b/ouds_theme_contract/pubspec.yaml index bc05cecb0..97ab23799 100644 --- a/ouds_theme_contract/pubspec.yaml +++ b/ouds_theme_contract/pubspec.yaml @@ -1,6 +1,6 @@ name: ouds_theme_contract description: 'Defines the interface for theming in the OUDS framework, ensuring consistent application of design tokens.' -version: 1.3.0 +version: 2.0.0 environment: sdk: ^3.9.0 @@ -11,7 +11,7 @@ resolution: workspace dependencies: flutter: sdk: flutter - ouds_global_raw_tokens: ^1.3.0 + ouds_global_raw_tokens: ^2.0.0 dev_dependencies: flutter_test: diff --git a/ouds_theme_orange/README.md b/ouds_theme_orange/README.md index 8214d465b..6f2d547fa 100644 --- a/ouds_theme_orange/README.md +++ b/ouds_theme_orange/README.md @@ -15,7 +15,7 @@ dependency in your `pubspec.yaml` file. ```yaml dependencies: - ouds_theme_orange: ^1.3.0 + ouds_theme_orange: ^2.0.0 ``` ## Additional information diff --git a/ouds_theme_orange/pubspec.yaml b/ouds_theme_orange/pubspec.yaml index a396ae8e3..5c5a8ac43 100644 --- a/ouds_theme_orange/pubspec.yaml +++ b/ouds_theme_orange/pubspec.yaml @@ -1,6 +1,6 @@ name: ouds_theme_orange description: 'Orange theme implementation for OUDS, with branding-specific design tokens.' -version: 1.3.0 +version: 2.0.0 environment: sdk: ^3.9.0 @@ -11,9 +11,9 @@ resolution: workspace dependencies: flutter: sdk: flutter - ouds_core: ^1.3.0 - ouds_theme_contract: ^1.3.0 - ouds_global_raw_tokens: ^1.3.0 + ouds_core: ^2.0.0 + ouds_theme_contract: ^2.0.0 + ouds_global_raw_tokens: ^2.0.0 path_provider: ^2.0.0 http: ^1.6.0 diff --git a/ouds_theme_orange_compact/README.md b/ouds_theme_orange_compact/README.md index 66d9f4faf..6e6de7de2 100644 --- a/ouds_theme_orange_compact/README.md +++ b/ouds_theme_orange_compact/README.md @@ -14,7 +14,7 @@ To use **Theme Orange Compact**, add it as a dependency in your `pubspec.yaml` f ```yaml dependencies: - ouds_theme_orange_compact: ^1.3.0 + ouds_theme_orange_compact: ^2.0.0 ``` ## Other OUDS Libraries diff --git a/ouds_theme_orange_compact/pubspec.yaml b/ouds_theme_orange_compact/pubspec.yaml index 2173bb18f..cef714fee 100644 --- a/ouds_theme_orange_compact/pubspec.yaml +++ b/ouds_theme_orange_compact/pubspec.yaml @@ -1,6 +1,6 @@ name: ouds_theme_orange_compact description: 'Orange Compact theme implementation for OUDS, with branding-specific design tokens optimized for compact displays.' -version: 1.3.0 +version: 2.0.0 environment: sdk: ^3.9.0 @@ -11,10 +11,10 @@ resolution: workspace dependencies: flutter: sdk: flutter - ouds_core: ^1.3.0 - ouds_theme_contract: ^1.3.0 - ouds_global_raw_tokens: ^1.3.0 - ouds_theme_orange: ^1.3.0 + ouds_core: ^2.0.0 + ouds_theme_contract: ^2.0.0 + ouds_global_raw_tokens: ^2.0.0 + ouds_theme_orange: ^2.0.0 dev_dependencies: flutter_test: sdk: flutter diff --git a/ouds_theme_sosh/README.md b/ouds_theme_sosh/README.md index c8e4501c9..5fb56842c 100644 --- a/ouds_theme_sosh/README.md +++ b/ouds_theme_sosh/README.md @@ -14,7 +14,7 @@ To use **Theme Sosh**, add it as a dependency in your `pubspec.yaml` file. ```yaml dependencies: - ouds_theme_sosh: ^1.3.0 + ouds_theme_sosh: ^2.0.0 ``` ## Other OUDS Libraries diff --git a/ouds_theme_sosh/pubspec.yaml b/ouds_theme_sosh/pubspec.yaml index 814f6f113..3dbe3d25d 100644 --- a/ouds_theme_sosh/pubspec.yaml +++ b/ouds_theme_sosh/pubspec.yaml @@ -1,6 +1,6 @@ name: ouds_theme_sosh description: 'Sosh theme implementation for OUDS, with branding-specific design tokens.' -version: 1.3.0 +version: 2.0.0 environment: sdk: ^3.9.0 @@ -11,9 +11,9 @@ resolution: workspace dependencies: flutter: sdk: flutter - ouds_core: ^1.3.0 - ouds_theme_contract: ^1.3.0 - ouds_global_raw_tokens: ^1.3.0 + ouds_core: ^2.0.0 + ouds_theme_contract: ^2.0.0 + ouds_global_raw_tokens: ^2.0.0 dev_dependencies: flutter_test: diff --git a/ouds_theme_wireframe/README.md b/ouds_theme_wireframe/README.md index b200f2f5d..56810d13a 100644 --- a/ouds_theme_wireframe/README.md +++ b/ouds_theme_wireframe/README.md @@ -14,7 +14,7 @@ To use **Theme Wireframe**, add it as a dependency in your `pubspec.yaml` file. ```yaml dependencies: - ouds_theme_wireframe: ^1.3.0 + ouds_theme_wireframe: ^2.0.0 ``` ## Other OUDS Libraries diff --git a/ouds_theme_wireframe/pubspec.yaml b/ouds_theme_wireframe/pubspec.yaml index fa7ae1fc3..b986bbd97 100644 --- a/ouds_theme_wireframe/pubspec.yaml +++ b/ouds_theme_wireframe/pubspec.yaml @@ -1,6 +1,6 @@ name: ouds_theme_wireframe description: 'Wireframe theme implementation for OUDS, with branding-specific design tokens.' -version: 1.3.0 +version: 2.0.0 environment: sdk: ^3.9.0 @@ -11,9 +11,9 @@ resolution: workspace dependencies: flutter: sdk: flutter - ouds_core: ^1.3.0 - ouds_theme_contract: ^1.3.0 - ouds_global_raw_tokens: ^1.3.0 + ouds_core: ^2.0.0 + ouds_theme_contract: ^2.0.0 + ouds_global_raw_tokens: ^2.0.0 dev_dependencies: flutter_test: diff --git a/pubspec.lock b/pubspec.lock index 60604724d..8a5e12e0b 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -65,14 +65,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.2" - code_assets: - dependency: transitive - description: - name: code_assets - sha256: "83ccdaa064c980b5596c35dd64a8d3ecc68620174ab9b90b6343b753aa721687" - url: "https://pub.dev" - source: hosted - version: "1.0.0" collection: dependency: transitive description: @@ -213,14 +205,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.3" - hooks: - dependency: transitive - description: - name: hooks - sha256: "7a08a0d684cb3b8fb604b78455d5d352f502b68079f7b80b831c62220ab0a4f6" - url: "https://pub.dev" - source: hosted - version: "1.0.1" html: dependency: transitive description: @@ -321,18 +305,10 @@ packages: dependency: transitive description: name: meta - sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" - url: "https://pub.dev" - source: hosted - version: "1.17.0" - native_toolchain_c: - dependency: transitive - description: - name: native_toolchain_c - sha256: "89e83885ba09da5fdf2cdacc8002a712ca238c28b7f717910b34bcd27b0d03ac" + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c url: "https://pub.dev" source: hosted - version: "0.17.4" + version: "1.16.0" nested: dependency: transitive description: @@ -341,14 +317,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.0" - objective_c: - dependency: transitive - description: - name: objective_c - sha256: "100a1c87616ab6ed41ec263b083c0ef3261ee6cd1dc3b0f35f8ddfa4f996fe52" - url: "https://pub.dev" - source: hosted - version: "9.3.0" package_config: dependency: transitive description: @@ -417,10 +385,10 @@ packages: dependency: transitive description: name: path_provider_foundation - sha256: "2a376b7d6392d80cd3705782d2caa734ca4727776db0b6ec36ef3f1855197699" + sha256: "6d13aece7b3f5c5a9731eaf553ff9dcbc2eff41087fd2df587fd0fed9a3eb0c4" url: "https://pub.dev" source: hosted - version: "2.6.0" + version: "2.5.1" path_provider_linux: dependency: transitive description: @@ -542,10 +510,10 @@ packages: dependency: transitive description: name: test_api - sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55 + sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00" url: "https://pub.dev" source: hosted - version: "0.7.7" + version: "0.7.6" typed_data: dependency: transitive description: @@ -574,10 +542,10 @@ packages: dependency: transitive description: name: url_launcher_ios - sha256: b1aca26728b7cc7a3af971bb6f601554a8ae9df2e0a006de8450ba06a17ad36a + sha256: cfde38aa257dae62ffe79c87fab20165dfdf6988c1d31b58ebf59b9106062aad url: "https://pub.dev" source: hosted - version: "6.4.0" + version: "6.3.6" url_launcher_linux: dependency: transitive description: @@ -606,10 +574,10 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: d0412fcf4c6b31ecfdb7762359b7206ffba3bbffd396c6d9f9c4616ece476c1f + sha256: "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2" url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.4.1" url_launcher_windows: dependency: transitive description: @@ -739,5 +707,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.10.3 <4.0.0" - flutter: ">=3.38.4" + dart: ">=3.9.0 <4.0.0" + flutter: ">=3.35.0" From c9a3cda8ac733bbb520bb04d5a7f74555670dccd Mon Sep 17 00:00:00 2001 From: nhammami Date: Wed, 13 May 2026 16:12:43 +0100 Subject: [PATCH 06/13] feat(pin-code-input): update pin code input to v1.3 --- app/CHANGELOG.md | 1 + ouds_core/CHANGELOG.md | 1 + .../digit_input/ouds_digit_input.dart | 157 +++++++++++------- 3 files changed, 97 insertions(+), 62 deletions(-) diff --git a/app/CHANGELOG.md b/app/CHANGELOG.md index fe6fa6971..835dbf849 100644 --- a/app/CHANGELOG.md +++ b/app/CHANGELOG.md @@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased](https://github.com/Orange-OpenSource/ouds-flutter/compare/1.3.0...develop) ### Added ### Changed +- [Library] update `Pin code input` component to v1.3 ([#691(https://github.com/Orange-OpenSource/ouds-flutter/issues/691)) - [DemoApp][Library] update tokens 2.4.0 ([#726](https://github.com/Orange-OpenSource/ouds-flutter/issues/726)) ### Fixed diff --git a/ouds_core/CHANGELOG.md b/ouds_core/CHANGELOG.md index 2669d9cd4..b3f046c46 100644 --- a/ouds_core/CHANGELOG.md +++ b/ouds_core/CHANGELOG.md @@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased](https://github.com/Orange-OpenSource/ouds-flutter/compare/1.3.0...develop) ### Added ### Changed +- [Library] update `Pin code input` component to v1.3 ([#691(https://github.com/Orange-OpenSource/ouds-flutter/issues/691)) - [Library] update tokens 2.4.0 ([#726](https://github.com/Orange-OpenSource/ouds-flutter/issues/726)) ### Fixed diff --git a/ouds_core/lib/components/pin_code_input/digit_input/ouds_digit_input.dart b/ouds_core/lib/components/pin_code_input/digit_input/ouds_digit_input.dart index 6c37b3123..246f5316e 100644 --- a/ouds_core/lib/components/pin_code_input/digit_input/ouds_digit_input.dart +++ b/ouds_core/lib/components/pin_code_input/digit_input/ouds_digit_input.dart @@ -133,7 +133,9 @@ class _OudsDigitInputState extends State { @override void initState() { super.initState(); - _keyboardFocusNode = FocusNode(skipTraversal: true); // focus technique uniquement pour clavier + _keyboardFocusNode = FocusNode( + skipTraversal: true, + ); // focus technique uniquement pour clavier } @override @@ -144,9 +146,14 @@ class _OudsDigitInputState extends State { @override Widget build(BuildContext context) { - final pinCodeToken = OudsTheme.of(context).componentsTokens(context).pinCodeInput; - final textInputToken = OudsTheme.of(context).componentsTokens(context).textInput; - final pinCodeInputBackgroundModifier = OudsPinCodeInputBackgroundColorModifier(context); + final pinCodeToken = OudsTheme.of( + context, + ).componentsTokens(context).pinCodeInput; + final textInputToken = OudsTheme.of( + context, + ).componentsTokens(context).textInput; + final pinCodeInputBackgroundModifier = + OudsPinCodeInputBackgroundColorModifier(context); final pinCodeInputBorderModifier = OudsPinCodeInputBorderModifier(context); final textInputBorderModifier = OudsFormFieldsBorderModifier(context); final pinCodeInputTextModifier = OudsPinCodeInputTextColorModifier(context); @@ -168,69 +175,95 @@ class _OudsDigitInputState extends State { }, child: Container( height: textInputToken.sizeMinHeight, - constraints: BoxConstraints( - maxWidth: pinCodeToken.sizeMaxWidth, - minWidth: pinCodeToken.sizeMinWidth), - decoration: BoxDecoration( - color: pinCodeInputBackgroundModifier.getPinCodeBackgroundColor(state, widget.isError, widget.digitInputDecoration!.isOutlined), - border: pinCodeInputBorderModifier.getPinCodeBorder(state, widget.isError, widget.digitInputDecoration!.isOutlined), - borderRadius: textInputBorderModifier.getBorderRadius(context), + constraints: BoxConstraints( + maxWidth: pinCodeToken.sizeMaxWidth, + minWidth: pinCodeToken.sizeMinWidth, + ), + decoration: BoxDecoration( + color: pinCodeInputBackgroundModifier.getPinCodeBackgroundColor( + state, + widget.isError, + widget.digitInputDecoration!.isOutlined, ), - child: Center( - child: KeyboardListener( - focusNode: _keyboardFocusNode, - onKeyEvent: (KeyEvent event) { - if (event is KeyDownEvent && event.logicalKey == LogicalKeyboardKey.backspace) { - final text = widget.controller?.text ?? ''; - if (text.isEmpty && widget.index > 0) { - widget.onBackspaceOnEmpty?.call(); - } + border: pinCodeInputBorderModifier.getPinCodeBorder( + state, + widget.isError, + widget.digitInputDecoration!.isOutlined, + ), + borderRadius: textInputBorderModifier.getBorderRadius(context), + ), + child: Center( + child: KeyboardListener( + focusNode: _keyboardFocusNode, + onKeyEvent: (KeyEvent event) { + if (event is KeyDownEvent && + event.logicalKey == LogicalKeyboardKey.backspace) { + final text = widget.controller?.text ?? ''; + if (text.isEmpty && widget.index > 0) { + widget.onBackspaceOnEmpty?.call(); } - }, - child: TextField( - cursorHeight: theme.fontTokens.lineHeightLabelLarge, - obscureText: widget.digitInputDecoration!.hiddenPassword, - obscuringCharacter: "●", - style: theme.typographyTokens.typeLabelDefaultLarge(context).copyWith( - color: theme.colorScheme(context).contentDefault, - ), - cursorColor: pinCodeInputTextModifier.getPinCodeCursorColor(widget.isError), - controller: widget.controller, - focusNode: widget.focusNode, - keyboardType: widget.digitInputDecoration!.keyboardType == OudsPinCodeInputKeyboardType.numeric - ? TextInputType.number - : TextInputType.text, - inputFormatters: widget.digitInputDecoration!.keyboardType == OudsPinCodeInputKeyboardType.numeric - ? [FilteringTextInputFormatter.digitsOnly] - : null, - textAlign: TextAlign.center, - maxLines: 1, - buildCounter: (_, {required currentLength, required isFocused, required maxLength}) => null, // to hide the counter - decoration: InputDecoration( - border: InputBorder.none, - enabledBorder: InputBorder.none, - focusedBorder: InputBorder.none, - contentPadding: EdgeInsets.zero, - counterText: '', - hintText: widget.digitInputDecoration?.hintText, - hintStyle: theme.typographyTokens.typeLabelDefaultLarge(context).copyWith( - color: theme.colorScheme(context).contentMuted, - ), // remove internal padding - ), - onChanged: (value) { - widget.onChanged!(value, widget.index); - setState(() {}); - }, - onTap: () { - //cursor should be always at the end of digit input - final text = widget.controller?.text; - widget.controller?.selection = TextSelection.fromPosition( - TextPosition(offset: text!.length), - ); - }, + } + }, + child: TextField( + cursorHeight: theme.fontTokens.lineHeightLabelLarge, + obscureText: widget.digitInputDecoration!.hiddenPassword, + obscuringCharacter: "●", + style: theme.typographyTokens + .typeLabelModerateLarge(context) + .copyWith(color: theme.colorScheme(context).contentDefault), + cursorColor: pinCodeInputTextModifier.getPinCodeCursorColor( + widget.isError, + ), + controller: widget.controller, + focusNode: widget.focusNode, + keyboardType: + widget.digitInputDecoration!.keyboardType == + OudsPinCodeInputKeyboardType.numeric + ? TextInputType.number + : TextInputType.text, + inputFormatters: + widget.digitInputDecoration!.keyboardType == + OudsPinCodeInputKeyboardType.numeric + ? [ + FilteringTextInputFormatter.digitsOnly, + ] + : null, + textAlign: TextAlign.center, + maxLines: 1, + buildCounter: + ( + _, { + required currentLength, + required isFocused, + required maxLength, + }) => null, // to hide the counter + decoration: InputDecoration( + border: InputBorder.none, + enabledBorder: InputBorder.none, + focusedBorder: InputBorder.none, + contentPadding: EdgeInsets.zero, + counterText: '', + hintText: widget.digitInputDecoration?.hintText, + hintStyle: theme.typographyTokens + .typeLabelDefaultLarge(context) + .copyWith( + color: theme.colorScheme(context).contentMuted, + ), // remove internal padding ), + onChanged: (value) { + widget.onChanged!(value, widget.index); + setState(() {}); + }, + onTap: () { + //cursor should be always at the end of digit input + final text = widget.controller?.text; + widget.controller?.selection = TextSelection.fromPosition( + TextPosition(offset: text!.length), + ); + }, ), ), + ), ), ), ); From 5f81eccd9ae8912409614e3344dde1ad191e2199 Mon Sep 17 00:00:00 2001 From: nhammami Date: Fri, 15 May 2026 09:48:49 +0100 Subject: [PATCH 07/13] fix(pin-code-input): do not move focus automatically when voice over is active and remove the hint of the group of digits --- app/CHANGELOG.md | 2 ++ ouds_core/CHANGELOG.md | 4 ++- .../pin_code_input/ouds_pin_code_input.dart | 28 ++++++++++++------- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/app/CHANGELOG.md b/app/CHANGELOG.md index 835dbf849..bd175a475 100644 --- a/app/CHANGELOG.md +++ b/app/CHANGELOG.md @@ -11,6 +11,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [DemoApp][Library] update tokens 2.4.0 ([#726](https://github.com/Orange-OpenSource/ouds-flutter/issues/726)) ### Fixed +- [Library] `Pin code input` Focus should not move automatically to the next field ([#649](https://github.com/Orange-OpenSource/ouds-flutter/issues/649)) +- [Library] `Pin code input` Remove the hint on the group of digits ([#628](https://github.com/Orange-OpenSource/ouds-flutter/issues/628)) ## [1.3.0](https://github.com/Orange-OpenSource/ouds-flutter/compare/1.2.0...1.3.0) - 2026-05-08 ### Added diff --git a/ouds_core/CHANGELOG.md b/ouds_core/CHANGELOG.md index b3f046c46..9a4c4e8a9 100644 --- a/ouds_core/CHANGELOG.md +++ b/ouds_core/CHANGELOG.md @@ -7,10 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased](https://github.com/Orange-OpenSource/ouds-flutter/compare/1.3.0...develop) ### Added ### Changed -- [Library] update `Pin code input` component to v1.3 ([#691(https://github.com/Orange-OpenSource/ouds-flutter/issues/691)) +- [Library] update `Pin code input` component to v1.3 ([#691](https://github.com/Orange-OpenSource/ouds-flutter/issues/691)) - [Library] update tokens 2.4.0 ([#726](https://github.com/Orange-OpenSource/ouds-flutter/issues/726)) ### Fixed +- [Library] `Pin code input` Focus should not move automatically to the next field ([#649](https://github.com/Orange-OpenSource/ouds-flutter/issues/649)) +- [Library] `Pin code input` Remove the hint on the group of digits ([#628](https://github.com/Orange-OpenSource/ouds-flutter/issues/628)) ## [1.3.0](https://github.com/Orange-OpenSource/ouds-flutter/compare/1.2.0...1.3.0) - 2026-05-08 ### Added diff --git a/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart b/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart index 11402f960..c08ad5f5e 100644 --- a/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart +++ b/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart @@ -202,13 +202,11 @@ class _OudsPinCodeInputState extends State { widget.errorText != null || (widget.errorText != null && widget.errorText!.isEmpty); final l10n = OudsLocalizations.of(context); - final hintSemanticText = - "${widget.errorText != null && isError - ? widget.errorText! - : widget.helperText != null - ? widget.helperText! - : ''}" - " , ${l10n?.core_common_hint_a11y}"; + final hintSemanticText = widget.errorText != null && isError + ? widget.errorText! + : widget.helperText != null + ? widget.helperText! + : ''; return Container( constraints: BoxConstraints( @@ -244,6 +242,7 @@ class _OudsPinCodeInputState extends State { "${l10n?.core_pinCodeInput_digitCode_label_a11y(index + 1)}, " "${!widget.digitInputDecoration.hiddenPassword && widget.controllers != null ? widget.controllers![index].text : ''}, " "${l10n?.core_pinCodeInput_trait_a11y}", + hint: l10n?.core_common_hint_a11y, child: OudsDigitInput( index: index, isError: isError, @@ -369,6 +368,9 @@ class _OudsPinCodeInputState extends State { /// Moves focus to the previous digit field when the index is valid. void _requestFocusOnPreviousField(int index) { + if (MediaQuery.of(context).accessibleNavigation) { + return; + } if (index <= 0) return; final previousIndex = index - 1; if (previousIndex >= _focusNodes.length) return; @@ -395,7 +397,9 @@ class _OudsPinCodeInputState extends State { required int totalDigits, required String code, }) { - if (index < totalDigits - 1) { + final isAccessibilityEnabled = MediaQuery.of(context).accessibleNavigation; + + if (!isAccessibilityEnabled && index < totalDigits - 1) { _focusNodes[index + 1].requestFocus(); return; } @@ -410,7 +414,9 @@ class _OudsPinCodeInputState extends State { void _handlePaste(String value) { final totalDigits = widget.length.digits; final controllers = widget.controllers!; - final sanitized = widget.digitInputDecoration.keyboardType == OudsPinCodeInputKeyboardType.numeric + final sanitized = + widget.digitInputDecoration.keyboardType == + OudsPinCodeInputKeyboardType.numeric ? value.replaceAll(RegExp(r'\D'), '') : value; final digits = sanitized.characters.take(totalDigits).toList(); @@ -431,7 +437,9 @@ class _OudsPinCodeInputState extends State { widget.onEditingComplete?.call(code); } else { final nextIndex = digits.length.clamp(0, totalDigits - 1); - _focusNodes[nextIndex].requestFocus(); + if (!MediaQuery.of(context).accessibleNavigation) { + _focusNodes[nextIndex].requestFocus(); + } } } From 6ae9a2b076d3168fa998d4c38572ccb34a9e879a Mon Sep 17 00:00:00 2001 From: nhammami Date: Wed, 20 May 2026 17:02:31 +0100 Subject: [PATCH 08/13] feat(pin-code-input): update component and fix accessibility issues --- .../digit_input/ouds_digit_input.dart | 217 ++++++++++-------- .../pin_code_input/ouds_pin_code_input.dart | 39 ++-- .../lib/components/orange_alert_tokens.dart | 9 +- 3 files changed, 149 insertions(+), 116 deletions(-) diff --git a/ouds_core/lib/components/pin_code_input/digit_input/ouds_digit_input.dart b/ouds_core/lib/components/pin_code_input/digit_input/ouds_digit_input.dart index 6ac5a984d..a4f98b96c 100644 --- a/ouds_core/lib/components/pin_code_input/digit_input/ouds_digit_input.dart +++ b/ouds_core/lib/components/pin_code_input/digit_input/ouds_digit_input.dart @@ -135,7 +135,9 @@ class _OudsDigitInputState extends State { @override void initState() { super.initState(); - _keyboardFocusNode = FocusNode(skipTraversal: true); // focus technique uniquement pour clavier + _keyboardFocusNode = FocusNode( + skipTraversal: true, + ); // focus technique uniquement pour clavier } @override @@ -146,9 +148,14 @@ class _OudsDigitInputState extends State { @override Widget build(BuildContext context) { - final pinCodeToken = OudsTheme.of(context).componentsTokens(context).pinCodeInput; - final textInputToken = OudsTheme.of(context).componentsTokens(context).textInput; - final pinCodeInputBackgroundModifier = OudsPinCodeInputBackgroundColorModifier(context); + final pinCodeToken = OudsTheme.of( + context, + ).componentsTokens(context).pinCodeInput; + final textInputToken = OudsTheme.of( + context, + ).componentsTokens(context).textInput; + final pinCodeInputBackgroundModifier = + OudsPinCodeInputBackgroundColorModifier(context); final pinCodeInputBorderModifier = OudsPinCodeInputBorderModifier(context); final textInputBorderModifier = OudsFormFieldsBorderModifier(context); final pinCodeInputTextModifier = OudsPinCodeInputTextColorModifier(context); @@ -170,102 +177,122 @@ class _OudsDigitInputState extends State { }, child: Container( height: textInputToken.sizeMinHeight, - constraints: BoxConstraints( - maxWidth: pinCodeToken.sizeMaxWidth, - minWidth: pinCodeToken.sizeMinWidth), - decoration: BoxDecoration( - color: pinCodeInputBackgroundModifier.getPinCodeBackgroundColor(state, widget.isError, widget.digitInputDecoration!.isOutlined), - border: pinCodeInputBorderModifier.getPinCodeBorder(state, widget.isError, widget.digitInputDecoration!.isOutlined), - borderRadius: textInputBorderModifier.getBorderRadius(context), + constraints: BoxConstraints( + maxWidth: pinCodeToken.sizeMaxWidth, + minWidth: pinCodeToken.sizeMinWidth, + ), + decoration: BoxDecoration( + color: pinCodeInputBackgroundModifier.getPinCodeBackgroundColor( + state, + widget.isError, + widget.digitInputDecoration!.isOutlined, ), - child: Center( - child: KeyboardListener( - focusNode: _keyboardFocusNode, - onKeyEvent: (KeyEvent event) { - if (event is KeyDownEvent && event.logicalKey == LogicalKeyboardKey.backspace) { - final text = widget.controller?.text ?? ''; - if (text.isEmpty && widget.index > 0) { - widget.onBackspaceOnEmpty?.call(); - } + border: pinCodeInputBorderModifier.getPinCodeBorder( + state, + widget.isError, + widget.digitInputDecoration!.isOutlined, + ), + borderRadius: textInputBorderModifier.getBorderRadius(context), + ), + child: Center( + child: KeyboardListener( + focusNode: _keyboardFocusNode, + onKeyEvent: (KeyEvent event) { + if (event is KeyDownEvent && + event.logicalKey == LogicalKeyboardKey.backspace) { + final text = widget.controller?.text ?? ''; + if (text.isEmpty && widget.index > 0) { + widget.onBackspaceOnEmpty?.call(); } - }, - child: TextField( - cursorHeight: theme.fontTokens.lineHeightLabelLarge, - obscureText: widget.digitInputDecoration!.hiddenPassword, - obscuringCharacter: "●", - style: theme.typographyTokens.typeLabelDefaultLarge(context).copyWith( - color: theme.colorScheme(context).contentDefault, - ), - cursorColor: pinCodeInputTextModifier.getPinCodeCursorColor(widget.isError), - controller: widget.controller, - focusNode: widget.focusNode, - keyboardType: widget.digitInputDecoration!.keyboardType == OudsPinCodeInputKeyboardType.numeric - ? TextInputType.number - : TextInputType.text, - inputFormatters: [ - // Let a full pasted code arrive intact in one cell so the - // parent's `_distributeCode` can spread it. Without this, - // Flutter's default `maxLength` behaviour would clip. - LengthLimitingTextInputFormatter(widget.length.digits), - if (widget.digitInputDecoration!.keyboardType == - OudsPinCodeInputKeyboardType.numeric) - FilteringTextInputFormatter.digitsOnly, - ], - // Long-press paste bypasses the TextField entirely: we - // rebuild the platform toolbar but swap the Paste action - // for the parent's clipboard-direct handler. - contextMenuBuilder: widget.onPasteRequested == null - ? null - : (context, editableTextState) { - final items = editableTextState - .contextMenuButtonItems - .map((item) { - if (item.type == - ContextMenuButtonType.paste) { - return ContextMenuButtonItem( - type: ContextMenuButtonType.paste, - onPressed: () { - editableTextState.hideToolbar(); - widget.onPasteRequested!(); - }, - ); - } - return item; - }) - .toList(); - return AdaptiveTextSelectionToolbar.buttonItems( - anchors: editableTextState.contextMenuAnchors, - buttonItems: items, - ); - }, - textAlign: TextAlign.center, - maxLines: 1, - buildCounter: (_, {required currentLength, required isFocused, required maxLength}) => null, // to hide the counter - decoration: InputDecoration( - border: InputBorder.none, - enabledBorder: InputBorder.none, - focusedBorder: InputBorder.none, - contentPadding: EdgeInsets.zero, - counterText: '', - hintText: widget.digitInputDecoration?.hintText, - hintStyle: theme.typographyTokens.typeLabelDefaultLarge(context).copyWith( - color: theme.colorScheme(context).contentMuted, - ), // remove internal padding - ), - onChanged: (value) { - widget.onChanged!(value, widget.index); - setState(() {}); - }, - onTap: () { - //cursor should be always at the end of digit input - final text = widget.controller?.text; - widget.controller?.selection = TextSelection.fromPosition( - TextPosition(offset: text!.length), - ); - }, + } + }, + child: TextField( + cursorHeight: theme.fontTokens.lineHeightLabelLarge, + obscureText: widget.digitInputDecoration!.hiddenPassword, + obscuringCharacter: "●", + style: theme.typographyTokens + .typeLabelModerateLarge(context) + .copyWith(color: theme.colorScheme(context).contentDefault), + cursorColor: pinCodeInputTextModifier.getPinCodeCursorColor( + widget.isError, + ), + controller: widget.controller, + focusNode: widget.focusNode, + keyboardType: + widget.digitInputDecoration!.keyboardType == + OudsPinCodeInputKeyboardType.numeric + ? TextInputType.number + : TextInputType.text, + inputFormatters: [ + // Let a full pasted code arrive intact in one cell so the + // parent's `_distributeCode` can spread it. Without this, + // Flutter's default `maxLength` behaviour would clip. + LengthLimitingTextInputFormatter(widget.length.digits), + if (widget.digitInputDecoration!.keyboardType == + OudsPinCodeInputKeyboardType.numeric) + FilteringTextInputFormatter.digitsOnly, + ], + // Long-press paste bypasses the TextField entirely: we + // rebuild the platform toolbar but swap the Paste action + // for the parent's clipboard-direct handler. + contextMenuBuilder: widget.onPasteRequested == null + ? null + : (context, editableTextState) { + final items = editableTextState.contextMenuButtonItems + .map((item) { + if (item.type == ContextMenuButtonType.paste) { + return ContextMenuButtonItem( + type: ContextMenuButtonType.paste, + onPressed: () { + editableTextState.hideToolbar(); + widget.onPasteRequested!(); + }, + ); + } + return item; + }) + .toList(); + return AdaptiveTextSelectionToolbar.buttonItems( + anchors: editableTextState.contextMenuAnchors, + buttonItems: items, + ); + }, + textAlign: TextAlign.center, + maxLines: 1, + buildCounter: + ( + _, { + required currentLength, + required isFocused, + required maxLength, + }) => null, // to hide the counter + decoration: InputDecoration( + border: InputBorder.none, + enabledBorder: InputBorder.none, + focusedBorder: InputBorder.none, + contentPadding: EdgeInsets.zero, + counterText: '', + hintText: widget.digitInputDecoration?.hintText, + hintStyle: theme.typographyTokens + .typeLabelDefaultLarge(context) + .copyWith( + color: theme.colorScheme(context).contentMuted, + ), // remove internal padding ), + onChanged: (value) { + widget.onChanged!(value, widget.index); + setState(() {}); + }, + onTap: () { + //cursor should be always at the end of digit input + final text = widget.controller?.text; + widget.controller?.selection = TextSelection.fromPosition( + TextPosition(offset: text!.length), + ); + }, ), ), + ), ), ), ); diff --git a/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart b/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart index 6386ad23f..18666d21c 100644 --- a/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart +++ b/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart @@ -101,13 +101,13 @@ enum OudsPinCodeInputKeyboardType { class OudsPinCodeInput extends StatefulWidget { final OudsPinCodeInputLength length; final String? helperText; - late String? errorText; + final String? errorText; final List? controllers; final void Function(String)? onEditingComplete; final void Function(String)? onChanged; final OudsDigitInputDecoration digitInputDecoration; - OudsPinCodeInput({ + const OudsPinCodeInput({ super.key, this.length = OudsPinCodeInputLength.six, this.helperText, @@ -203,13 +203,11 @@ class _OudsPinCodeInputState extends State { widget.errorText != null || (widget.errorText != null && widget.errorText!.isEmpty); final l10n = OudsLocalizations.of(context); - final hintSemanticText = - "${widget.errorText != null && isError - ? widget.errorText! - : widget.helperText != null - ? widget.helperText! - : ''}" - " , ${l10n?.core_common_hint_a11y}"; + final hintSemanticText = widget.errorText != null && isError + ? widget.errorText! + : widget.helperText != null + ? widget.helperText! + : ''; return Container( constraints: BoxConstraints( @@ -241,6 +239,7 @@ class _OudsPinCodeInputState extends State { fit: FlexFit.loose, child: Semantics( liveRegion: true, + hint: l10n?.core_common_hint_a11y, label: "${l10n?.core_pinCodeInput_digitCode_label_a11y(index + 1)}, " "${!widget.digitInputDecoration.hiddenPassword && widget.controllers != null ? widget.controllers![index].text : ''}, " @@ -334,7 +333,8 @@ class _OudsPinCodeInputState extends State { return; } - final sanitized = widget.digitInputDecoration.keyboardType == + final sanitized = + widget.digitInputDecoration.keyboardType == OudsPinCodeInputKeyboardType.numeric ? value.replaceAll(RegExp(r'\D'), '') : value; @@ -384,6 +384,9 @@ class _OudsPinCodeInputState extends State { /// Moves focus to the previous digit field when the index is valid. void _requestFocusOnPreviousField(int index) { + if (MediaQuery.of(context).accessibleNavigation) { + return; + } if (index <= 0) return; final previousIndex = index - 1; if (previousIndex >= _focusNodes.length) return; @@ -410,7 +413,8 @@ class _OudsPinCodeInputState extends State { required int totalDigits, required String code, }) { - if (index < totalDigits - 1) { + final isAccessibilityEnabled = MediaQuery.of(context).accessibleNavigation; + if (!isAccessibilityEnabled && index < totalDigits - 1) { _focusNodes[index + 1].requestFocus(); return; } @@ -439,10 +443,9 @@ class _OudsPinCodeInputState extends State { Future _safeReadClipboard() async { try { - final data = await Clipboard.getData(Clipboard.kTextPlain).timeout( - const Duration(seconds: 2), - onTimeout: () => null, - ); + final data = await Clipboard.getData( + Clipboard.kTextPlain, + ).timeout(const Duration(seconds: 2), onTimeout: () => null); return data?.text; } catch (_) { return null; @@ -460,12 +463,12 @@ class _OudsPinCodeInputState extends State { final totalDigits = widget.length.digits; final controllers = widget.controllers; if (controllers == null) return; - if (controllers.length < totalDigits || - _focusNodes.length < totalDigits) { + if (controllers.length < totalDigits || _focusNodes.length < totalDigits) { return; } - final sanitized = widget.digitInputDecoration.keyboardType == + final sanitized = + widget.digitInputDecoration.keyboardType == OudsPinCodeInputKeyboardType.numeric ? raw.replaceAll(RegExp(r'\D'), '') : raw; diff --git a/ouds_theme_orange/lib/components/orange_alert_tokens.dart b/ouds_theme_orange/lib/components/orange_alert_tokens.dart index 6b067638b..04c916ad2 100644 --- a/ouds_theme_orange/lib/components/orange_alert_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_alert_tokens.dart @@ -33,7 +33,8 @@ class OrangeAlertTokens extends OudsAlertTokens { @override double get sizeMinHeight => providersTokens.sizeTokens.minInteractiveArea; @override - double get sizeMinHeightBottomActionPlacement => DimensionRawTokens.dimension1250; + double get sizeMinHeightBottomActionPlacement => + DimensionRawTokens.dimension1250; @override double get sizeMinWidth => DimensionRawTokens.dimension2000; @override @@ -41,9 +42,11 @@ class OrangeAlertTokens extends OudsAlertTokens { @override double get spaceColumnGapAction => providersTokens.spaceTokens.columnGapSmall; @override - double get spacePaddingBlock => providersTokens.spaceTokens.paddingBlockMedium; + double get spacePaddingBlock => + providersTokens.spaceTokens.paddingBlockMedium; @override - double get spacePaddingInline => providersTokens.spaceTokens.paddingInlineLarge; + double get spacePaddingInline => + providersTokens.spaceTokens.paddingInlineLarge; @override double get spaceRowGap => providersTokens.spaceTokens.rowGapSmall; @override From b014d58edbef710a0bc73bf32c301575d038f3a4 Mon Sep 17 00:00:00 2001 From: nhammami Date: Wed, 20 May 2026 17:02:31 +0100 Subject: [PATCH 09/13] feat(pin-code-input): update component and fix accessibility issues --- app/CHANGELOG.md | 2 +- .../digit_input/ouds_digit_input.dart | 217 ++++++++++-------- .../pin_code_input/ouds_pin_code_input.dart | 39 ++-- .../lib/components/orange_alert_tokens.dart | 9 +- 4 files changed, 150 insertions(+), 117 deletions(-) diff --git a/app/CHANGELOG.md b/app/CHANGELOG.md index bdc3ef765..c660f100d 100644 --- a/app/CHANGELOG.md +++ b/app/CHANGELOG.md @@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased](https://github.com/Orange-OpenSource/ouds-flutter/compare/1.3.1...develop) ### Added ### Changed -- [Library] update `Pin code input` component to v1.3 ([#691(https://github.com/Orange-OpenSource/ouds-flutter/issues/691)) +- [Library] update `Pin code input` component to v1.3 ([#691](https://github.com/Orange-OpenSource/ouds-flutter/issues/691)) - [DemoApp][Library] update tokens 2.5.0 ([#778](https://github.com/Orange-OpenSource/ouds-flutter/issues/778)) - [DemoApp][Library] update tokens 2.4.0 ([#726](https://github.com/Orange-OpenSource/ouds-flutter/issues/726)) diff --git a/ouds_core/lib/components/pin_code_input/digit_input/ouds_digit_input.dart b/ouds_core/lib/components/pin_code_input/digit_input/ouds_digit_input.dart index 6ac5a984d..a4f98b96c 100644 --- a/ouds_core/lib/components/pin_code_input/digit_input/ouds_digit_input.dart +++ b/ouds_core/lib/components/pin_code_input/digit_input/ouds_digit_input.dart @@ -135,7 +135,9 @@ class _OudsDigitInputState extends State { @override void initState() { super.initState(); - _keyboardFocusNode = FocusNode(skipTraversal: true); // focus technique uniquement pour clavier + _keyboardFocusNode = FocusNode( + skipTraversal: true, + ); // focus technique uniquement pour clavier } @override @@ -146,9 +148,14 @@ class _OudsDigitInputState extends State { @override Widget build(BuildContext context) { - final pinCodeToken = OudsTheme.of(context).componentsTokens(context).pinCodeInput; - final textInputToken = OudsTheme.of(context).componentsTokens(context).textInput; - final pinCodeInputBackgroundModifier = OudsPinCodeInputBackgroundColorModifier(context); + final pinCodeToken = OudsTheme.of( + context, + ).componentsTokens(context).pinCodeInput; + final textInputToken = OudsTheme.of( + context, + ).componentsTokens(context).textInput; + final pinCodeInputBackgroundModifier = + OudsPinCodeInputBackgroundColorModifier(context); final pinCodeInputBorderModifier = OudsPinCodeInputBorderModifier(context); final textInputBorderModifier = OudsFormFieldsBorderModifier(context); final pinCodeInputTextModifier = OudsPinCodeInputTextColorModifier(context); @@ -170,102 +177,122 @@ class _OudsDigitInputState extends State { }, child: Container( height: textInputToken.sizeMinHeight, - constraints: BoxConstraints( - maxWidth: pinCodeToken.sizeMaxWidth, - minWidth: pinCodeToken.sizeMinWidth), - decoration: BoxDecoration( - color: pinCodeInputBackgroundModifier.getPinCodeBackgroundColor(state, widget.isError, widget.digitInputDecoration!.isOutlined), - border: pinCodeInputBorderModifier.getPinCodeBorder(state, widget.isError, widget.digitInputDecoration!.isOutlined), - borderRadius: textInputBorderModifier.getBorderRadius(context), + constraints: BoxConstraints( + maxWidth: pinCodeToken.sizeMaxWidth, + minWidth: pinCodeToken.sizeMinWidth, + ), + decoration: BoxDecoration( + color: pinCodeInputBackgroundModifier.getPinCodeBackgroundColor( + state, + widget.isError, + widget.digitInputDecoration!.isOutlined, ), - child: Center( - child: KeyboardListener( - focusNode: _keyboardFocusNode, - onKeyEvent: (KeyEvent event) { - if (event is KeyDownEvent && event.logicalKey == LogicalKeyboardKey.backspace) { - final text = widget.controller?.text ?? ''; - if (text.isEmpty && widget.index > 0) { - widget.onBackspaceOnEmpty?.call(); - } + border: pinCodeInputBorderModifier.getPinCodeBorder( + state, + widget.isError, + widget.digitInputDecoration!.isOutlined, + ), + borderRadius: textInputBorderModifier.getBorderRadius(context), + ), + child: Center( + child: KeyboardListener( + focusNode: _keyboardFocusNode, + onKeyEvent: (KeyEvent event) { + if (event is KeyDownEvent && + event.logicalKey == LogicalKeyboardKey.backspace) { + final text = widget.controller?.text ?? ''; + if (text.isEmpty && widget.index > 0) { + widget.onBackspaceOnEmpty?.call(); } - }, - child: TextField( - cursorHeight: theme.fontTokens.lineHeightLabelLarge, - obscureText: widget.digitInputDecoration!.hiddenPassword, - obscuringCharacter: "●", - style: theme.typographyTokens.typeLabelDefaultLarge(context).copyWith( - color: theme.colorScheme(context).contentDefault, - ), - cursorColor: pinCodeInputTextModifier.getPinCodeCursorColor(widget.isError), - controller: widget.controller, - focusNode: widget.focusNode, - keyboardType: widget.digitInputDecoration!.keyboardType == OudsPinCodeInputKeyboardType.numeric - ? TextInputType.number - : TextInputType.text, - inputFormatters: [ - // Let a full pasted code arrive intact in one cell so the - // parent's `_distributeCode` can spread it. Without this, - // Flutter's default `maxLength` behaviour would clip. - LengthLimitingTextInputFormatter(widget.length.digits), - if (widget.digitInputDecoration!.keyboardType == - OudsPinCodeInputKeyboardType.numeric) - FilteringTextInputFormatter.digitsOnly, - ], - // Long-press paste bypasses the TextField entirely: we - // rebuild the platform toolbar but swap the Paste action - // for the parent's clipboard-direct handler. - contextMenuBuilder: widget.onPasteRequested == null - ? null - : (context, editableTextState) { - final items = editableTextState - .contextMenuButtonItems - .map((item) { - if (item.type == - ContextMenuButtonType.paste) { - return ContextMenuButtonItem( - type: ContextMenuButtonType.paste, - onPressed: () { - editableTextState.hideToolbar(); - widget.onPasteRequested!(); - }, - ); - } - return item; - }) - .toList(); - return AdaptiveTextSelectionToolbar.buttonItems( - anchors: editableTextState.contextMenuAnchors, - buttonItems: items, - ); - }, - textAlign: TextAlign.center, - maxLines: 1, - buildCounter: (_, {required currentLength, required isFocused, required maxLength}) => null, // to hide the counter - decoration: InputDecoration( - border: InputBorder.none, - enabledBorder: InputBorder.none, - focusedBorder: InputBorder.none, - contentPadding: EdgeInsets.zero, - counterText: '', - hintText: widget.digitInputDecoration?.hintText, - hintStyle: theme.typographyTokens.typeLabelDefaultLarge(context).copyWith( - color: theme.colorScheme(context).contentMuted, - ), // remove internal padding - ), - onChanged: (value) { - widget.onChanged!(value, widget.index); - setState(() {}); - }, - onTap: () { - //cursor should be always at the end of digit input - final text = widget.controller?.text; - widget.controller?.selection = TextSelection.fromPosition( - TextPosition(offset: text!.length), - ); - }, + } + }, + child: TextField( + cursorHeight: theme.fontTokens.lineHeightLabelLarge, + obscureText: widget.digitInputDecoration!.hiddenPassword, + obscuringCharacter: "●", + style: theme.typographyTokens + .typeLabelModerateLarge(context) + .copyWith(color: theme.colorScheme(context).contentDefault), + cursorColor: pinCodeInputTextModifier.getPinCodeCursorColor( + widget.isError, + ), + controller: widget.controller, + focusNode: widget.focusNode, + keyboardType: + widget.digitInputDecoration!.keyboardType == + OudsPinCodeInputKeyboardType.numeric + ? TextInputType.number + : TextInputType.text, + inputFormatters: [ + // Let a full pasted code arrive intact in one cell so the + // parent's `_distributeCode` can spread it. Without this, + // Flutter's default `maxLength` behaviour would clip. + LengthLimitingTextInputFormatter(widget.length.digits), + if (widget.digitInputDecoration!.keyboardType == + OudsPinCodeInputKeyboardType.numeric) + FilteringTextInputFormatter.digitsOnly, + ], + // Long-press paste bypasses the TextField entirely: we + // rebuild the platform toolbar but swap the Paste action + // for the parent's clipboard-direct handler. + contextMenuBuilder: widget.onPasteRequested == null + ? null + : (context, editableTextState) { + final items = editableTextState.contextMenuButtonItems + .map((item) { + if (item.type == ContextMenuButtonType.paste) { + return ContextMenuButtonItem( + type: ContextMenuButtonType.paste, + onPressed: () { + editableTextState.hideToolbar(); + widget.onPasteRequested!(); + }, + ); + } + return item; + }) + .toList(); + return AdaptiveTextSelectionToolbar.buttonItems( + anchors: editableTextState.contextMenuAnchors, + buttonItems: items, + ); + }, + textAlign: TextAlign.center, + maxLines: 1, + buildCounter: + ( + _, { + required currentLength, + required isFocused, + required maxLength, + }) => null, // to hide the counter + decoration: InputDecoration( + border: InputBorder.none, + enabledBorder: InputBorder.none, + focusedBorder: InputBorder.none, + contentPadding: EdgeInsets.zero, + counterText: '', + hintText: widget.digitInputDecoration?.hintText, + hintStyle: theme.typographyTokens + .typeLabelDefaultLarge(context) + .copyWith( + color: theme.colorScheme(context).contentMuted, + ), // remove internal padding ), + onChanged: (value) { + widget.onChanged!(value, widget.index); + setState(() {}); + }, + onTap: () { + //cursor should be always at the end of digit input + final text = widget.controller?.text; + widget.controller?.selection = TextSelection.fromPosition( + TextPosition(offset: text!.length), + ); + }, ), ), + ), ), ), ); diff --git a/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart b/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart index 6386ad23f..18666d21c 100644 --- a/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart +++ b/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart @@ -101,13 +101,13 @@ enum OudsPinCodeInputKeyboardType { class OudsPinCodeInput extends StatefulWidget { final OudsPinCodeInputLength length; final String? helperText; - late String? errorText; + final String? errorText; final List? controllers; final void Function(String)? onEditingComplete; final void Function(String)? onChanged; final OudsDigitInputDecoration digitInputDecoration; - OudsPinCodeInput({ + const OudsPinCodeInput({ super.key, this.length = OudsPinCodeInputLength.six, this.helperText, @@ -203,13 +203,11 @@ class _OudsPinCodeInputState extends State { widget.errorText != null || (widget.errorText != null && widget.errorText!.isEmpty); final l10n = OudsLocalizations.of(context); - final hintSemanticText = - "${widget.errorText != null && isError - ? widget.errorText! - : widget.helperText != null - ? widget.helperText! - : ''}" - " , ${l10n?.core_common_hint_a11y}"; + final hintSemanticText = widget.errorText != null && isError + ? widget.errorText! + : widget.helperText != null + ? widget.helperText! + : ''; return Container( constraints: BoxConstraints( @@ -241,6 +239,7 @@ class _OudsPinCodeInputState extends State { fit: FlexFit.loose, child: Semantics( liveRegion: true, + hint: l10n?.core_common_hint_a11y, label: "${l10n?.core_pinCodeInput_digitCode_label_a11y(index + 1)}, " "${!widget.digitInputDecoration.hiddenPassword && widget.controllers != null ? widget.controllers![index].text : ''}, " @@ -334,7 +333,8 @@ class _OudsPinCodeInputState extends State { return; } - final sanitized = widget.digitInputDecoration.keyboardType == + final sanitized = + widget.digitInputDecoration.keyboardType == OudsPinCodeInputKeyboardType.numeric ? value.replaceAll(RegExp(r'\D'), '') : value; @@ -384,6 +384,9 @@ class _OudsPinCodeInputState extends State { /// Moves focus to the previous digit field when the index is valid. void _requestFocusOnPreviousField(int index) { + if (MediaQuery.of(context).accessibleNavigation) { + return; + } if (index <= 0) return; final previousIndex = index - 1; if (previousIndex >= _focusNodes.length) return; @@ -410,7 +413,8 @@ class _OudsPinCodeInputState extends State { required int totalDigits, required String code, }) { - if (index < totalDigits - 1) { + final isAccessibilityEnabled = MediaQuery.of(context).accessibleNavigation; + if (!isAccessibilityEnabled && index < totalDigits - 1) { _focusNodes[index + 1].requestFocus(); return; } @@ -439,10 +443,9 @@ class _OudsPinCodeInputState extends State { Future _safeReadClipboard() async { try { - final data = await Clipboard.getData(Clipboard.kTextPlain).timeout( - const Duration(seconds: 2), - onTimeout: () => null, - ); + final data = await Clipboard.getData( + Clipboard.kTextPlain, + ).timeout(const Duration(seconds: 2), onTimeout: () => null); return data?.text; } catch (_) { return null; @@ -460,12 +463,12 @@ class _OudsPinCodeInputState extends State { final totalDigits = widget.length.digits; final controllers = widget.controllers; if (controllers == null) return; - if (controllers.length < totalDigits || - _focusNodes.length < totalDigits) { + if (controllers.length < totalDigits || _focusNodes.length < totalDigits) { return; } - final sanitized = widget.digitInputDecoration.keyboardType == + final sanitized = + widget.digitInputDecoration.keyboardType == OudsPinCodeInputKeyboardType.numeric ? raw.replaceAll(RegExp(r'\D'), '') : raw; diff --git a/ouds_theme_orange/lib/components/orange_alert_tokens.dart b/ouds_theme_orange/lib/components/orange_alert_tokens.dart index 6b067638b..04c916ad2 100644 --- a/ouds_theme_orange/lib/components/orange_alert_tokens.dart +++ b/ouds_theme_orange/lib/components/orange_alert_tokens.dart @@ -33,7 +33,8 @@ class OrangeAlertTokens extends OudsAlertTokens { @override double get sizeMinHeight => providersTokens.sizeTokens.minInteractiveArea; @override - double get sizeMinHeightBottomActionPlacement => DimensionRawTokens.dimension1250; + double get sizeMinHeightBottomActionPlacement => + DimensionRawTokens.dimension1250; @override double get sizeMinWidth => DimensionRawTokens.dimension2000; @override @@ -41,9 +42,11 @@ class OrangeAlertTokens extends OudsAlertTokens { @override double get spaceColumnGapAction => providersTokens.spaceTokens.columnGapSmall; @override - double get spacePaddingBlock => providersTokens.spaceTokens.paddingBlockMedium; + double get spacePaddingBlock => + providersTokens.spaceTokens.paddingBlockMedium; @override - double get spacePaddingInline => providersTokens.spaceTokens.paddingInlineLarge; + double get spacePaddingInline => + providersTokens.spaceTokens.paddingInlineLarge; @override double get spaceRowGap => providersTokens.spaceTokens.rowGapSmall; @override From 78c2f9e7fa7ec8c18320e8bcc5b3fa0f41ab5eb7 Mon Sep 17 00:00:00 2001 From: nhammami Date: Mon, 25 May 2026 10:42:02 +0100 Subject: [PATCH 10/13] chore: update design version in doc --- .../lib/components/pin_code_input/ouds_pin_code_input.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart b/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart index 18666d21c..397b9509c 100644 --- a/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart +++ b/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart @@ -55,7 +55,7 @@ enum OudsPinCodeInputKeyboardType { /// [OUDS PIN Code Input Design Guidelines](https://r.orange.fr/r/S-ouds-doc-pin-code-input) /// -/// **Reference design version : 1.2.0** +/// **Reference design version : 1.3.0** /// /// PIN code input is a UI element that allows to capture short, fixed-length numeric codes, /// typically for authentication or confirmation purposes, such as a four, From 04af6698114ee5083bb8c97de75e481168bdbf06 Mon Sep 17 00:00:00 2001 From: Ahmed Amine Zribi Date: Tue, 26 May 2026 10:03:22 +0100 Subject: [PATCH 11/13] fix: glitch when typing on keyboard and Delete Functionality --- .../pin_code_input_demo_screen.dart | 132 ++- .../digit_input/ouds_digit_input.dart | 358 ++++---- .../pin_code_input/ouds_pin_code_input.dart | 865 ++++++++++-------- 3 files changed, 739 insertions(+), 616 deletions(-) diff --git a/app/lib/ui/components/pin_code_input/pin_code_input_demo_screen.dart b/app/lib/ui/components/pin_code_input/pin_code_input_demo_screen.dart index ff7af4398..08a69c32c 100644 --- a/app/lib/ui/components/pin_code_input/pin_code_input_demo_screen.dart +++ b/app/lib/ui/components/pin_code_input/pin_code_input_demo_screen.dart @@ -36,7 +36,7 @@ import 'package:provider/provider.dart'; class PinCodeInputDemoScreen extends StatefulWidget { final String? previousPageTitle; - const PinCodeInputDemoScreen({super.key,this.previousPageTitle}); + const PinCodeInputDemoScreen({super.key, this.previousPageTitle}); @override State createState() => _PinCodeInputDemoScreenState(); @@ -58,13 +58,17 @@ class _PinCodeInputDemoScreenState extends State { child: PinCodeInputCustomization( key: _scaffoldKey, child: Padding( - padding: EdgeInsets.only(bottom: defaultTargetPlatform == TargetPlatform.android ? MediaQuery.of(context).viewPadding.bottom : OudsTheme.of(context).spaceScheme(context).paddingBlockNone), + padding: EdgeInsets.only( + bottom: defaultTargetPlatform == TargetPlatform.android + ? MediaQuery.of(context).viewPadding.bottom + : OudsTheme.of(context).spaceScheme(context).paddingBlockNone, + ), child: Scaffold( extendBodyBehindAppBar: true, appBar: MainAppBar( - showBackButton: true, - title: context.l10n.app_components_pinCodeInput_label, - previousPageTitle: widget.previousPageTitle, + showBackButton: true, + title: context.l10n.app_components_pinCodeInput_label, + previousPageTitle: widget.previousPageTitle, ), bottomSheet: OudsSheetsBottom( onExpansionChanged: _onExpansionChanged, @@ -92,17 +96,24 @@ class _Body extends StatefulWidget { class _BodyState extends State<_Body> { @override Widget build(BuildContext context) { - final themeController = Provider.of(context, listen: false); + final themeController = Provider.of( + context, + listen: false, + ); return DetailScreenDescription( description: context.l10n.app_components_pinCodeInput_description_text, widget: Column( children: [ const _PinCodeInputDemo(), - SizedBox(height: themeController.currentTheme.spaceScheme(context).fixedMedium), - Code( - code: PinCodeInputCodeGenerator.updateCode(context), + SizedBox( + height: themeController.currentTheme + .spaceScheme(context) + .fixedMedium, + ), + Code(code: PinCodeInputCodeGenerator.updateCode(context)), + ReferenceDesignVersionComponent( + version: OudsComponentVersion.pinCodeInput, ), - ReferenceDesignVersionComponent(version: OudsComponentVersion.pinCodeInput), ], ), ); @@ -118,7 +129,18 @@ class _PinCodeInputDemo extends StatefulWidget { class _PinCodeInputDemoState extends State<_PinCodeInputDemo> { List controllers = []; - late int pinCodeLength; + OudsPinCodeInputLength? _currentLength; + + /// Initialises (or reinitialises) the controller list whenever the PIN + /// length changes. Previous controllers are disposed before recreation. + void _syncControllers(OudsPinCodeInputLength length) { + if (_currentLength == length) return; + for (final c in controllers) { + c.dispose(); + } + _currentLength = length; + controllers = List.generate(length.digits, (_) => TextEditingController()); + } @override void dispose() { @@ -131,31 +153,57 @@ class _PinCodeInputDemoState extends State<_PinCodeInputDemo> { @override Widget build(BuildContext context) { final customizationState = PinCodeInputCustomization.of(context)!; - for (int i = 0; i < PinCodeInputCustomizationUtils.getLength(customizationState.selectedPinCodeLength as Object).digits; i++) { - controllers.add(TextEditingController()); - } + final getLength = PinCodeInputCustomizationUtils.getLength( + customizationState.selectedPinCodeLength as Object, + ); - final getLength = PinCodeInputCustomizationUtils.getLength(customizationState.selectedPinCodeLength as Object); + _syncControllers(getLength); return LightDarkBox( hasConstrainedMaxWidthOption: true, child: OudsPinCodeInput( controllers: controllers, - helperText: customizationState.hasHelperText && customizationState.pinCodeHelperText.isNotEmpty ? PinCodeInputCustomizationUtils.getPinCodeHelperText(customizationState) : null, + helperText: + customizationState.hasHelperText && + customizationState.pinCodeHelperText.isNotEmpty + ? PinCodeInputCustomizationUtils.getPinCodeHelperText( + customizationState, + ) + : null, length: getLength, - errorText: customizationState.hasError ? PinCodeInputCustomizationUtils.getPinCodeErrorText(customizationState) : null, + errorText: customizationState.hasError + ? PinCodeInputCustomizationUtils.getPinCodeErrorText( + customizationState, + ) + : null, digitInputDecoration: OudsDigitInputDecoration( - hintText: PinCodeInputCustomizationUtils.getPinCodePlaceholderText(customizationState), + hintText: PinCodeInputCustomizationUtils.getPinCodePlaceholderText( + customizationState, + ), hiddenPassword: customizationState.hasHiddenPassword, isOutlined: customizationState.hasOutlined, - constrainedMaxWidth: customizationState.hasConstrainedMaxWidth ? true : false, - keyboardType: PinCodeInputCustomizationUtils.getKeyboardType(customizationState.selectedKeyboardType), + constrainedMaxWidth: customizationState.hasConstrainedMaxWidth + ? true + : false, + keyboardType: PinCodeInputCustomizationUtils.getKeyboardType( + customizationState.selectedKeyboardType, + ), ), onEditingComplete: (value) async { - final errorLabel = context.l10n.app_components_pinCodeInput_error_label; - final verificationErrorLabel = context.l10n.app_components_pinCodeInput_verification_error_label; + final errorLabel = + context.l10n.app_components_pinCodeInput_error_label; + final verificationErrorLabel = + context.l10n.app_components_pinCodeInput_verification_error_label; await _handleCompleted( - context, value, PinCodeInputCustomizationUtils.getLength(customizationState.selectedPinCodeLength as Object).digits, customizationState, errorLabel, verificationErrorLabel); + context, + value, + PinCodeInputCustomizationUtils.getLength( + customizationState.selectedPinCodeLength as Object, + ).digits, + customizationState, + errorLabel, + verificationErrorLabel, + ); }, onChanged: (value) { if (value.isEmpty || value.length < getLength.digits) { @@ -169,10 +217,19 @@ class _PinCodeInputDemoState extends State<_PinCodeInputDemo> { Future _fakeVerify(String code) async { await Future.delayed(Duration(milliseconds: 300)); - return code == "1234" || code == "123456" || code == "12345678"; // demo logic + return code == "1234" || + code == "123456" || + code == "12345678"; // demo logic } - Future _handleCompleted(BuildContext context, String value, int digitLength, PinCodeInputCustomizationState customizationState, String errorLabel, String verificationErrorLabel) async { + Future _handleCompleted( + BuildContext context, + String value, + int digitLength, + PinCodeInputCustomizationState customizationState, + String errorLabel, + String verificationErrorLabel, + ) async { final isValid = await _fakeVerify(value); String errorText = ""; @@ -231,11 +288,15 @@ class _CustomizationContentState extends State<_CustomizationContent> { CustomizableSwitch( title: context.l10n.app_components_common_error_label, value: customizationState.hasError, - onChanged: customizationState.hasHelperText && !customizationState.hasError + onChanged: + customizationState.hasHelperText && !customizationState.hasError ? null : (value) { customizationState.hasError = value; - value ? customizationState.pinCodeErrorText = context.l10n.app_components_pinCodeInput_error_label : customizationState.pinCodeErrorText = ""; + value + ? customizationState.pinCodeErrorText = + context.l10n.app_components_pinCodeInput_error_label + : customizationState.pinCodeErrorText = ""; }, ), CustomizableSwitch( @@ -248,14 +309,15 @@ class _CustomizationContentState extends State<_CustomizationContent> { }, ), Visibility( - visible: customizationState.hasHelperText, - child: CustomizableTextField( - fieldEnable: !customizationState.hasError, - title: context.l10n.app_components_common_helperText_label, - text: customizationState.pinCodeHelperText, - focusNode: helperFocus, - fieldType: FieldType.helper, - )), + visible: customizationState.hasHelperText, + child: CustomizableTextField( + fieldEnable: !customizationState.hasError, + title: context.l10n.app_components_common_helperText_label, + text: customizationState.pinCodeHelperText, + focusNode: helperFocus, + fieldType: FieldType.helper, + ), + ), CustomizableSwitch( title: context.l10n.app_components_pinCodeInput_hidden_password_label, value: customizationState.hasHiddenPassword, diff --git a/ouds_core/lib/components/pin_code_input/digit_input/ouds_digit_input.dart b/ouds_core/lib/components/pin_code_input/digit_input/ouds_digit_input.dart index a4f98b96c..6bb2591b0 100644 --- a/ouds_core/lib/components/pin_code_input/digit_input/ouds_digit_input.dart +++ b/ouds_core/lib/components/pin_code_input/digit_input/ouds_digit_input.dart @@ -11,9 +11,9 @@ * // */ /// @nodoc +library; import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; import 'package:ouds_core/components/form_input/internal/modifier/ouds_form_input_border_modifier.dart'; import 'package:ouds_core/components/pin_code_input/internal/modifier/ouds_pin_code_input_background_modifier.dart'; import 'package:ouds_core/components/pin_code_input/internal/modifier/ouds_pin_code_input_border_modifier.dart'; @@ -24,27 +24,20 @@ import 'package:ouds_theme_contract/ouds_theme.dart'; /// [OUDS Pin Code Input guidelines](https://unified-design-system.orange.com/472794e18/p/9767bc-pin-code-input-v1) /// -/// Configuration for decorating the [OudsDigitInput] widget. -/// -/// Provides properties to customize hints, error status, hidden password and styling. +/// Visual decoration configuration for each digit cell in an [OudsPinCodeInput]. /// /// Parameters: -/// -/// - [hintText]: A short placeholder or hint shown inside the input when empty. -/// -/// - [hiddenPassword]: Controls whether the characters entered in the pin code input should be displayed as plain text or hidden. -/// -/// - [isOutlined]: A boolean value that defines the visual style of the Pin Code Input. -/// Set to `false` for the default filled style used in standard form pages, -/// or `true` for the outlined variant, which provides a lighter appearance suitable for contextual or secondary use. -/// - [constrainedMaxWidth]: When `true`, the item width is constrained to a maximum value defined by the design system. -/// When `false`, no specific width constraint is applied, allowing the component to size itself or follow external modifiers. -/// Defaults to `false`. -/// - [keyboardType]: Soft keyboard requested when a digit cell is focused. Defaults to [OudsPinCodeInputKeyboardType.numeric]. -/// Use [OudsPinCodeInputKeyboardType.alphanumeric] to allow letters in addition to digits. +/// - [hintText]: Placeholder shown in an empty, unfocused cell (e.g. `"-"`). +/// - [hiddenPassword]: When `true` (default), filled cells show `●` instead of +/// the actual character. +/// - [isOutlined]: `false` (default) for a filled style, `true` for outlined. +/// - [constrainedMaxWidth]: When `true`, cells are capped to the design-token +/// maximum width. Defaults to `false`. +/// - [keyboardType]: Keyboard variant for the cells. Defaults to +/// [OudsPinCodeInputKeyboardType.numeric]. /// class OudsDigitInputDecoration { - final String? hintText; //placeholder + final String? hintText; final bool hiddenPassword; final bool isOutlined; final bool constrainedMaxWidth; @@ -59,90 +52,106 @@ class OudsDigitInputDecoration { }); } -// TODO: Add documentation URL once it is available +/// A purely visual widget that renders a single digit cell of a PIN code input. /// -/// A Digit Input refers to a single input box that accepts exactly one numeric character (0–9). -/// In the context of a PIN code or OTP, multiple digit inputs are placed side by side, -/// each holding one digit, to form the complete code. -/// -/// Parameters: -/// - [index]: The index of this digit input within the PIN code sequence. -/// - [isError]: The Error status indicates that the user input does not meet validation rules or expected formatting. -/// It provides immediate visual feedback, typically through a red border, error icon, and a clear, accessible error message positioned below the input -/// - [digitInputDecoration]: Defines the decoration of each digit input box [OudsDigitInputDecoration] -/// - [controller]: Controller for managing the text value of this digit. -/// - [focusNode]: Focus node to manage keyboard focus for this digit input. -/// - [isHovered]: Whether the digit input is currently hovered. -/// - [onChanged]: Callback triggered when the digit value changes. Provides the new value and the index of this digit. +/// Keyboard input is handled entirely by the parent [OudsPinCodeInput] via a +/// single hidden [TextField]; [displayValue] is simply passed down for rendering. /// +/// ## Visual states /// -/// ## You can use [OudsDigitInput] like this : +/// | Condition | Content shown | +/// |---|---| +/// | Not focused, empty | Hint placeholder | +/// | Not focused, filled | Value (`●` when `hiddenPassword` is `true`) | +/// | Focused, empty | Blinking cursor | +/// | Focused, filled — normal mode | Blinking cursor only | +/// | Focused, filled — accessibility mode | Value **+** blinking cursor | /// -/// This is the default style of the component. +/// The last row applies when [isAccessibilityActive] is `true`, giving +/// assistive-technology users a clear indicator that the cell is selected even +/// after it has been filled. /// +/// ## Example /// /// ```dart +/// // Typically created by OudsPinCodeInput — shown here for illustration. /// OudsDigitInput( -/// index: index, -/// isError: true, -/// hiddenPassword: widget.hiddenPassword, -/// digitInputDecoration: OudsDigitInputDecoration( -/// hintText: widget.hintText, -/// style: widget.style, -/// roundedCorner: widget.roundedCorner -/// ), -/// focusNode: _focusNodes[index], -/// isHovered: _isHovered[index], -/// controller: widget.controllers[index], -/// onChanged: (value, index) {}, -/// ) +/// index: 0, +/// isFocused: true, +/// displayValue: '3', +/// isAccessibilityActive: false, +/// digitInputDecoration: OudsDigitInputDecoration( +/// hintText: '-', +/// hiddenPassword: true, +/// ), +/// ) /// ``` /// +/// Parameters: +/// - [index]: Zero-based position of this cell in the PIN sequence. +/// - [isError]: When `true`, the cell adopts the error visual style. +/// - [isFocused]: Whether this cell is the currently active position. +/// - [displayValue]: Character to display; empty string when the cell is empty. +/// - [isAccessibilityActive]: Enables the combined value + cursor display. +/// - [digitInputDecoration]: Decoration options (hint, masking, style, …). +/// class OudsDigitInput extends StatefulWidget { final int index; - late final bool isError; + final bool isError; final OudsDigitInputDecoration? digitInputDecoration; - final TextEditingController? controller; - final FocusNode? focusNode; - late final bool isHovered; - final void Function(String, int)? onChanged; - final OudsPinCodeInputLength length; - final VoidCallback? onBackspaceOnEmpty; - final VoidCallback? onPasteRequested; + final bool isFocused; + final String displayValue; + final bool isAccessibilityActive; - OudsDigitInput({ + const OudsDigitInput({ super.key, required this.index, this.isError = false, this.digitInputDecoration, - this.controller, - this.focusNode, - this.isHovered = false, - this.onChanged, - this.length = OudsPinCodeInputLength.six, - this.onBackspaceOnEmpty, - this.onPasteRequested, + this.isFocused = false, + this.displayValue = '', + this.isAccessibilityActive = false, }); @override State createState() => _OudsDigitInputState(); } -class _OudsDigitInputState extends State { +class _OudsDigitInputState extends State + with SingleTickerProviderStateMixin { bool _isHovered = false; - late final FocusNode _keyboardFocusNode; + + /// Drives the blinking cursor animation (530 ms, repeating). + late final AnimationController _cursorBlink; @override void initState() { super.initState(); - _keyboardFocusNode = FocusNode( - skipTraversal: true, - ); // focus technique uniquement pour clavier + _cursorBlink = AnimationController( + vsync: this, + duration: const Duration(milliseconds: 530), + ); + // Start blinking immediately if the cell is already focused. + if (widget.isFocused) { + _cursorBlink.repeat(reverse: true); + } + } + + @override + void didUpdateWidget(OudsDigitInput oldWidget) { + super.didUpdateWidget(oldWidget); + // Sync cursor animation with focus state. + if (widget.isFocused && !_cursorBlink.isAnimating) { + _cursorBlink.repeat(reverse: true); + } else if (!widget.isFocused && _cursorBlink.isAnimating) { + _cursorBlink.stop(); + _cursorBlink.value = 0; + } } @override void dispose() { - _keyboardFocusNode.dispose(); + _cursorBlink.dispose(); super.dispose(); } @@ -154,26 +163,59 @@ class _OudsDigitInputState extends State { final textInputToken = OudsTheme.of( context, ).componentsTokens(context).textInput; - final pinCodeInputBackgroundModifier = - OudsPinCodeInputBackgroundColorModifier(context); - final pinCodeInputBorderModifier = OudsPinCodeInputBorderModifier(context); - final textInputBorderModifier = OudsFormFieldsBorderModifier(context); - final pinCodeInputTextModifier = OudsPinCodeInputTextColorModifier(context); + final backgroundModifier = OudsPinCodeInputBackgroundColorModifier(context); + final borderModifier = OudsPinCodeInputBorderModifier(context); + final formBorderModifier = OudsFormFieldsBorderModifier(context); final theme = OudsTheme.of(context); - final isFocused = widget.focusNode?.hasFocus; + final cursorColorModifier = OudsPinCodeInputTextColorModifier(context); + + final isOutlined = widget.digitInputDecoration?.isOutlined ?? false; + final hiddenPassword = widget.digitInputDecoration?.hiddenPassword ?? true; final state = OudsPinCodeInputControlStateDeterminer( - isFocused: isFocused!, + isFocused: widget.isFocused, isHovered: _isHovered, ).determineControlState(); + // Show hint only when the cell is empty and not focused. + final showHint = widget.displayValue.isEmpty && !widget.isFocused; + + // Mask filled value with a bullet when hiddenPassword is enabled. + final displayText = widget.displayValue.isNotEmpty + ? (hiddenPassword ? '●' : widget.displayValue) + : ''; + + // Show cursor whenever the cell is focused. + final showCursor = widget.isFocused; + + // In accessibility mode: show value + cursor together on a focused filled + // cell. In normal mode: cursor only. + final showValueWithCursor = + showCursor && + widget.displayValue.isNotEmpty && + widget.isAccessibilityActive; + + final cursorColor = cursorColorModifier.getPinCodeCursorColor( + widget.isError, + ); + final cursorHeight = theme.fontTokens.lineHeightLabelLarge; + + // Builds the animated blinking cursor. + Widget buildCursor() => AnimatedBuilder( + animation: _cursorBlink, + builder: (context, _) => Opacity( + opacity: _cursorBlink.value, + child: Container(width: 2, height: cursorHeight, color: cursorColor), + ), + ); + return ExcludeSemantics( - child: InkWell( - onHover: (hovering) { - if (!mounted) return; - setState(() { - _isHovered = hovering; - }); + child: MouseRegion( + onEnter: (_) { + if (mounted) setState(() => _isHovered = true); + }, + onExit: (_) { + if (mounted) setState(() => _isHovered = false); }, child: Container( height: textInputToken.sizeMinHeight, @@ -182,116 +224,64 @@ class _OudsDigitInputState extends State { minWidth: pinCodeToken.sizeMinWidth, ), decoration: BoxDecoration( - color: pinCodeInputBackgroundModifier.getPinCodeBackgroundColor( + color: backgroundModifier.getPinCodeBackgroundColor( state, widget.isError, - widget.digitInputDecoration!.isOutlined, + isOutlined, ), - border: pinCodeInputBorderModifier.getPinCodeBorder( + border: borderModifier.getPinCodeBorder( state, widget.isError, - widget.digitInputDecoration!.isOutlined, + isOutlined, ), - borderRadius: textInputBorderModifier.getBorderRadius(context), + borderRadius: formBorderModifier.getBorderRadius(context), ), child: Center( - child: KeyboardListener( - focusNode: _keyboardFocusNode, - onKeyEvent: (KeyEvent event) { - if (event is KeyDownEvent && - event.logicalKey == LogicalKeyboardKey.backspace) { - final text = widget.controller?.text ?? ''; - if (text.isEmpty && widget.index > 0) { - widget.onBackspaceOnEmpty?.call(); - } - } - }, - child: TextField( - cursorHeight: theme.fontTokens.lineHeightLabelLarge, - obscureText: widget.digitInputDecoration!.hiddenPassword, - obscuringCharacter: "●", - style: theme.typographyTokens - .typeLabelModerateLarge(context) - .copyWith(color: theme.colorScheme(context).contentDefault), - cursorColor: pinCodeInputTextModifier.getPinCodeCursorColor( - widget.isError, - ), - controller: widget.controller, - focusNode: widget.focusNode, - keyboardType: - widget.digitInputDecoration!.keyboardType == - OudsPinCodeInputKeyboardType.numeric - ? TextInputType.number - : TextInputType.text, - inputFormatters: [ - // Let a full pasted code arrive intact in one cell so the - // parent's `_distributeCode` can spread it. Without this, - // Flutter's default `maxLength` behaviour would clip. - LengthLimitingTextInputFormatter(widget.length.digits), - if (widget.digitInputDecoration!.keyboardType == - OudsPinCodeInputKeyboardType.numeric) - FilteringTextInputFormatter.digitsOnly, - ], - // Long-press paste bypasses the TextField entirely: we - // rebuild the platform toolbar but swap the Paste action - // for the parent's clipboard-direct handler. - contextMenuBuilder: widget.onPasteRequested == null - ? null - : (context, editableTextState) { - final items = editableTextState.contextMenuButtonItems - .map((item) { - if (item.type == ContextMenuButtonType.paste) { - return ContextMenuButtonItem( - type: ContextMenuButtonType.paste, - onPressed: () { - editableTextState.hideToolbar(); - widget.onPasteRequested!(); - }, - ); - } - return item; - }) - .toList(); - return AdaptiveTextSelectionToolbar.buttonItems( - anchors: editableTextState.contextMenuAnchors, - buttonItems: items, - ); - }, - textAlign: TextAlign.center, - maxLines: 1, - buildCounter: - ( - _, { - required currentLength, - required isFocused, - required maxLength, - }) => null, // to hide the counter - decoration: InputDecoration( - border: InputBorder.none, - enabledBorder: InputBorder.none, - focusedBorder: InputBorder.none, - contentPadding: EdgeInsets.zero, - counterText: '', - hintText: widget.digitInputDecoration?.hintText, - hintStyle: theme.typographyTokens - .typeLabelDefaultLarge(context) - .copyWith( - color: theme.colorScheme(context).contentMuted, - ), // remove internal padding - ), - onChanged: (value) { - widget.onChanged!(value, widget.index); - setState(() {}); - }, - onTap: () { - //cursor should be always at the end of digit input - final text = widget.controller?.text; - widget.controller?.selection = TextSelection.fromPosition( - TextPosition(offset: text!.length), - ); - }, - ), - ), + child: showValueWithCursor + // Accessibility + focused + filled: value and cursor side-by-side. + ? Row( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Text( + displayText, + style: theme.typographyTokens + .typeLabelDefaultLarge(context) + .copyWith( + color: theme.colorScheme(context).contentDefault, + ), + textAlign: TextAlign.center, + maxLines: 1, + ), + buildCursor(), + ], + ) + // Focused: cursor only. + : showCursor + ? buildCursor() + // Not focused, empty: hint placeholder. + : showHint && widget.digitInputDecoration?.hintText != null + ? Text( + widget.digitInputDecoration!.hintText!, + style: theme.typographyTokens + .typeLabelDefaultLarge(context) + .copyWith( + color: theme.colorScheme(context).contentMuted, + ), + textAlign: TextAlign.center, + maxLines: 1, + ) + // Not focused, filled: masked or plain value. + : Text( + displayText, + style: theme.typographyTokens + .typeLabelDefaultLarge(context) + .copyWith( + color: theme.colorScheme(context).contentDefault, + ), + textAlign: TextAlign.center, + maxLines: 1, + ), ), ), ), diff --git a/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart b/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart index 397b9509c..9e1c1441d 100644 --- a/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart +++ b/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart @@ -20,12 +20,13 @@ import 'package:ouds_core/components/pin_code_input/internal/modifier/ouds_pin_c import 'package:ouds_core/l10n/gen/ouds_localizations.dart'; import 'package:ouds_theme_contract/ouds_theme.dart'; -/// The [OudsPinCodeInputLength] defines the length of OudsPinCodeInput. +/// Number of digit cells in an [OudsPinCodeInput]: [four], [six] or [eight]. enum OudsPinCodeInputLength { four, six, eight; + /// Returns the actual number of digits for this variant. int get digits { switch (this) { case OudsPinCodeInputLength.four: @@ -40,12 +41,10 @@ enum OudsPinCodeInputLength { const OudsPinCodeInputLength(); } -/// The [OudsPinCodeInputKeyboardType] defines which soft keyboard the digit cells request. +/// Keyboard variant used by [OudsPinCodeInput]. /// -/// - [numeric]: numeric keyboard (digits 0–9 only). Non-digit input is filtered out, including paste. -/// - [alphanumeric]: standard text keyboard. Any character is accepted. -/// -/// Defaults to [numeric] to match the historical PIN behavior. +/// - [numeric]: digits-only keyboard; non-digit input is stripped automatically. +/// - [alphanumeric]: standard keyboard; any character is accepted. enum OudsPinCodeInputKeyboardType { numeric, alphanumeric; @@ -57,47 +56,49 @@ enum OudsPinCodeInputKeyboardType { /// /// **Reference design version : 1.3.0** /// -/// PIN code input is a UI element that allows to capture short, fixed-length numeric codes, -/// typically for authentication or confirmation purposes, such as a four, -/// six or height-digit personal identification number (PIN). +/// A fixed-length PIN code input composed of individual digit cells, typically +/// used for authentication or confirmation flows. /// -/// It is often presented as a series of individual input fields or boxes, each representing a single digit, -/// to enhance readability and encourage accurate input. +/// ## Architecture /// -/// This component must support smooth keyboard navigation (automatic focus shift, backspace handling), -/// secure input masking if needed. It is commonly used in sensitive flows like login, verification, -/// or transaction confirmation. +/// A single invisible [TextField] captures all keyboard input and holds the +/// full PIN string, keeping the soft keyboard open and stable across all cell +/// transitions. The visual cells ([OudsDigitInput]) are purely decorative. /// -/// Parameters: +/// ## Accessibility /// -/// - [length]: Defines the fixed number of digits required for the PIN code , Example [OudsPinCodeInputLength.six.value] -/// - [helperText] Supporting text conveys additional information about the input field, such as how it will be used. -/// eg. 'Enter the 4-digit code sent to your phone.'. -/// - [errorText]: Text shown below the input indicating an error state or invalid input. -/// - [controllers]: List of controllers managing the text of each digit input field. -/// - [onEditingComplete]: Callback triggered when the PIN input is completely filled. -/// Provides the concatenated PIN value as a string. -/// - [onChanged]: Callback triggered when the pin code value changes. Provides the new value of the pin code input. -/// - [digitInputDecoration]: Defines the decoration of each digit input box [OudsDigitInputDecoration] +/// When any platform accessibility feature is active (screen reader, bold text, +/// high contrast, reduced motion, …) the component switches to an +/// accessibility-friendly mode: +/// - **No automatic focus advance** — the user moves to the next cell manually. +/// - **Cell-by-cell deletion** — backspace clears only the selected cell. +/// - **Live regions disabled** — prevents the screen reader from jumping to +/// cells whose content changed after a keystroke. /// -/// ### You can use [OudsPinCodeInput] component in your project, customizing parameters as needed : +/// ## Example /// /// ```dart /// OudsPinCodeInput( -/// controllers: controllers, -/// helperText: "Please enter the 4-digit code sent to your phone.", -/// style: OudsTextInputStyle.defaultStyle, -/// length: OudsPinCodeInputLength.four, +/// length: OudsPinCodeInputLength.six, +/// helperText: 'Enter your 6-digit code', /// digitInputDecoration: OudsDigitInputDecoration( -/// hintText : "-", -/// roundedCorner: true, -/// style: OudsTextInputStyle.defaultStyle -/// ), -/// onEditingComplete: (value){}, -/// onChanged: (value){}, -/// ); +/// hintText: '-', +/// hiddenPassword: true, +/// ), +/// onChanged: (value) => print('Current PIN: $value'), +/// onEditingComplete: (value) => print('PIN complete: $value'), +/// ) /// ``` /// +/// Parameters: +/// - [length]: Number of digit cells. Defaults to [OudsPinCodeInputLength.six]. +/// - [helperText]: Supporting text shown below the input. +/// - [errorText]: Error message shown below the input; also sets the error state. +/// - [controllers]: Optional per-cell controllers for reading individual values. +/// - [onEditingComplete]: Called with the full PIN when all cells are filled. +/// - [onChanged]: Called with the current PIN on every keystroke. +/// - [digitInputDecoration]: Visual and keyboard configuration for the cells. +/// class OudsPinCodeInput extends StatefulWidget { final OudsPinCodeInputLength length; final String? helperText; @@ -122,73 +123,357 @@ class OudsPinCodeInput extends StatefulWidget { State createState() => _OudsPinCodeInputState(); } -class _OudsPinCodeInputState extends State { - final List _focusNodes = []; - late List _isHovered; - int currentIndex = 0; +class _OudsPinCodeInputState extends State + with WidgetsBindingObserver { + /// Holds the full PIN string typed by the user. + /// A single controller is shared across all cells so the soft keyboard + /// never resets between cell transitions. + late final TextEditingController _hiddenController; + + /// Focus node attached to the hidden [TextField]. + late final FocusNode _hiddenFocusNode; + + /// Whether the hidden [TextField] currently has keyboard focus. + bool _hasFocus = false; + + /// `true` once the user has typed at least one character. bool _hasEdited = false; - bool hasAnyFocus = false; - bool? _previousHasFocus; + + /// Index of the cell explicitly activated by VoiceOver / TalkBack. + /// Drives the visual cursor position and the input overflow guard + /// when accessibility is active. + int _voiceOverActiveIndex = 0; + + /// `true` when any platform accessibility feature is active. + /// Disables automatic focus advances and cell overflow so assistive + /// technologies can navigate freely. + bool _isAccessibilityActive = false; + + /// Snapshot of the last committed PIN string, used to detect backspace + /// events in [_onHiddenControllerChanged]. + String _previousText = ''; + + // Flag to prevent re-entrant updates when syncing from external controllers. + bool _updatingFromExternal = false; + + // ─── Accessibility detection ───────────────────────────────────────────── + + /// Returns `true` if any accessibility feature is currently active. + bool get _computeAccessibilityActive { + final f = WidgetsBinding.instance.platformDispatcher.accessibilityFeatures; + return f.accessibleNavigation || + f.boldText || + f.disableAnimations || + f.highContrast || + f.invertColors || + f.onOffSwitchLabels || + f.reduceMotion; + } + + // ─── Lifecycle ─────────────────────────────────────────────────────────── @override void initState() { super.initState(); - _isHovered = List.filled(widget.length.digits, false); // init hover states - for (int i = 0; i < widget.length.digits; i++) { - final focusNode = FocusNode(); - focusNode.addListener(() => _handleFocusChange(focusNode, i)); - _focusNodes.add(focusNode); + WidgetsBinding.instance.addObserver(this); + + // Read accessibility state before the first build so the flag is + // immediately correct without waiting for a platform callback. + _isAccessibilityActive = _computeAccessibilityActive; + + // Pre-fill the hidden controller if individual controllers were provided. + final initial = widget.controllers?.map((c) => c.text).join() ?? ''; + _previousText = initial; + _hiddenController = TextEditingController(text: initial); + _hiddenFocusNode = FocusNode(); + _hiddenFocusNode.addListener(_onFocusChange); + _hiddenController.addListener(_onHiddenControllerChanged); + // Listen to external controllers so this instance stays in sync when + // another instance (e.g. the dark-mode box in LightDarkBox) updates them. + _addExternalControllerListeners(widget.controllers); + } + + /// Called when a platform accessibility feature is toggled. + /// Keeps [_isAccessibilityActive] in sync and repositions [_voiceOverActiveIndex]. + @override + void didChangeAccessibilityFeatures() { + final isActive = _computeAccessibilityActive; + if (isActive != _isAccessibilityActive) { + setState(() { + _isAccessibilityActive = isActive; + if (isActive) { + // On entering accessibility mode, point the cursor at the first + // unfilled cell (= current text length), clamped to a valid index. + _voiceOverActiveIndex = _hiddenController.text.length.clamp( + 0, + widget.length.digits - 1, + ); + } else { + // On leaving accessibility mode, reset to 0 so the normal + // auto-advance logic takes over cleanly. + _voiceOverActiveIndex = 0; + } + }); } - FocusManager.instance.addListener(_onGlobalFocusChange); } @override void didUpdateWidget(OudsPinCodeInput oldWidget) { super.didUpdateWidget(oldWidget); - - if (oldWidget.length.digits != widget.length.digits) { - for (final node in _focusNodes) { - node.dispose(); - } - _focusNodes.clear(); - - for (int i = 0; i < widget.length.digits; i++) { - final focusNode = FocusNode(); - focusNode.addListener(() { - if (!mounted) return; - if (focusNode.hasFocus) { - setState(() { - currentIndex = i; - }); - } - }); - _focusNodes.add(focusNode); - _isHovered = List.filled(widget.length.digits, false); - } + // Trim stored text if the number of cells decreases at runtime. + if (oldWidget.length != widget.length) { + final text = _hiddenController.text.characters + .take(widget.length.digits) + .toString(); + _hiddenController.value = TextEditingValue( + text: text, + selection: TextSelection.collapsed(offset: text.length), + ); + } + // Update external controller listeners when the list reference changes. + if (oldWidget.controllers != widget.controllers) { + _removeExternalControllerListeners(oldWidget.controllers); + _addExternalControllerListeners(widget.controllers); } } @override void dispose() { + WidgetsBinding.instance.removeObserver(this); + _hiddenFocusNode.removeListener(_onFocusChange); + _hiddenController.removeListener(_onHiddenControllerChanged); + _removeExternalControllerListeners(widget.controllers); + _hiddenController.dispose(); + _hiddenFocusNode.dispose(); + super.dispose(); + } + + // ─── Focus ─────────────────────────────────────────────────────────────── + + void _onFocusChange() { if (!mounted) return; - FocusManager.instance.removeListener(_onGlobalFocusChange); - for (final node in _focusNodes) { - node.removeListener( - () => _handleFocusChange(node, _focusNodes.indexOf(node)), + setState(() => _hasFocus = _hiddenFocusNode.hasFocus); + } + + // ─── External controller sync ───────────────────────────────────────────── + + void _addExternalControllerListeners(List? list) { + list?.forEach((c) => c.addListener(_onExternalControllerChanged)); + } + + void _removeExternalControllerListeners(List? list) { + list?.forEach((c) => c.removeListener(_onExternalControllerChanged)); + } + + /// Called when an external per-cell controller changes from outside + /// (e.g. a sibling instance updating shared controllers in LightDarkBox). + /// Rebuilds the internal hidden controller to stay in sync. + void _onExternalControllerChanged() { + if (!mounted || _updatingFromExternal) return; + final newText = widget.controllers?.map((c) => c.text).join() ?? ''; + if (newText != _hiddenController.text) { + _updatingFromExternal = true; + _hiddenController.value = TextEditingValue( + text: newText, + selection: TextSelection.collapsed(offset: newText.length), ); - node.dispose(); + _updatingFromExternal = false; } - super.dispose(); } - void _handleFocusChange(FocusNode focusNode, int index) { - if (focusNode.hasFocus) { - setState(() { - currentIndex = index; - }); + // ─── Input handling ────────────────────────────────────────────────────── + + /// Central listener called on every change to [_hiddenController]. + /// + /// 1. **Sanitise** — strip non-digits (numeric mode) and truncate to max length. + /// 2. **Accessibility deletion** — redirect native backspace to remove only + /// the character at [_voiceOverActiveIndex] instead of the last char. + /// 3. **Accessibility overflow guard** — cap input to the active cell so a + /// typed character cannot silently fill the next cell. + /// 4. **Sync individual controllers** — keep per-cell controllers up to date. + /// 5. **Completion** — unfocus and fire [widget.onEditingComplete] when all + /// cells are filled (skipped in accessibility mode). + void _onHiddenControllerChanged() { + if (!mounted) return; + + final raw = _hiddenController.text; + final totalDigits = widget.length.digits; + + // Step 1 — Sanitise input. + final sanitized = + widget.digitInputDecoration.keyboardType == + OudsPinCodeInputKeyboardType.numeric + ? raw.replaceAll(RegExp(r'\D'), '') + : raw; + final trimmed = sanitized.characters.take(totalDigits).toString(); + + // If sanitisation changed the text, rewrite the controller and let the + // listener fire again with the clean value. + if (raw != trimmed) { + _hiddenController.value = TextEditingValue( + text: trimmed, + selection: TextSelection.collapsed(offset: trimmed.length), + ); + return; + } + + if (_isAccessibilityActive) { + // Step 2 — Accessibility deletion. + // The hidden TextField's native backspace always removes the trailing + // character. We intercept this and remove the character at + // [_voiceOverActiveIndex] instead, so the visual cursor stays on the + // active cell and the user deletes cells one by one in any order. + // + // Skip when the change comes from an external controller sync so that + // programmatic updates are never incorrectly treated as user backspaces. + if (!_updatingFromExternal && trimmed.length < _previousText.length) { + final String corrected; + if (_voiceOverActiveIndex < _previousText.length) { + // Remove the character at the active cell index. + corrected = + _previousText.substring(0, _voiceOverActiveIndex) + + _previousText.substring(_voiceOverActiveIndex + 1); + } else { + // The active cell was already empty — nothing to delete. + corrected = _previousText; + } + _previousText = corrected; + if (corrected != trimmed) { + // The controller holds the wrong text after the native backspace; + // rewrite it and let the listener fire again with the correct value. + _hiddenController.value = TextEditingValue( + text: corrected, + selection: TextSelection.collapsed(offset: corrected.length), + ); + return; + } + // If corrected == trimmed the native backspace already produced the + // right result; fall through to update the UI. + } + + // Step 3 — Accessibility overflow guard. + // Prevent a typed character from silently filling the next cell when the + // user has not navigated there yet. Only one character per activated cell + // is allowed; the most recently typed character is kept. + // + // Skip when the change comes from an external controller sync: the source + // instance has already validated the text, and its full value must be + // reflected as-is. Also update _voiceOverActiveIndex so the visual cursor + // lands on the correct cell in the receiving instance. + if (!_updatingFromExternal) { + final maxAllowed = _voiceOverActiveIndex + 1; + if (trimmed.length > maxAllowed) { + final prefix = trimmed.substring(0, _voiceOverActiveIndex); + final newChar = trimmed[trimmed.length - 1]; + final corrected = prefix + newChar; + _hiddenController.value = TextEditingValue( + text: corrected, + selection: TextSelection.collapsed(offset: corrected.length), + ); + return; + } + } else { + // Sync from external: move _voiceOverActiveIndex to match the fill + // level so the cursor appears on the correct cell. + _voiceOverActiveIndex = (trimmed.length - 1).clamp( + 0, + widget.length.digits - 1, + ); + } + } + + // Step 4 — Sync per-cell controllers. + final controllers = widget.controllers; + if (controllers != null) { + for (int i = 0; i < totalDigits; i++) { + final char = i < trimmed.length ? trimmed[i] : ''; + if (controllers[i].text != char) { + controllers[i].value = TextEditingValue( + text: char, + selection: TextSelection.collapsed(offset: char.length), + ); + } + } + } + + if (!_hasEdited && trimmed.isNotEmpty) _hasEdited = true; + + _previousText = trimmed; + setState(() {}); + widget.onChanged?.call(trimmed); + + // Step 5 — Completion. + // In normal mode, unfocus when the last cell is filled so the keyboard + // dismisses automatically. In accessibility mode we intentionally keep + // focus so the assistive technology can continue reading the filled cells. + if (trimmed.length == totalDigits) { + if (!_isAccessibilityActive) { + _hiddenFocusNode.unfocus(); + } + widget.onEditingComplete?.call(trimmed); } } + // ─── Paste ─────────────────────────────────────────────────────────────── + + /// Reads text from the clipboard and populates all cells at once. + /// Triggered by a long-press on the cell row. + Future _pasteFromClipboard() async { + try { + final data = await Clipboard.getData( + Clipboard.kTextPlain, + ).timeout(const Duration(seconds: 2), onTimeout: () => null); + if (!mounted) return; + final text = data?.text; + if (text == null || text.isEmpty) return; + + final totalDigits = widget.length.digits; + final sanitized = + widget.digitInputDecoration.keyboardType == + OudsPinCodeInputKeyboardType.numeric + ? text.replaceAll(RegExp(r'\D'), '') + : text; + final trimmed = sanitized.characters.take(totalDigits).toString(); + + _hiddenController.value = TextEditingValue( + text: trimmed, + selection: TextSelection.collapsed(offset: trimmed.length), + ); + if (!_isAccessibilityActive) { + _hiddenFocusNode.requestFocus(); + } + } catch (_) {} + } + + // ─── Helpers ───────────────────────────────────────────────────────────── + + /// Index of the cell that shows the focused border and blinking cursor. + /// + /// - **Normal mode**: equals the current text length — advances automatically + /// after each keystroke. + /// - **Accessibility mode**: equals [_voiceOverActiveIndex] — follows the + /// user's explicit navigation instead of advancing automatically. + int get _activeIndex { + if (_isAccessibilityActive) return _voiceOverActiveIndex; + final len = _hiddenController.text.length; + return len.clamp(0, widget.length.digits - 1); + } + + /// Returns the hint placeholder for [index], or `null` if the cell is + /// filled or currently active. + String? _hintText(int index) { + final hint = widget.digitInputDecoration.hintText; + if (hint == null) return null; + final char = index < _hiddenController.text.length + ? _hiddenController.text[index] + : ''; + if (char.isNotEmpty) return null; + if (_hasFocus && index == _activeIndex) return null; + return hint; + } + + // ─── Build ─────────────────────────────────────────────────────────────── + @override Widget build(BuildContext context) { final pinCodeToken = OudsTheme.of( @@ -208,6 +493,7 @@ class _OudsPinCodeInputState extends State { : widget.helperText != null ? widget.helperText! : ''; + final currentText = _hiddenController.text; return Container( constraints: BoxConstraints( @@ -222,59 +508,113 @@ class _OudsPinCodeInputState extends State { ? MainAxisAlignment.start : MainAxisAlignment.center, children: [ - Semantics( - hint: hintSemanticText, - label: isError - ? l10n?.core_common_error_a11y - : l10n?.core_pinCodeInput_pinCode_label_a11y(digitsCount), - child: Row( - mainAxisAlignment: widget.digitInputDecoration.constrainedMaxWidth - ? MainAxisAlignment.start - : MainAxisAlignment.center, - spacing: widget.length == OudsPinCodeInputLength.eight - ? 6 - : pinCodeToken.spaceColumnGapDigitInput, - children: List.generate(digitsCount, (index) { - return Flexible( - fit: FlexFit.loose, - child: Semantics( - liveRegion: true, - hint: l10n?.core_common_hint_a11y, - label: - "${l10n?.core_pinCodeInput_digitCode_label_a11y(index + 1)}, " - "${!widget.digitInputDecoration.hiddenPassword && widget.controllers != null ? widget.controllers![index].text : ''}, " - "${l10n?.core_pinCodeInput_trait_a11y}", - child: OudsDigitInput( - index: index, - isError: isError, - length: widget.length, - digitInputDecoration: OudsDigitInputDecoration( - hintText: _hintText(index), - hiddenPassword: - widget.digitInputDecoration.hiddenPassword, - isOutlined: widget.digitInputDecoration.isOutlined, - keyboardType: widget.digitInputDecoration.keyboardType, + // ── Hidden TextField ───────────────────────────────────────────── + // A single invisible input widget (opacity 0, height 1) that holds + // the entire PIN string. Keeping a single focused TextField alive + // for the whole input session prevents the soft keyboard from + // closing and reopening between cells. + ExcludeSemantics( + child: Opacity( + opacity: 0.0, + child: SizedBox( + height: 1, + child: TextField( + controller: _hiddenController, + focusNode: _hiddenFocusNode, + showCursor: false, + enableInteractiveSelection: false, + keyboardType: + widget.digitInputDecoration.keyboardType == + OudsPinCodeInputKeyboardType.numeric + ? TextInputType.number + : TextInputType.text, + inputFormatters: [ + LengthLimitingTextInputFormatter(widget.length.digits), + if (widget.digitInputDecoration.keyboardType == + OudsPinCodeInputKeyboardType.numeric) + FilteringTextInputFormatter.digitsOnly, + ], + textInputAction: TextInputAction.done, + decoration: const InputDecoration.collapsed(hintText: null), + ), + ), + ), + ), + + // ── Visual cell row ────────────────────────────────────────────── + // A GestureDetector wraps the entire row so a tap anywhere opens the + // keyboard. Long-press triggers clipboard paste. + GestureDetector( + onTap: () => _hiddenFocusNode.requestFocus(), + onLongPress: _pasteFromClipboard, + child: Semantics( + hint: hintSemanticText, + label: isError + ? l10n?.core_common_error_a11y + : l10n?.core_pinCodeInput_pinCode_label_a11y(digitsCount), + child: Row( + mainAxisAlignment: + widget.digitInputDecoration.constrainedMaxWidth + ? MainAxisAlignment.start + : MainAxisAlignment.center, + spacing: widget.length == OudsPinCodeInputLength.eight + ? 6 + : pinCodeToken.spaceColumnGapDigitInput, + children: List.generate(digitsCount, (index) { + final char = index < currentText.length + ? currentText[index] + : ''; + // True when this cell should show the active border/cursor. + final isActive = _hasFocus && index == _activeIndex; + return Flexible( + fit: FlexFit.loose, + child: Semantics( + // Track which cell VoiceOver / TalkBack is currently + // reading so the blinking cursor follows the assistive- + // technology focus on swipe navigation. + onDidGainAccessibilityFocus: _isAccessibilityActive + ? () => setState(() => _voiceOverActiveIndex = index) + : null, + // Record the activated cell on double-tap so input and + // deletion are scoped to the correct cell. + onTap: _isAccessibilityActive + ? () { + setState(() => _voiceOverActiveIndex = index); + _hiddenFocusNode.requestFocus(); + } + : null, + // Disable live regions in accessibility mode to prevent + // the screen reader from jumping to cells whose content + // changed after a keystroke. + liveRegion: !_isAccessibilityActive, + hint: l10n?.core_common_hint_a11y, + label: + "${l10n?.core_pinCodeInput_digitCode_label_a11y(index + 1)}, " + "${!widget.digitInputDecoration.hiddenPassword && widget.controllers != null ? widget.controllers![index].text : ''}, " + "${l10n?.core_pinCodeInput_trait_a11y}", + child: OudsDigitInput( + index: index, + isError: isError, + isFocused: isActive, + displayValue: char, + isAccessibilityActive: _isAccessibilityActive, + digitInputDecoration: OudsDigitInputDecoration( + hintText: _hintText(index), + hiddenPassword: + widget.digitInputDecoration.hiddenPassword, + isOutlined: widget.digitInputDecoration.isOutlined, + keyboardType: + widget.digitInputDecoration.keyboardType, + ), ), - focusNode: _focusNodes[index], - isHovered: _isHovered[index], - controller: widget.controllers?[index], - onChanged: (value, index) { - _handleDigitInput(value, index); - if (!_hasEdited) { - setState(() { - _hasEdited = - true; // The user has interacted with the PIN at least once - }); - } - }, - onBackspaceOnEmpty: () => _handleBackspaceOnEmpty(index), - onPasteRequested: _pasteFromClipboard, ), - ), - ); - }), + ); + }), + ), ), ), + + // ── Helper / error text ────────────────────────────────────────── if (widget.helperText != null || (widget.errorText != null && isError)) ...[ Container( @@ -314,273 +654,4 @@ class _OudsPinCodeInputState extends State { ), ); } - - // Handles keyboard-path input from a single cell. Any multi-grapheme value - // (soft-keyboard paste suggestion, Cmd+V, OTP autofill) is routed to the - // single distribution method `_distributeCode`. Single characters are - // written atomically and focus advances or retreats. Long-press paste is - // handled entirely outside this method via `_pasteFromClipboard` wired - // through each cell's `contextMenuBuilder`. - void _handleDigitInput(String value, int index) { - WidgetsBinding.instance.addPostFrameCallback((_) { - if (!mounted) return; - - final totalDigits = widget.length.digits; - final controllers = widget.controllers; - if (controllers == null) return; - if (controllers.length < totalDigits || - _focusNodes.length < totalDigits) { - return; - } - - final sanitized = - widget.digitInputDecoration.keyboardType == - OudsPinCodeInputKeyboardType.numeric - ? value.replaceAll(RegExp(r'\D'), '') - : value; - final chars = sanitized.characters.toList(); - - // Multi-grapheme arrival → treat as paste, redistribute. - if (chars.length > 1) { - _distributeCode(value); - return; - } - - final effective = chars.isEmpty ? '' : chars.first; - if (controllers[index].text != effective) { - controllers[index].value = TextEditingValue( - text: effective, - selection: TextSelection.collapsed(offset: effective.length), - ); - } - - final code = _currentCode(); - _emitChanged(code); - - if (effective.isEmpty) { - _requestFocusOnPreviousField(index); - return; - } - - _requestFocusOnNextFieldOrComplete( - index: index, - totalDigits: totalDigits, - code: code, - ); - }); - } - - /// Builds the current PIN value by concatenating all digit controllers. - String _currentCode() { - final controllers = widget.controllers; - if (controllers == null) return ''; - return controllers.map((c) => c.text).join(); - } - - /// Emits onChanged with the provided code, or with the current PIN when omitted. - void _emitChanged([String? code]) { - widget.onChanged?.call(code ?? _currentCode()); - } - - /// Moves focus to the previous digit field when the index is valid. - void _requestFocusOnPreviousField(int index) { - if (MediaQuery.of(context).accessibleNavigation) { - return; - } - if (index <= 0) return; - final previousIndex = index - 1; - if (previousIndex >= _focusNodes.length) return; - _focusNodes[previousIndex].requestFocus(); - } - - /// Returns the previous index when both controller and focus node bounds are valid. - /// Returns null when there is no previous field or when collections are inconsistent. - int? _validPreviousIndex(int index) { - final controllers = widget.controllers; - if (controllers == null || index <= 0) return null; - - final previousIndex = index - 1; - if (previousIndex >= controllers.length || - previousIndex >= _focusNodes.length) { - return null; - } - return previousIndex; - } - - /// Moves focus forward when possible, or completes editing on the last filled field. - void _requestFocusOnNextFieldOrComplete({ - required int index, - required int totalDigits, - required String code, - }) { - final isAccessibilityEnabled = MediaQuery.of(context).accessibleNavigation; - if (!isAccessibilityEnabled && index < totalDigits - 1) { - _focusNodes[index + 1].requestFocus(); - return; - } - - if (code.length == totalDigits) { - _focusNodes[index].unfocus(); - widget.onEditingComplete?.call(code); - } - } - - // ───────────────────────── paste pipeline ───────────────────────── - // Three small methods, single responsibility each: - // - // _safeReadClipboard – reads the system clipboard with a hard 2 s - // timeout; returns null on null/error/timeout. - // _pasteFromClipboard – entrypoint wired to each cell's context-menu - // "Paste" action; sole long-press paste path. - // _distributeCode – the ONLY place that writes to the cells. Takes - // a raw string, sanitises, truncates to PIN - // length, fills every cell (clearing trailing - // ones), updates focus, and fires callbacks. - // - // The keyboard path (`_handleDigitInput`) also delegates to - // `_distributeCode` whenever it sees a multi-grapheme value, so all paste - // flows converge on one implementation. - - Future _safeReadClipboard() async { - try { - final data = await Clipboard.getData( - Clipboard.kTextPlain, - ).timeout(const Duration(seconds: 2), onTimeout: () => null); - return data?.text; - } catch (_) { - return null; - } - } - - Future _pasteFromClipboard() async { - final text = await _safeReadClipboard(); - if (!mounted) return; - if (text == null || text.isEmpty) return; - _distributeCode(text); - } - - void _distributeCode(String raw) { - final totalDigits = widget.length.digits; - final controllers = widget.controllers; - if (controllers == null) return; - if (controllers.length < totalDigits || _focusNodes.length < totalDigits) { - return; - } - - final sanitized = - widget.digitInputDecoration.keyboardType == - OudsPinCodeInputKeyboardType.numeric - ? raw.replaceAll(RegExp(r'\D'), '') - : raw; - if (sanitized.isEmpty) return; - - final digits = sanitized.characters.take(totalDigits).toList(); - final filledCount = digits.length; - - // Write every cell — atomic `value =` (sets text + selection in one go) - // and explicit empty for cells beyond the pasted range, so a shorter - // paste cannot leave stale digits behind. - for (int i = 0; i < totalDigits; i++) { - final text = i < filledCount ? digits[i] : ''; - controllers[i].value = TextEditingValue( - text: text, - selection: TextSelection.collapsed(offset: text.length), - ); - } - - if (!_hasEdited) { - _hasEdited = true; - } - - final code = _currentCode(); - _emitChanged(code); - - if (code.characters.length == totalDigits) { - for (final node in _focusNodes) { - node.unfocus(); - } - widget.onEditingComplete?.call(code); - } else { - final nextIndex = filledCount.clamp(0, totalDigits - 1).toInt(); - _focusNodes[nextIndex].requestFocus(); - } - } - - // Called when the user presses backspace on an already-empty digit cell. - // Clears the previous cell's content AND moves focus there in a single step, - // so deletion feels instant instead of requiring two key presses. - void _handleBackspaceOnEmpty(int index) { - final controllers = widget.controllers; - if (controllers == null) return; - final previousIndex = _validPreviousIndex(index); - if (previousIndex == null) return; - - final previousController = controllers[previousIndex]; - final wasNonEmpty = previousController.text.isNotEmpty; - - previousController.clear(); - _requestFocusOnPreviousField(index); - - if (wasNonEmpty) { - _emitChanged(); - } - } - - // This method is called whenever the global focus changes, using a FocusManager listener. - // It updates the internal `hasAnyFocus` state to reflect whether any of the PIN input fields currently have focus. - // - // - If the focus state has not changed since the last check, the method returns immediately. - // - Otherwise, it updates the `_previousHasFocus` to the new state. - // - If all fields have lost focus (`hasAnyFocus == false`) and the user has interacted with the PIN (`_hasEdited`), - // it triggers the `onEditingComplete` callback with the current PIN code. - // - If any field still has focus (`hasAnyFocus == true`), it triggers the `onChanged` callback with the current PIN code. - // - // This ensures that the component reacts only to real focus changes, and that the PIN validation - // or change callbacks are called at the appropriate time. - void _onGlobalFocusChange() { - setState(() { - hasAnyFocus = _focusNodes.any((f) => f.hasFocus); - }); - - if (_previousHasFocus == hasAnyFocus) return; - - _previousHasFocus = hasAnyFocus; - final code = _currentCode(); - - if (!hasAnyFocus && - _hasEdited && - code.characters.length == widget.length.digits) { - widget.onEditingComplete?.call(code); - } else if (hasAnyFocus) { - widget.onChanged?.call(code); - } - } - - String? _hintText(int index) { - final hint = widget.digitInputDecoration.hintText; - if (hint == null) return null; - - final hasFocus = _focusNodes[index].hasFocus; - final text = widget.controllers?[index].text; - - // Special case: all fields are empty, user has already edited, and cursor is invisible - final isPinCompletelyEmpty = widget.controllers?.every( - (c) => c.text.isEmpty, - ); - if (isPinCompletelyEmpty != null && - isPinCompletelyEmpty && - hasFocus && - _hasEdited) { - return hint; - } - - // No hint if the field is focused (cursor visible) - if (hasFocus) return null; - - // Show hint if the field is empty - if (text != null && text.isEmpty) return hint; - - // Otherwise, no hint - return null; - } } From 6ef2c730cf240b5bc17ddf2ce08b798ee098e8b3 Mon Sep 17 00:00:00 2001 From: Ahmed Amine Zribi Date: Tue, 26 May 2026 11:37:23 +0100 Subject: [PATCH 12/13] chore: update changelog --- app/CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/CHANGELOG.md b/app/CHANGELOG.md index f5b062b5d..e65bc2f04 100644 --- a/app/CHANGELOG.md +++ b/app/CHANGELOG.md @@ -20,6 +20,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [DemoApp][Library] update tokens 2.4.0 ([#726](https://github.com/Orange-OpenSource/ouds-flutter/issues/726)) ### Fixed +- [Library] `Pin code input` Issue with Delete Functionality in the PIN Field ([#791](https://github.com/Orange-OpenSource/ouds-flutter/issues/791)) +- [Library] `Pin code input` glitch when typing on keyboard ([#776](https://github.com/Orange-OpenSource/ouds-flutter/issues/776)) - [Library] `Pin code input` Focus should not move automatically to the next field ([#649](https://github.com/Orange-OpenSource/ouds-flutter/issues/649)) - [Library] `Pin code input` Remove the hint on the group of digits ([#628](https://github.com/Orange-OpenSource/ouds-flutter/issues/628)) - [Library] `Phone number input` Add a hint to explain how to interact with fields ([#571](https://github.com/Orange-OpenSource/ouds-flutter/issues/571)) From 277a53a284adbdb5a5158b2d7047de39eb969758 Mon Sep 17 00:00:00 2001 From: nhammami Date: Wed, 10 Jun 2026 10:34:55 +0100 Subject: [PATCH 13/13] fix(pin-code-input): improve PIN input accessibility for screen readers -restore automatic focus move to next digit - show blinking focus on last digit cell - announce the newly focused digit when focus moves - rename digit fields to use ordinal positions (e.g. "1st digit", "2nd digit") instead of ambiguous labels like "code digit 1" - allow double-tap on the grouped PIN input label to focus and edit the first digit --- .../digit_input/ouds_digit_input.dart | 13 +- .../pin_code_input/ouds_pin_code_input.dart | 210 +++++------------- .../lib/l10n/gen/ouds_localizations.dart | 8 +- .../lib/l10n/gen/ouds_localizations_ar.dart | 7 +- .../lib/l10n/gen/ouds_localizations_en.dart | 7 +- .../lib/l10n/gen/ouds_localizations_fr.dart | 7 +- ouds_core/lib/l10n/ouds_flutter_ar.arb | 3 +- ouds_core/lib/l10n/ouds_flutter_en.arb | 3 +- ouds_core/lib/l10n/ouds_flutter_fr.arb | 6 +- 9 files changed, 95 insertions(+), 169 deletions(-) diff --git a/ouds_core/lib/components/pin_code_input/digit_input/ouds_digit_input.dart b/ouds_core/lib/components/pin_code_input/digit_input/ouds_digit_input.dart index 98a336901..6a338016f 100644 --- a/ouds_core/lib/components/pin_code_input/digit_input/ouds_digit_input.dart +++ b/ouds_core/lib/components/pin_code_input/digit_input/ouds_digit_input.dart @@ -92,7 +92,6 @@ class OudsDigitInputDecoration { /// - [isError]: When `true`, the cell adopts the error visual style. /// - [isFocused]: Whether this cell is the currently active position. /// - [displayValue]: Character to display; empty string when the cell is empty. -/// - [isAccessibilityActive]: Enables the combined value + cursor display. /// - [digitInputDecoration]: Decoration options (hint, masking, style, …). /// class OudsDigitInput extends StatefulWidget { @@ -101,7 +100,6 @@ class OudsDigitInput extends StatefulWidget { final OudsDigitInputDecoration? digitInputDecoration; final bool isFocused; final String displayValue; - final bool isAccessibilityActive; const OudsDigitInput({ super.key, @@ -110,7 +108,6 @@ class OudsDigitInput extends StatefulWidget { this.digitInputDecoration, this.isFocused = false, this.displayValue = '', - this.isAccessibilityActive = false, }); @override @@ -188,13 +185,9 @@ class _OudsDigitInputState extends State // Show cursor whenever the cell is focused. final showCursor = widget.isFocused; - // In accessibility mode: show value + cursor together on a focused filled - // cell. In normal mode: cursor only. - final showValueWithCursor = - showCursor && - widget.displayValue.isNotEmpty && - widget.isAccessibilityActive; - + // show value + cursor together on a focused filled + // cell + final showValueWithCursor = showCursor && widget.displayValue.isNotEmpty; final cursorColor = cursorColorModifier.getPinCodeCursorColor( widget.isError, ); diff --git a/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart b/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart index 9e1c1441d..b5b470228 100644 --- a/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart +++ b/ouds_core/lib/components/pin_code_input/ouds_pin_code_input.dart @@ -14,6 +14,7 @@ library; import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; import 'package:ouds_core/components/pin_code_input/digit_input/ouds_digit_input.dart'; import 'package:ouds_core/components/pin_code_input/internal/modifier/ouds_pin_code_input_text_color_modifier.dart'; @@ -139,37 +140,9 @@ class _OudsPinCodeInputState extends State /// `true` once the user has typed at least one character. bool _hasEdited = false; - /// Index of the cell explicitly activated by VoiceOver / TalkBack. - /// Drives the visual cursor position and the input overflow guard - /// when accessibility is active. - int _voiceOverActiveIndex = 0; - - /// `true` when any platform accessibility feature is active. - /// Disables automatic focus advances and cell overflow so assistive - /// technologies can navigate freely. - bool _isAccessibilityActive = false; - - /// Snapshot of the last committed PIN string, used to detect backspace - /// events in [_onHiddenControllerChanged]. - String _previousText = ''; - // Flag to prevent re-entrant updates when syncing from external controllers. bool _updatingFromExternal = false; - // ─── Accessibility detection ───────────────────────────────────────────── - - /// Returns `true` if any accessibility feature is currently active. - bool get _computeAccessibilityActive { - final f = WidgetsBinding.instance.platformDispatcher.accessibilityFeatures; - return f.accessibleNavigation || - f.boldText || - f.disableAnimations || - f.highContrast || - f.invertColors || - f.onOffSwitchLabels || - f.reduceMotion; - } - // ─── Lifecycle ─────────────────────────────────────────────────────────── @override @@ -177,13 +150,8 @@ class _OudsPinCodeInputState extends State super.initState(); WidgetsBinding.instance.addObserver(this); - // Read accessibility state before the first build so the flag is - // immediately correct without waiting for a platform callback. - _isAccessibilityActive = _computeAccessibilityActive; - // Pre-fill the hidden controller if individual controllers were provided. final initial = widget.controllers?.map((c) => c.text).join() ?? ''; - _previousText = initial; _hiddenController = TextEditingController(text: initial); _hiddenFocusNode = FocusNode(); _hiddenFocusNode.addListener(_onFocusChange); @@ -193,30 +161,6 @@ class _OudsPinCodeInputState extends State _addExternalControllerListeners(widget.controllers); } - /// Called when a platform accessibility feature is toggled. - /// Keeps [_isAccessibilityActive] in sync and repositions [_voiceOverActiveIndex]. - @override - void didChangeAccessibilityFeatures() { - final isActive = _computeAccessibilityActive; - if (isActive != _isAccessibilityActive) { - setState(() { - _isAccessibilityActive = isActive; - if (isActive) { - // On entering accessibility mode, point the cursor at the first - // unfilled cell (= current text length), clamped to a valid index. - _voiceOverActiveIndex = _hiddenController.text.length.clamp( - 0, - widget.length.digits - 1, - ); - } else { - // On leaving accessibility mode, reset to 0 so the normal - // auto-advance logic takes over cleanly. - _voiceOverActiveIndex = 0; - } - }); - } - } - @override void didUpdateWidget(OudsPinCodeInput oldWidget) { super.didUpdateWidget(oldWidget); @@ -317,71 +261,6 @@ class _OudsPinCodeInputState extends State return; } - if (_isAccessibilityActive) { - // Step 2 — Accessibility deletion. - // The hidden TextField's native backspace always removes the trailing - // character. We intercept this and remove the character at - // [_voiceOverActiveIndex] instead, so the visual cursor stays on the - // active cell and the user deletes cells one by one in any order. - // - // Skip when the change comes from an external controller sync so that - // programmatic updates are never incorrectly treated as user backspaces. - if (!_updatingFromExternal && trimmed.length < _previousText.length) { - final String corrected; - if (_voiceOverActiveIndex < _previousText.length) { - // Remove the character at the active cell index. - corrected = - _previousText.substring(0, _voiceOverActiveIndex) + - _previousText.substring(_voiceOverActiveIndex + 1); - } else { - // The active cell was already empty — nothing to delete. - corrected = _previousText; - } - _previousText = corrected; - if (corrected != trimmed) { - // The controller holds the wrong text after the native backspace; - // rewrite it and let the listener fire again with the correct value. - _hiddenController.value = TextEditingValue( - text: corrected, - selection: TextSelection.collapsed(offset: corrected.length), - ); - return; - } - // If corrected == trimmed the native backspace already produced the - // right result; fall through to update the UI. - } - - // Step 3 — Accessibility overflow guard. - // Prevent a typed character from silently filling the next cell when the - // user has not navigated there yet. Only one character per activated cell - // is allowed; the most recently typed character is kept. - // - // Skip when the change comes from an external controller sync: the source - // instance has already validated the text, and its full value must be - // reflected as-is. Also update _voiceOverActiveIndex so the visual cursor - // lands on the correct cell in the receiving instance. - if (!_updatingFromExternal) { - final maxAllowed = _voiceOverActiveIndex + 1; - if (trimmed.length > maxAllowed) { - final prefix = trimmed.substring(0, _voiceOverActiveIndex); - final newChar = trimmed[trimmed.length - 1]; - final corrected = prefix + newChar; - _hiddenController.value = TextEditingValue( - text: corrected, - selection: TextSelection.collapsed(offset: corrected.length), - ); - return; - } - } else { - // Sync from external: move _voiceOverActiveIndex to match the fill - // level so the cursor appears on the correct cell. - _voiceOverActiveIndex = (trimmed.length - 1).clamp( - 0, - widget.length.digits - 1, - ); - } - } - // Step 4 — Sync per-cell controllers. final controllers = widget.controllers; if (controllers != null) { @@ -398,18 +277,31 @@ class _OudsPinCodeInputState extends State if (!_hasEdited && trimmed.isNotEmpty) _hasEdited = true; - _previousText = trimmed; setState(() {}); widget.onChanged?.call(trimmed); + //when focus moves to the next field, the new focused input shall be vocalized to inform the user + if (_hiddenFocusNode.hasFocus && trimmed.length < totalDigits) { + Future.delayed(const Duration(milliseconds: 100), () { + if (!mounted) return; + + final nextIndex = _activeIndex + 1; + + SemanticsService.announce( + OudsLocalizations.of( + context, + )?.core_pinCodeInput_digitPosition_a11y(nextIndex, totalDigits) ?? + '', + Directionality.of(context), + ); + }); + } // Step 5 — Completion. // In normal mode, unfocus when the last cell is filled so the keyboard // dismisses automatically. In accessibility mode we intentionally keep // focus so the assistive technology can continue reading the filled cells. if (trimmed.length == totalDigits) { - if (!_isAccessibilityActive) { - _hiddenFocusNode.unfocus(); - } + _hiddenFocusNode.unfocus(); widget.onEditingComplete?.call(trimmed); } } @@ -439,9 +331,7 @@ class _OudsPinCodeInputState extends State text: trimmed, selection: TextSelection.collapsed(offset: trimmed.length), ); - if (!_isAccessibilityActive) { - _hiddenFocusNode.requestFocus(); - } + _hiddenFocusNode.requestFocus(); } catch (_) {} } @@ -449,12 +339,7 @@ class _OudsPinCodeInputState extends State /// Index of the cell that shows the focused border and blinking cursor. /// - /// - **Normal mode**: equals the current text length — advances automatically - /// after each keystroke. - /// - **Accessibility mode**: equals [_voiceOverActiveIndex] — follows the - /// user's explicit navigation instead of advancing automatically. int get _activeIndex { - if (_isAccessibilityActive) return _voiceOverActiveIndex; final len = _hiddenController.text.length; return len.clamp(0, widget.length.digits - 1); } @@ -472,6 +357,44 @@ class _OudsPinCodeInputState extends State return hint; } + /// Returns a localized accessibility label for a PIN input position. + /// + /// Converts the zero-based [index] into a human-readable ordinal position + /// (for example: "1st", "2nd", "3rd" in English or "1er", "2ème" in French) + /// according to the current locale. + /// + /// This label is used by screen readers to announce each PIN cell position + /// more clearly and avoid confusion between the field position and its value. + String getDigitPositionLabel(BuildContext context, int index) { + final l10n = OudsLocalizations.of(context)!; + final position = index + 1; + + String ordinal; + + switch (Localizations.localeOf(context).languageCode) { + case 'fr': + ordinal = position == 1 ? '${position}er' : '${position}ème'; + break; + + case 'en': + if (position % 10 == 1 && position != 11) { + ordinal = '${position}st'; + } else if (position % 10 == 2 && position != 12) { + ordinal = '${position}nd'; + } else if (position % 10 == 3 && position != 13) { + ordinal = '${position}rd'; + } else { + ordinal = '${position}th'; + } + break; + + default: + ordinal = '$position'; + } + + return l10n.core_pinCodeInput_digitCode_label_a11y(ordinal); + } + // ─── Build ─────────────────────────────────────────────────────────────── @override @@ -569,27 +492,13 @@ class _OudsPinCodeInputState extends State return Flexible( fit: FlexFit.loose, child: Semantics( - // Track which cell VoiceOver / TalkBack is currently - // reading so the blinking cursor follows the assistive- - // technology focus on swipe navigation. - onDidGainAccessibilityFocus: _isAccessibilityActive - ? () => setState(() => _voiceOverActiveIndex = index) - : null, - // Record the activated cell on double-tap so input and - // deletion are scoped to the correct cell. - onTap: _isAccessibilityActive - ? () { - setState(() => _voiceOverActiveIndex = index); - _hiddenFocusNode.requestFocus(); - } - : null, // Disable live regions in accessibility mode to prevent // the screen reader from jumping to cells whose content // changed after a keystroke. - liveRegion: !_isAccessibilityActive, + liveRegion: true, hint: l10n?.core_common_hint_a11y, label: - "${l10n?.core_pinCodeInput_digitCode_label_a11y(index + 1)}, " + "${getDigitPositionLabel(context, index)}, " "${!widget.digitInputDecoration.hiddenPassword && widget.controllers != null ? widget.controllers![index].text : ''}, " "${l10n?.core_pinCodeInput_trait_a11y}", child: OudsDigitInput( @@ -597,7 +506,6 @@ class _OudsPinCodeInputState extends State isError: isError, isFocused: isActive, displayValue: char, - isAccessibilityActive: _isAccessibilityActive, digitInputDecoration: OudsDigitInputDecoration( hintText: _hintText(index), hiddenPassword: diff --git a/ouds_core/lib/l10n/gen/ouds_localizations.dart b/ouds_core/lib/l10n/gen/ouds_localizations.dart index 1ddc429b3..442f2dea2 100644 --- a/ouds_core/lib/l10n/gen/ouds_localizations.dart +++ b/ouds_core/lib/l10n/gen/ouds_localizations.dart @@ -310,7 +310,7 @@ abstract class OudsLocalizations { /// No description provided for @core_pinCodeInput_digitCode_label_a11y. /// /// In en, this message translates to: - /// **'Digit code {current}'** + /// **'{current} digit'** String core_pinCodeInput_digitCode_label_a11y(Object current); /// No description provided for @core_pinCodeInput_pinCode_label_a11y. @@ -331,6 +331,12 @@ abstract class OudsLocalizations { /// **'Error: Invalid code'** String get core_pinCodeInput_error_a11y; + /// No description provided for @core_pinCodeInput_digitPosition_a11y. + /// + /// In en, this message translates to: + /// **'Digit {current} of {total}'** + String core_pinCodeInput_digitPosition_a11y(Object current, Object total); + /// No description provided for @core_topAppBar_backNavigationIcon_a11y. /// /// In en, this message translates to: diff --git a/ouds_core/lib/l10n/gen/ouds_localizations_ar.dart b/ouds_core/lib/l10n/gen/ouds_localizations_ar.dart index 493884627..0c0b73658 100644 --- a/ouds_core/lib/l10n/gen/ouds_localizations_ar.dart +++ b/ouds_core/lib/l10n/gen/ouds_localizations_ar.dart @@ -118,7 +118,7 @@ class OudsLocalizationsAr extends OudsLocalizations { @override String core_pinCodeInput_digitCode_label_a11y(Object current) { - return 'الرقم $current'; + return 'الخانة $current'; } @override @@ -132,6 +132,11 @@ class OudsLocalizationsAr extends OudsLocalizations { @override String get core_pinCodeInput_error_a11y => 'خطأ: الرمز غير صحيح'; + @override + String core_pinCodeInput_digitPosition_a11y(Object current, Object total) { + return 'الرقم $current من $total'; + } + @override String get core_topAppBar_backNavigationIcon_a11y => 'رجوع'; diff --git a/ouds_core/lib/l10n/gen/ouds_localizations_en.dart b/ouds_core/lib/l10n/gen/ouds_localizations_en.dart index 7c61cde0d..25bbc37b4 100644 --- a/ouds_core/lib/l10n/gen/ouds_localizations_en.dart +++ b/ouds_core/lib/l10n/gen/ouds_localizations_en.dart @@ -118,7 +118,7 @@ class OudsLocalizationsEn extends OudsLocalizations { @override String core_pinCodeInput_digitCode_label_a11y(Object current) { - return 'Digit code $current'; + return '$current digit'; } @override @@ -132,6 +132,11 @@ class OudsLocalizationsEn extends OudsLocalizations { @override String get core_pinCodeInput_error_a11y => 'Error: Invalid code'; + @override + String core_pinCodeInput_digitPosition_a11y(Object current, Object total) { + return 'Digit $current of $total'; + } + @override String get core_topAppBar_backNavigationIcon_a11y => 'Back'; diff --git a/ouds_core/lib/l10n/gen/ouds_localizations_fr.dart b/ouds_core/lib/l10n/gen/ouds_localizations_fr.dart index da678a3ef..96aef9350 100644 --- a/ouds_core/lib/l10n/gen/ouds_localizations_fr.dart +++ b/ouds_core/lib/l10n/gen/ouds_localizations_fr.dart @@ -120,7 +120,7 @@ class OudsLocalizationsFr extends OudsLocalizations { @override String core_pinCodeInput_digitCode_label_a11y(Object current) { - return 'Code à chiffres $current'; + return '$current chiffre'; } @override @@ -134,6 +134,11 @@ class OudsLocalizationsFr extends OudsLocalizations { @override String get core_pinCodeInput_error_a11y => 'Error: Invalid code'; + @override + String core_pinCodeInput_digitPosition_a11y(Object current, Object total) { + return 'Chiffre $current sur $total'; + } + @override String get core_topAppBar_backNavigationIcon_a11y => 'Retour'; diff --git a/ouds_core/lib/l10n/ouds_flutter_ar.arb b/ouds_core/lib/l10n/ouds_flutter_ar.arb index 0b977e0d6..06482bf18 100644 --- a/ouds_core/lib/l10n/ouds_flutter_ar.arb +++ b/ouds_core/lib/l10n/ouds_flutter_ar.arb @@ -60,10 +60,11 @@ "core_passwordInput_hidePassword_a11y": "إخفاء كلمة المرو", "@_OUDS_PIN_CODE_INPUT": {}, - "core_pinCodeInput_digitCode_label_a11y": "الرقم {current}", + "core_pinCodeInput_digitCode_label_a11y": "الخانة {current}", "core_pinCodeInput_pinCode_label_a11y": "أدخل رمزك المكوّن من {digitsCount} أرقام", "core_pinCodeInput_trait_a11y": "حقل النص", "core_pinCodeInput_error_a11y": "خطأ: الرمز غير صحيح", + "core_pinCodeInput_digitPosition_a11y": "الرقم {current} من {total}", "@_OUDS_TOP_APP_BAR": {}, "core_topAppBar_backNavigationIcon_a11y": "رجوع", diff --git a/ouds_core/lib/l10n/ouds_flutter_en.arb b/ouds_core/lib/l10n/ouds_flutter_en.arb index 0aa1a5a7b..ec0e469d2 100644 --- a/ouds_core/lib/l10n/ouds_flutter_en.arb +++ b/ouds_core/lib/l10n/ouds_flutter_en.arb @@ -59,10 +59,11 @@ "@_OUDS_PIN_CODE_INPUT": {}, - "core_pinCodeInput_digitCode_label_a11y": "Digit code {current}", + "core_pinCodeInput_digitCode_label_a11y": "{current} digit", "core_pinCodeInput_pinCode_label_a11y": "Enter your {digitsCount}-digit code", "core_pinCodeInput_trait_a11y": "EditBox", "core_pinCodeInput_error_a11y": "Error: Invalid code", + "core_pinCodeInput_digitPosition_a11y": "Digit {current} of {total}", "@_OUDS_TOP_APP_BAR": {}, "core_topAppBar_backNavigationIcon_a11y": "Back", diff --git a/ouds_core/lib/l10n/ouds_flutter_fr.arb b/ouds_core/lib/l10n/ouds_flutter_fr.arb index ab5302f12..f352ea576 100644 --- a/ouds_core/lib/l10n/ouds_flutter_fr.arb +++ b/ouds_core/lib/l10n/ouds_flutter_fr.arb @@ -58,11 +58,13 @@ "core_passwordInput_hidePassword_a11y": "Masquer le mot de passe", "@_OUDS_PIN_CODE_INPUT": {}, - "core_pinCodeInput_digitCode_label_a11y": "Code à chiffres {current}", + "core_pinCodeInput_digitCode_label_a11y": "{current} chiffre", "core_pinCodeInput_pinCode_label_a11y": "Entrez votre code à {digitsCount} chiffres", "core_pinCodeInput_trait_a11y": "Champ de saisie", + "core_pinCodeInput_digitPosition_a11y": "Chiffre {current} sur {total}", - "@_OUDS_TOP_APP_BAR": {}, + + "@_OUDS_TOP_APP_BAR": {}, "core_topAppBar_backNavigationIcon_a11y": "Retour", "core_topAppBar_menuNavigationIcon_a11y": "Menu", "core_topAppBar_closeNavigationIcon_a11y": "Fermer",