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.

Templates

page

{#include components/navigation/page /}
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.