- components
- ›
- navigation
- ›
- react
Navigation
A flexible navigation interface for large, medium, and small screens.
Bar
Contents
- Recommended for small sized screens (ex: mobile).
- Ideal for vertical screen layouts.
- Should be fixed to the bottom of the viewport.
- Supports 3-5 tiles based on contents and viewport width.
- Consider progressive enhancement with the Virtual Keyboard API.
Rail
Contents
- Recommended for medium sized screens (ex: tablet).
- Ideal for horizontal screen layouts.
- Should be fixed to the left or right of the viewport.
- Supports 3-7 tiles based on contents and viewport height.
Sidebar
Contents
- Recommended for large sized screens (ex: desktop).
- Ideal for horizontal screen layouts.
- Should be fixed to the left or right of the viewport.
- Supports multiple groups of links for deep navigation.
- Supports a label field per each group.
- Can scroll vertically if contents extend beyond the viewport height.
Toggle Layout
Using reactive state we can dynamically switch between multiple layouts. Tap the double arrow icon to toggle.
Contents
API Reference
Root
Property | Default | Type |
---|---|---|
layout | bar | "bar" | "rail" | "sidebar" | undefinedSets the data-layout attribute, which modifies the visual presentation of the component set. |
element | - | ((attributes: HTMLAttributes<"div">) => Element) | undefinedRender the element yourself |
Header
Property | Default | Type |
---|---|---|
element | - | ((attributes: HTMLAttributes<"header">) => Element) | undefinedRender the element yourself |
Content
Property | Default | Type |
---|---|---|
element | - | ((attributes: HTMLAttributes<"div">) => Element) | undefinedRender the element yourself |
Group
Property | Default | Type |
---|---|---|
element | - | ((attributes: HTMLAttributes<"div">) => Element) | undefinedRender the element yourself |
Label
Property | Default | Type |
---|---|---|
element | - | ((attributes: HTMLAttributes<"div">) => Element) | undefinedRender the element yourself |
Menu
Property | Default | Type |
---|---|---|
element | - | ((attributes: HTMLAttributes<"div">) => Element) | undefinedRender the element yourself |
Footer
Property | Default | Type |
---|---|---|
element | - | ((attributes: HTMLAttributes<"footer">) => Element) | undefinedRender the element yourself |