OUDS Theme Contract Flutter Library

Ouds Theme Contract serves as the interface between the library and custom themes. It allows developers to create and manage themes by overriding semantic and component tokens.

Features

  • Provides the OudsThemeContract interface for implementing custom themes.
  • Includes helpers to manage themes effectively.
  • Supports automatic generation of token identifiers via Tokenator.

Getting started

To use Ouds Theme Contract, add it as a dependency in your pubspec.yaml file.

dependencies:
  ouds_theme_contract: ^1.0.0

Package Structure

  • Package ouds_theme_contract/theme: Contains the OudsThemeContract interface that can be implemented to create a new theme by overriding semantic and component tokens.
  • Package ouds_theme_contract/theme/tokens: Contains key token files which are token identifiers that should be used in your app to get a token value. These files are automatically generated by Tokenator.
  • Package ouds_theme_contract/theme/tokens/components: Contains specific component tokens coming from Figma and automatically generated by Tokenator.
  • Package ouds_theme_contract/theme/tokens/semantic: Contains semantic tokens coming from Figma and automatically generated by Tokenator.

Other OUDS Libraries

  • ouds_core: Contains the Brand components.
  • ouds_global_raw_tokens: Contains the token constants.
  • ouds_theme_orange: Contains the theme for the Orange brand.
  • ouds_theme_sosh: Contains the theme for the Sosh brand.

Code released under the MIT License. For images and other assets, please refer to the NOTICE.txt.

Libraries

config/component/ouds_button_config
config/component/ouds_tag_config
config/component/ouds_text_input_config
config/ouds_theme_config_model
ouds_component_version
ouds_theme
ouds_theme_contract
ouds_tokens_provider
ouds_tokens_version
theme/scheme/color/ouds_color_scheme
theme/scheme/responsive/ouds_grid_scheme
theme/scheme/responsive/ouds_size_scheme
theme/scheme/responsive/ouds_space_scheme
theme/scheme/responsive/ouds_window_size_class
theme/scheme/typography/ouds_typography
theme/tokens/components/ouds_badge_tokens
theme/tokens/components/ouds_bar_tokens
theme/tokens/components/ouds_button_tokens
theme/tokens/components/ouds_buttonMono_tokens
theme/tokens/components/ouds_checkbox_tokens
theme/tokens/components/ouds_chip_tokens
theme/tokens/components/ouds_components_tokens
theme/tokens/components/ouds_controlItem_tokens
theme/tokens/components/ouds_divider_tokens
theme/tokens/components/ouds_inputTag_tokens
theme/tokens/components/ouds_linkMono_tokens
theme/tokens/components/ouds_pinCodeInput_tokens
theme/tokens/components/ouds_radioButton_tokens
theme/tokens/components/ouds_skeleton_tokens
theme/tokens/components/ouds_switch_tokens
theme/tokens/components/ouds_tag_tokens
theme/tokens/components/ouds_textInput_tokens
theme/tokens/material/ouds_material_color_tokens
theme/tokens/semantic/ouds_border_semantic_tokens
theme/tokens/semantic/ouds_color_action_semantic_tokens
theme/tokens/semantic/ouds_color_always_semantic_tokens
theme/tokens/semantic/ouds_color_bg_semantic_tokens
theme/tokens/semantic/ouds_color_border_semantic_tokens
theme/tokens/semantic/ouds_color_content_semantic_tokens
theme/tokens/semantic/ouds_color_decorative_semantic_tokens
theme/tokens/semantic/ouds_color_opacity_semantic_tokens
theme/tokens/semantic/ouds_color_overlay_semantic_tokens
theme/tokens/semantic/ouds_color_repository_semantic_tokens
theme/tokens/semantic/ouds_color_semantic_tokens
theme/tokens/semantic/ouds_color_surface_semantic_tokens
theme/tokens/semantic/ouds_effect_semantic_tokens
theme/tokens/semantic/ouds_elevation_semantic_tokens
theme/tokens/semantic/ouds_font_semantic_tokens
theme/tokens/semantic/ouds_grid_semantic_tokens
theme/tokens/semantic/ouds_opacity_semantic_tokens
theme/tokens/semantic/ouds_size_semantic_tokens
theme/tokens/semantic/ouds_space_semantic_tokens
theme/utilities/theme_utils