Where footers live
- Dashboard —
variant=simpleorminimalat the bottom of the main column (often withmt-auto). - Marketing / legal —
variant=columnsfull viewport width (Scrawl landing). - Previews use 90% width and 90vh height per variant on layout doc pages so column grids and App Shell footers read at real scale.
atelier — in App Shell (dashboard simple bar)
Footer at the bottom of the scrollable main column — Lyriq-style legal links.
Settings
Page content fills the middle; footer sticks to the bottom of main.
variant=simple — main column width
Content above…
variant=columns — marketing page (Scrawl)
Full-bleed footer below landing content — not nested in App Shell main padding.
Build with Atelier.
Marketing pages use variant=columns footers at full viewport width — not inside the dashboard main column.
Brand + menu + social icons
Three link columns
PageFooterCredit (attribution row)
variant=minimal
Compact apps and modals.
Custom children (freeform)
API
| Prop | Required | Type | Default | Description |
|---|---|---|---|---|
| theme | Optional | SiteTheme | atelier | Visual theme. |
| variant | Optional | "simple" | "columns" | "minimal" | simple | Shell layout density. |
| PageFooterBrand | Optional | subcomponent | — | Logo mark + title link + optional tagline. |
| PageFooterColumn / PageFooterLink | Optional | subcomponents | — | Grouped footer nav columns. |
| PageFooterMenu | Optional | subcomponent | — | Horizontal link row from items array. |
| PageFooterBar / PageFooterCopyright | Optional | subcomponents | — | Bottom row; bar supports fade Divider. |
| PageFooterCredit | Optional | subcomponent | — | Optional “Made with ♥ by …” attribution link for the bar row. |
| children | Optional | ReactNode | — | Compose grid, columns, or freeform content. |