component Sidebar { outputs { toggle(payload: { open: boolean }) open(payload: { sourceEvent?: Event; [key: string]: string | number | boolean | null | object }) close(payload: { source: string }) select(payload: { item: string | number | boolean | null | object; value: string | number | boolean; level: string }) } props { size: string = "default" color: string = "primary" label: string = "Sidebar" items: unknown[] = [] active: string = "" orientation: string = "horizontal" mobileLabel: string = "Open navigation" class: string = "" } state mobileOpen: boolean = false functions { client function toggleSidebar() { mobileOpen = !mobileOpen output.toggle({ open: mobileOpen }) output[mobileOpen ? "open" : "close"]({ source: "mobile" }) } client function closeSidebar() { mobileOpen = false output.close({ source: "mobile" }) } client function selectItem(item, level) { mobileOpen = false output.select({ item: item, value: item.value || "", level: level }) } } view {
} }