@startuml Class
set namespaceSeparator ::

class "wyatt_ui_layout::src::presentation::layouts::structural_layouts::bottom_navigation_bar_layout.dart::BottomNavigationBarLayout" {
  +Widget? body
  +BottomNavigationBarComponent? Function(BottomNavigationBarComponent?)? custom
  +Widget build()
}

"wyatt_ui_layout::src::presentation::layouts::structural_layouts::bottom_navigation_bar_layout.dart::BottomNavigationBarLayout" o-- "flutter::src::widgets::framework.dart::Widget"
"wyatt_ui_layout::src::presentation::layouts::structural_layouts::bottom_navigation_bar_layout.dart::BottomNavigationBarLayout" o-- "null::BottomNavigationBarComponent Function(BottomNavigationBarComponent)"
"wyatt_ui_layout::src::presentation::layouts::layout.dart::StructuralLayout" <|-- "wyatt_ui_layout::src::presentation::layouts::structural_layouts::bottom_navigation_bar_layout.dart::BottomNavigationBarLayout"

abstract class "wyatt_ui_layout::src::presentation::layouts::structural_layouts::top_app_bar_layout.dart::TopBarLayout" {
  +Widget body
  +T? Function(T?)? custom
  +double height
  +T? child()
  +Widget build()
}

"wyatt_ui_layout::src::presentation::layouts::structural_layouts::top_app_bar_layout.dart::TopBarLayout" o-- "flutter::src::widgets::framework.dart::Widget"
"wyatt_ui_layout::src::presentation::layouts::structural_layouts::top_app_bar_layout.dart::TopBarLayout" o-- "null::T Function(T)"
"wyatt_ui_layout::src::presentation::layouts::layout.dart::StructuralLayout" <|-- "wyatt_ui_layout::src::presentation::layouts::structural_layouts::top_app_bar_layout.dart::TopBarLayout"

class "wyatt_ui_layout::src::presentation::layouts::structural_layouts::top_app_bar_layout.dart::TopAppBarLayout" {
  +TopAppBarComponent? child()
}

"wyatt_ui_layout::src::presentation::layouts::structural_layouts::top_app_bar_layout.dart::TopBarLayout" <|-- "wyatt_ui_layout::src::presentation::layouts::structural_layouts::top_app_bar_layout.dart::TopAppBarLayout"

class "wyatt_ui_layout::src::presentation::layouts::structural_layouts::top_app_bar_layout.dart::TopNavigationBarLayout" {
  +TopNavigationBarComponent? child()
}

"wyatt_ui_layout::src::presentation::layouts::structural_layouts::top_app_bar_layout.dart::TopBarLayout" <|-- "wyatt_ui_layout::src::presentation::layouts::structural_layouts::top_app_bar_layout.dart::TopNavigationBarLayout"

class "wyatt_ui_layout::src::presentation::layouts::structural_layouts::frame_layout.dart::FrameLayout" {
  +TopAppBarComponent? Function(TopAppBarComponent?)? customAppBar
  +BottomNavigationBarComponent? Function(BottomNavigationBarComponent?)? customBottomNavBar
  +Widget body
  +double height
  +Widget build()
}

"wyatt_ui_layout::src::presentation::layouts::structural_layouts::frame_layout.dart::FrameLayout" o-- "null::TopAppBarComponent Function(TopAppBarComponent)"
"wyatt_ui_layout::src::presentation::layouts::structural_layouts::frame_layout.dart::FrameLayout" o-- "null::BottomNavigationBarComponent Function(BottomNavigationBarComponent)"
"wyatt_ui_layout::src::presentation::layouts::structural_layouts::frame_layout.dart::FrameLayout" o-- "flutter::src::widgets::framework.dart::Widget"
"wyatt_ui_layout::src::presentation::layouts::layout.dart::StructuralLayout" <|-- "wyatt_ui_layout::src::presentation::layouts::structural_layouts::frame_layout.dart::FrameLayout"

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"

abstract class "wyatt_ui_layout::src::presentation::layouts::layout.dart::StructuralLayout" {
}

"wyatt_ui_layout::src::presentation::layouts::layout.dart::Layout" <|-- "wyatt_ui_layout::src::presentation::layouts::layout.dart::StructuralLayout"

abstract class "wyatt_ui_layout::src::presentation::layouts::layout.dart::ContentLayout" {
}

"wyatt_ui_layout::src::presentation::layouts::layout.dart::Layout" <|-- "wyatt_ui_layout::src::presentation::layouts::layout.dart::ContentLayout"

class "wyatt_ui_layout::src::presentation::layouts::content_layouts::grid_layout.dart::GridLayout" {
  +List<Widget> children
  +double verticalGap
  +double horizontalGap
  +Widget build()
}

"wyatt_ui_layout::src::presentation::layouts::layout.dart::ContentLayout" <|-- "wyatt_ui_layout::src::presentation::layouts::content_layouts::grid_layout.dart::GridLayout"


@enduml