bpm.pageLayout
Layout avec sidebar repliable, titre et zone de contenu.
Python
bpm.pageLayout(title="Mon app", items=[...], currentItem="dashboard", onNavigate=...)| Prop | Type | Défaut | Requis | Description |
|---|---|---|---|---|
title | string | — | Oui | Titre affiché en haut de la sidebar. |
items | SidebarItem[] | — | Oui | Entrées du menu (key, label, icon). |
currentItem | string | — | Oui | Clé de l'entrée active. |
onNavigate | (key: string) => void | — | Oui | Callback à la sélection d'une entrée. |
children | ReactNode | — | Oui | Contenu principal. |
defaultCollapsed | boolean | false | Non | Sidebar repliée par défaut. |
theme | "light" | "dark" | — | Non | Thème courant (affiche bouton thème si onThemeChange fourni). |
onThemeChange | (theme: "light" | "dark") => void | — | Non | Callback changement de thème. |
Exemples
bpm.pageLayout(title="App", items=[{"key": "home", "label": "Accueil", "icon": "home"}], currentItem="home", onNavigate=handler)bpm.pageLayout(title="Admin", items=sidebar_items, currentItem=current, onNavigate=set_current, defaultCollapsed=True)bpm.pageLayout(..., theme="dark", onThemeChange=set_theme)