@startuml
set namespaceSeparator ::

class "wyatt_ui_components::src::features::component_theme.dart::ComponentTheme" {
  +Widget child
  +ComponentThemeData componentThemeWidget
  {static} +ComponentThemeData of()
  +Widget build()
}

"wyatt_ui_components::src::features::component_theme.dart::ComponentTheme" o-- "flutter::src::widgets::framework.dart::Widget"
"wyatt_ui_components::src::features::component_theme.dart::ComponentTheme" o-- "wyatt_ui_components::src::features::component_theme_data.dart::ComponentThemeData"
"flutter::src::widgets::framework.dart::StatelessWidget" <|-- "wyatt_ui_components::src::features::component_theme.dart::ComponentTheme"

class "wyatt_ui_components::src::features::component_theme.dart::_InheritedComponentTheme" {
  +ComponentTheme themeWidget
  +bool updateShouldNotify()
}

"wyatt_ui_components::src::features::component_theme.dart::_InheritedComponentTheme" o-- "wyatt_ui_components::src::features::component_theme.dart::ComponentTheme"
"flutter::src::widgets::framework.dart::InheritedWidget" <|-- "wyatt_ui_components::src::features::component_theme.dart::_InheritedComponentTheme"

class "wyatt_ui_components::src::features::component_theme_data.dart::ComponentThemeData" {
  +AppBarComponent appBar
  +BottomNavigationBarComponent bottomNavigationBar
}

"wyatt_ui_components::src::features::component_theme_data.dart::ComponentThemeData" o-- "wyatt_ui_components::src::domain::entities::components.dart::AppBarComponent"
"wyatt_ui_components::src::features::component_theme_data.dart::ComponentThemeData" o-- "wyatt_ui_components::src::domain::entities::components.dart::BottomNavigationBarComponent"

abstract class "wyatt_ui_components::src::domain::entities::components.dart::AppBarComponent" {
  +String? title
  +AppBarComponent configure()
}

"flutter::src::widgets::preferred_size.dart::PreferredSize" <|-- "wyatt_ui_components::src::domain::entities::components.dart::AppBarComponent"

abstract class "wyatt_ui_components::src::domain::entities::components.dart::BottomNavigationBarComponent" {
  +int currentIndex
  +void Function(BuildContext, int)? onTap
  +BottomNavigationBarComponent configure()
}

"wyatt_ui_components::src::domain::entities::components.dart::BottomNavigationBarComponent" o-- "null::void Function(BuildContext, int)"
"flutter::src::widgets::framework.dart::StatelessWidget" <|-- "wyatt_ui_components::src::domain::entities::components.dart::BottomNavigationBarComponent"


@enduml