// Generated by scripts/generate-showcase.mjs. Do not edit directly.
page PublicPageShellDetail {
layout = "showcase"
state playground_maxWidth = ctx.url.searchParams.get("pg_maxWidth") ?? "full"
state playground_fullWidth = (ctx.url.searchParams.get("pg_fullWidth") ?? "false") === "true"
state playground_headerOffset = ctx.url.searchParams.get("pg_headerOffset") ?? "none"
state playground_background = ctx.url.searchParams.get("pg_background") ?? "default"
state playground_overflow = ctx.url.searchParams.get("pg_overflow") ?? "clip"
state playground_minHeight = ctx.url.searchParams.get("pg_minHeight") ?? "screen"
state playground_size = ctx.url.searchParams.get("pg_size") ?? "default"
state playground_color = ctx.url.searchParams.get("pg_color") ?? "primary"
state playground_variant = ctx.url.searchParams.get("pg_variant") ?? "default"
state playground_class = ctx.url.searchParams.get("pg_class") ?? "showcase-instance showcase-instance--1"
seo {
title = "Public Page Shell"
description = "Provide the outer responsive structure, width, background, slots, overflow, and minimum-height behavior for public pages."
}
view {
Layout component
Public Page Shell
Provide the outer responsive structure, width, background, slots, overflow, and minimum-height behavior for public pages.
10 props3 slots0 outputsTheme readyResponsive
Interactive playgroundConfigure Public Page Shell
Change any prop and inspect the server-rendered component immediately.
Live preview
<PublicPageShell
fullWidth="false">
<div data-slot="before">
<div class="showcase-slot">before slot</div>
</div>
<div data-slot="after">
<div class="showcase-slot">after slot</div>
</div>
</PublicPageShell>
Live examplesDesigned for real product surfaces
Compare configurations and resize the browser to check responsive behavior.
<PublicPageShell
maxWidth="xl"
fullWidth="false">
<div data-slot="before">
<div class="showcase-slot">before slot</div>
</div>
<div class="showcase-shell-preview">
<header>Header slot</header>
<main>Public page content</main>
<footer>Footer slot</footer>
</div>
<div data-slot="after">
<div class="showcase-slot">after slot</div>
</div>
</PublicPageShell>
<PublicPageShell
maxWidth="compact"
fullWidth="false"
headerOffset="sm"
background="soft"
size="sm"
variant="secondary">
<div data-slot="before">
<div class="showcase-slot">before slot</div>
</div>
<div class="showcase-shell-preview">
<header>Header slot</header>
<main>Public page content</main>
<footer>Footer slot</footer>
</div>
<div data-slot="after">
<div class="showcase-slot">after slot</div>
</div>
</PublicPageShell>
<PublicPageShell
size="lg"
variant="success">
<div data-slot="before">
<div class="showcase-slot">before slot</div>
</div>
<div class="showcase-shell-preview">
<header>Header slot</header>
<main>Public page content</main>
<footer>Footer slot</footer>
</div>
<div data-slot="after">
<div class="showcase-slot">after slot</div>
</div>
</PublicPageShell>
Component APIProps and configuration
All content and behavior shown above is supplied through these props and slots.
| Prop | Type | Default | Required |
|---|
maxWidth | string | "full" | No |
fullWidth | boolean | true | No |
headerOffset | string | "none" | No |
background | string | "default" | No |
overflow | string | "clip" | No |
minHeight | string | "screen" | No |
size | string | "default" | No |
color | string | "primary" | No |
variant | string | "default" | No |
class | string | "" | No |
}
}