glaze/basecoat/sidebar
Basecoat documentation: https://basecoatui.com/components/sidebar/
Sidebar layout helpers for responsive app navigation.
Note: This component requires JavaScript from Basecoat.
Anatomy
A sidebar is typically an aside with a nav containing groups and links.
Recipe
import glaze/basecoat/sidebar
import lustre/element/html
fn main_sidebar() {
sidebar.sidebar("main-nav", [sidebar.left()], [
sidebar.nav([], [
sidebar.section([], [
sidebar.group("Getting started", [
sidebar.link("#", True, [], [html.text("Playground")]),
sidebar.link("#", False, [], [html.text("Models")]),
]),
]),
]),
])
}
References
- MDN
aria-current: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-current
Types
Values
pub fn button(
is_current: Bool,
attrs: List(attribute.Attribute(msg)),
children: List(element.Element(msg)),
) -> element.Element(msg)
pub fn close_script(sidebar_id: String) -> String
pub fn footer(
attrs: List(attribute.Attribute(msg)),
children: List(element.Element(msg)),
) -> element.Element(msg)
pub fn group(
label: String,
items: List(element.Element(msg)),
) -> element.Element(msg)
pub fn group_with_attrs(
label: String,
attrs: List(attribute.Attribute(msg)),
items: List(element.Element(msg)),
) -> element.Element(msg)
pub fn header(
attrs: List(attribute.Attribute(msg)),
children: List(element.Element(msg)),
) -> element.Element(msg)
pub fn hidden() -> attribute.Attribute(msg)
pub fn left() -> attribute.Attribute(msg)
pub fn link(
href: String,
is_current: Bool,
attrs: List(attribute.Attribute(msg)),
children: List(element.Element(msg)),
) -> element.Element(msg)
pub fn nav(
attrs: List(attribute.Attribute(msg)),
children: List(element.Element(msg)),
) -> element.Element(msg)
pub fn nav_with_label(
label: String,
attrs: List(attribute.Attribute(msg)),
children: List(element.Element(msg)),
) -> element.Element(msg)
pub fn open_script(sidebar_id: String) -> String
pub fn right() -> attribute.Attribute(msg)
pub fn section(
attrs: List(attribute.Attribute(msg)),
children: List(element.Element(msg)),
) -> element.Element(msg)
pub fn sidebar(
id: String,
attrs: List(attribute.Attribute(msg)),
children: List(element.Element(msg)),
) -> element.Element(msg)
pub fn submenu(
id: String,
label: String,
attrs: List(attribute.Attribute(msg)),
items: List(element.Element(msg)),
) -> element.Element(msg)
pub fn submenu_with_icon(
id: String,
icon: element.Element(msg),
label: String,
attrs: List(attribute.Attribute(msg)),
items: List(element.Element(msg)),
) -> element.Element(msg)
pub fn toggle_script(sidebar_id: String) -> String
pub fn toggle_script_default() -> String
pub fn visible() -> attribute.Attribute(msg)