@startuml set namespaceSeparator :: class "wyatt_ui_layout::src::features::component_theme.dart::ComponentTheme" { +Widget child +ComponentThemeData themDataWidget {static} +ComponentThemeData of() +Widget build() } "wyatt_ui_layout::src::features::component_theme.dart::ComponentTheme" o-- "flutter::src::widgets::framework.dart::Widget" "wyatt_ui_layout::src::features::component_theme.dart::ComponentTheme" o-- "wyatt_ui_layout::src::features::component_theme_data.dart::ComponentThemeData" "flutter::src::widgets::framework.dart::StatelessWidget" <|-- "wyatt_ui_layout::src::features::component_theme.dart::ComponentTheme" class "wyatt_ui_layout::src::features::component_theme.dart::_InheritedComponentTheme" { +ComponentTheme themeWidget +bool updateShouldNotify() } "wyatt_ui_layout::src::features::component_theme.dart::_InheritedComponentTheme" o-- "wyatt_ui_layout::src::features::component_theme.dart::ComponentTheme" "flutter::src::widgets::framework.dart::InheritedWidget" <|-- "wyatt_ui_layout::src::features::component_theme.dart::_InheritedComponentTheme" class "wyatt_ui_layout::src::features::component_theme_data.dart::ComponentThemeData" { +AppBarComponent appBar +BottomNavigationBarComponent bottomNavigationBar } "wyatt_ui_layout::src::features::component_theme_data.dart::ComponentThemeData" o-- "wyatt_ui_layout::src::domain::entities::components.dart::AppBarComponent" "wyatt_ui_layout::src::features::component_theme_data.dart::ComponentThemeData" o-- "wyatt_ui_layout::src::domain::entities::components.dart::BottomNavigationBarComponent" abstract class "wyatt_ui_layout::src::domain::entities::components.dart::AppBarComponent" { +String? title +AppBarComponent configure() } "flutter::src::widgets::preferred_size.dart::PreferredSize" <|-- "wyatt_ui_layout::src::domain::entities::components.dart::AppBarComponent" abstract class "wyatt_ui_layout::src::domain::entities::components.dart::BottomNavigationBarComponent" { +int currentIndex +void Function(BuildContext, int)? onTap +BottomNavigationBarComponent configure() } "wyatt_ui_layout::src::domain::entities::components.dart::BottomNavigationBarComponent" o-- "null::void Function(BuildContext, int)" "flutter::src::widgets::framework.dart::StatelessWidget" <|-- "wyatt_ui_layout::src::domain::entities::components.dart::BottomNavigationBarComponent" abstract class "wyatt_ui_layout::src::presentation::layouts::layout.dart::Layout" { } "flutter::src::widgets::framework.dart::StatelessWidget" <|-- "wyatt_ui_layout::src::presentation::layouts::layout.dart::Layout" class "wyatt_ui_layout::src::presentation::layouts::bottom_navigation_bar_layout.dart::BottomNavigationBarLayout" { +Widget body +int currentIndex +Widget build() } "wyatt_ui_layout::src::presentation::layouts::bottom_navigation_bar_layout.dart::BottomNavigationBarLayout" o-- "flutter::src::widgets::framework.dart::Widget" "wyatt_ui_layout::src::presentation::layouts::layout.dart::Layout" <|-- "wyatt_ui_layout::src::presentation::layouts::bottom_navigation_bar_layout.dart::BottomNavigationBarLayout" class "wyatt_ui_layout::src::presentation::layouts::app_bar_layout.dart::AppBarLayout" { +String title +Widget body +Widget build() } "wyatt_ui_layout::src::presentation::layouts::app_bar_layout.dart::AppBarLayout" o-- "flutter::src::widgets::framework.dart::Widget" "wyatt_ui_layout::src::presentation::layouts::layout.dart::Layout" <|-- "wyatt_ui_layout::src::presentation::layouts::app_bar_layout.dart::AppBarLayout" @enduml