Skip to main content
zerotal

Documentation


Documentation / @zerotal/flow / index / PageClassWithMeta

Interface: PageClassWithMeta

Defined in: flow/src/registry.ts:107

A Component constructor plus the optional static metadata a page class may declare (title, head, models, layout). Used when resolving file-route page exports and when auto-registering associated model classes.

Constructors

Constructor

new PageClassWithMeta(): Component

Defined in: flow/src/registry.ts:108

Returns

Component

Properties

name

name: string

Defined in: flow/src/registry.ts:109


title?

optional title?: string

Defined in: flow/src/registry.ts:111

Sets the HTML for this page.</p> <hr /> <h3 id="head">head?</h3> <blockquote> <p><code>optional</code> <strong>head?</strong>: <code>string</code></p> </blockquote> <p>Defined in: <a href="https://github.com/zerotaldev/zerotal/blob/1d6fb26b05b18ba077de1bfaeb46c42131cd8b70/packages/flow/src/registry.ts#L113">flow/src/registry.ts:113</a></p> <p>Raw HTML to inject into <head> for this page.</p> <hr /> <h3 id="models">models?</h3> <blockquote> <p><code>optional</code> <strong>models?</strong>: <code>Record</code><<code>string</code>, <em>typeof</em> <a href="../../../orm/index/classes/BaseModel"><code>BaseModel</code></a>></p> </blockquote> <p>Defined in: <a href="https://github.com/zerotaldev/zerotal/blob/1d6fb26b05b18ba077de1bfaeb46c42131cd8b70/packages/flow/src/registry.ts#L115">flow/src/registry.ts:115</a></p> <p>Optional model associations for auto-registration.</p> <hr /> <h3 id="layout">layout?</h3> <blockquote> <p><code>optional</code> <strong>layout?</strong>: () => <a href="../classes/Layout"><code>Layout</code></a></p> </blockquote> <p>Defined in: <a href="https://github.com/zerotaldev/zerotal/blob/1d6fb26b05b18ba077de1bfaeb46c42131cd8b70/packages/flow/src/registry.ts#L117">flow/src/registry.ts:117</a></p> <p>Optional layout class.</p> <h4 id="returns-1">Returns</h4> <p><a href="../classes/Layout"><code>Layout</code></a></p> </article> </div> </main> <!-- Right-hand ToC — revealed by JS once populated --> <div id="toc" class="hidden" data-toc-classes="fixed top-16 right-0 w-64 h-[calc(100vh-4rem)] overflow-y-auto py-10 px-5 z-30 hidden xl:block"> <p class="pl-3.5 text-[0.65rem] font-semibold uppercase tracking-[0.09em] text-stone-400 mb-2">On this page</p> <nav id="toc-nav" class="ml-px border-l border-stone-200/80" aria-label="On this page"></nav> </div> </div><!-- /shell --> <footer class="border-t border-stone-200 bg-white" aria-label="Site footer"> <div class="max-w-6xl mx-auto px-6 sm:px-10 py-12"> <div class="grid grid-cols-2 md:grid-cols-4 gap-8"> <div> <p class="text-[0.6875rem] font-semibold uppercase tracking-[0.09em] text-stone-400 mb-3">Documentation</p> <ul class="m-0 p-0 list-none space-y-2"> <li class="list-none"><a href="/docs" class="text-[0.8125rem] text-stone-500 hover:text-stone-900 no-underline transition-colors">Overview</a></li><li class="list-none"><a href="/docs/getting-started" class="text-[0.8125rem] text-stone-500 hover:text-stone-900 no-underline transition-colors">Getting started</a></li><li class="list-none"><a href="/docs/upgrade" class="text-[0.8125rem] text-stone-500 hover:text-stone-900 no-underline transition-colors">Upgrade guide</a></li><li class="list-none"><a href="/docs/changelog" class="text-[0.8125rem] text-stone-500 hover:text-stone-900 no-underline transition-colors">Changelog</a></li> </ul> </div> <div> <p class="text-[0.6875rem] font-semibold uppercase tracking-[0.09em] text-stone-400 mb-3">Project</p> <ul class="m-0 p-0 list-none space-y-2"> <li class="list-none"><a href="/showcase/flow" class="text-[0.8125rem] text-stone-500 hover:text-stone-900 no-underline transition-colors">Live demos</a></li><li class="list-none"><a href="/blog" class="text-[0.8125rem] text-stone-500 hover:text-stone-900 no-underline transition-colors">Blog</a></li><li class="list-none"><a href="/docs/contributing" class="text-[0.8125rem] text-stone-500 hover:text-stone-900 no-underline transition-colors">Contributing</a></li><li class="list-none"><a href="https://github.com/zerotaldev/zerotal/blob/main/SECURITY.md" target="_blank" rel="noopener" class="text-[0.8125rem] text-stone-500 hover:text-stone-900 no-underline transition-colors">Security</a></li><li class="list-none"><a href="https://github.com/zerotaldev/zerotal/blob/main/LICENSE" target="_blank" rel="noopener" class="text-[0.8125rem] text-stone-500 hover:text-stone-900 no-underline transition-colors">Licence (MIT)</a></li> </ul> </div> <div> <p class="text-[0.6875rem] font-semibold uppercase tracking-[0.09em] text-stone-400 mb-3">Code</p> <ul class="m-0 p-0 list-none space-y-2"> <li class="list-none"><a href="https://github.com/zerotaldev/zerotal" target="_blank" rel="noopener" class="text-[0.8125rem] text-stone-500 hover:text-stone-900 no-underline transition-colors">GitHub</a></li><li class="list-none"><a href="https://github.com/zerotaldev/zerotal/issues" target="_blank" rel="noopener" class="text-[0.8125rem] text-stone-500 hover:text-stone-900 no-underline transition-colors">Issues</a></li><li class="list-none"><a href="https://github.com/zerotaldev/zerotal/releases" target="_blank" rel="noopener" class="text-[0.8125rem] text-stone-500 hover:text-stone-900 no-underline transition-colors">Releases</a></li><li class="list-none"><a href="https://www.npmjs.com/package/zerotal" target="_blank" rel="noopener" class="text-[0.8125rem] text-stone-500 hover:text-stone-900 no-underline transition-colors">npm</a></li> </ul> </div> <div class="col-span-2 md:col-span-1"> <p class="text-[0.6875rem] font-semibold uppercase tracking-[0.09em] text-stone-400 mb-3">Zerotal</p> <p class="text-[0.8125rem] text-stone-500 leading-6 m-0">A full-stack TypeScript framework for Bun. Version 1.7.</p> </div> </div> <p class="mt-10 pt-6 border-t border-stone-100 text-[0.75rem] text-stone-400 m-0">© 2026 Zerotal · Released under the MIT licence.</p> </div> </footer> </body> </html>