Live demo — this example is server-driven; run the showcase locally for the interactive version.
Page
Use Page straight from a Qute template — parameters and slots instead of Java builders. This reference is generated
from the runtime template sources: each template documents its parameters and slots in the header comment shown
beneath its include line.
Page — PatternFly v6
Optional: id — DOM id on the root; omit unless something else references the page.
Model mode: pass page=<org.sitenetsoft.quarkus.pha.model.Page> — masthead, generated sidebar, ordered main entries.
Structured slot mode (pure Qute, no model): pass shell=true. Params: id; hasToggle — Alpine
sidebarOpen state on the root (drives a masthead hamburger with hamburgerExpandExpr='sidebarOpen'
and a page-sidebar with toggleExpr='sidebarOpen'); embedded — render the main region as a <div>
(docs/demo pages already live inside a <main>); mainId; scrollableMain.
Slots: {#pageMasthead} — include components/navigation/masthead here.
{#pageSidebar} — include components/navigation/page-sidebar here.
{#pageMain} — the main content; compose components/navigation/page-section includes.
page-section
{#include components/navigation/page-section /}
Page main-section — one pf-v6-c-page__main-section + main-body block for the page component's
structured slot mode (pure Qute, no model).
Optional: modifiers — verbatim pf-m-* tokens on the section (e.g. "pf-m-fill",
"pf-m-no-fill pf-m-limit-width", "pf-m-padding-on-xl"), matching the model's
verbatim-modifier philosophy; sectionAriaLabel — aria-label on the section;
bodyStyle — inline style on the main-body.
Slot: {#sectionBody} — the section content.
page-sidebar
{#include components/navigation/page-sidebar /}
Page sidebar — aside anatomy for the page component's structured slot mode (pure Qute, no model).
Optional: toggleExpr — Alpine boolean driving expand/collapse (pair with page hasToggle=true and
'sidebarOpen'); fill — pf-m-fill on the body (multiple-body pattern).
Slot: {#sidebarBody} — the sidebar content, typically a nav include.