# Install

```xml
<dependency>
    <groupId>com.vaadin</groupId>
    <artifactId>vaadin-app-layout-flow</artifactId>
</dependency>
<dependency>
    <groupId>de.mate_ds</groupId>
    <artifactId>mate-app-layout-addons-flow</artifactId>
</dependency>
```

# Import

```java
import com.vaadin.flow.component.applayout.AppLayout;
import de.mate_ds.flow.component.applayoutaddons.AppLayoutAddon;
```

# Variants

## Complete

```java
AppLayout appLayout = new AppLayout();
appLayout.getStyle().setWidth("100vw");
appLayout.getStyle().setHeight("100vh");

AppLayoutAddon addon = new AppLayoutAddon();
addon.attach(appLayout);

addon.setNavbar(new H1("My App"));

Tabs modules = new Tabs(
    new Tab(new Icon(MaterialSymbol.SymbolHome, "Home")),
    new Tab(new Icon(MaterialSymbol.SymbolReceiptLong, "Kasse")),
    new Tab(new Icon(MaterialSymbol.SymbolBarChart, "Auswertungen")),
    new Tab(new Icon(MaterialSymbol.SymbolAccountBox, "Veranlagung")),
    new Tab(new Icon(MaterialSymbol.SymbolBook, "Buchhaltung")));
modules.addSelectedChangeListener(e -> appLayout.setDrawerOpened(true));
modules.addThemeName("modules");
modules.setOrientation(Tabs.Orientation.VERTICAL);
addon.setApplicationBar(modules);

SideNav navigation = new SideNav();
SideNavAddon sideNavAddon = new SideNavAddon();
sideNavAddon.attach(navigation);
sideNavAddon.setItems(
    new SideNavItem("Menü Punkt 1",
        new SideNavItem("Menü Punkt 1.1", "1/1"),
        new SideNavItem("Menü Punkt 1.2", "1/2")),
    new SideNavItem("Menü Punkt 2",
        new SideNavItem("Menü Punkt 2.1", "2/1"),
        new SideNavItem("Menü Punkt 2.2", "2/2")));
appLayout.addToDrawer(navigation);

appLayout.setContent(new Scroller(new Text("Page content")));
```
