Skip to content

page

page

Classes

PageState

Defined in: packages/ui/build/page/page-context.svelte.d.ts:41

Runes-backed page state. Created by Page, provided via context, and mutated only by Page (active tab) and its PageTab children (registration) — the same child-registration shape as PaneCollapseController. Implements the read-only PageContext the outside world sees.

Implements

Constructors

Constructor
new PageState(options): PageState;

Defined in: packages/ui/build/page/page-context.svelte.d.ts:45

Parameters
Parameter Type
options { fill: boolean; pageId: string; title: string; }
options.fill boolean
options.pageId string
options.title string
Returns

PageState

Properties

pageId
readonly pageId: string;

Defined in: packages/ui/build/page/page-context.svelte.d.ts:43

Stable page identity — the explicit id prop or the kebab-slug of the title.

Implementation of

PageContext.pageId

title
readonly title: string;

Defined in: packages/ui/build/page/page-context.svelte.d.ts:44

The page title (so nested views need not re-declare it — RFC V.2).

Implementation of

PageContext.title

Accessors

activeTab
Get Signature
get activeTab(): string | undefined;

Defined in: packages/ui/build/page/page-context.svelte.d.ts:55

The active tab value, defaulting to the first registered tab. Reactive.

Returns

string | undefined

The active tab's value id, or undefined when the page has no tabs. Reactive.

Implementation of

PageContext.activeTab

anyFill
Get Signature
get anyFill(): boolean;

Defined in: packages/ui/build/page/page-context.svelte.d.ts:58

True when the page root or any tab is fill — i.e. the tab body must run in bounded mode.

Returns

boolean

bounded
Get Signature
get bounded(): boolean;

Defined in: packages/ui/build/page/page-context.svelte.d.ts:56

Whether the current surface is a bounded fill region — true when the Page itself is fill, or the active tab is fill. An embedded collection view uses this to decide whether to claim scroll (RFC III.1). Reactive.

Returns

boolean

Whether the current surface is a bounded fill region — true when the Page itself is fill, or the active tab is fill. An embedded collection view uses this to decide whether to claim scroll (RFC III.1). Reactive.

Implementation of

PageContext.bounded

fill
Get Signature
get fill(): boolean;

Defined in: packages/ui/build/page/page-context.svelte.d.ts:51

Whether the Page root itself is a fill region (drives whether the tab body runs bounded).

Returns

boolean

tabs
Get Signature
get tabs(): readonly PageTabEntry[];

Defined in: packages/ui/build/page/page-context.svelte.d.ts:53

Registered tabs in DOM (mount) order. Reactive.

Returns

readonly PageTabEntry[]

Methods

register()
register(entry): object;

Defined in: packages/ui/build/page/page-context.svelte.d.ts:65

Register a PageTab. The requested value is de-duplicated so same-label sibling tabs retain unique ids. The child owns the returned teardown for its full component lifetime.

Parameters
Parameter Type
entry { content: Snippet; getFill: () => boolean; getIcon: () => string | undefined; getLabel: () => string; value: string; }
entry.content Snippet
entry.getFill () => boolean
entry.getIcon () => string | undefined
entry.getLabel () => string
entry.value string
Returns

object

unregister
unregister: () => void;
Returns

void

value
value: string;

setActiveTab()
setActiveTab(value): void;

Defined in: packages/ui/build/page/page-context.svelte.d.ts:60

Parameters
Parameter Type
value string
Returns

void

viewKey()
viewKey(suffix): string;

Defined in: packages/ui/build/page/page-context.svelte.d.ts:59

Derived key for persistence / detail routing: "<pageId>:<activeTab>:<suffix>", empty segments omitted. Reactive through activeTab.

Parameters
Parameter Type
suffix string
Returns

string

Implementation of

PageContext.viewKey

Interfaces

PageContext

Defined in: packages/ui/build/page/page-context.svelte.d.ts:7

The contract an embedded view (a Collection.Table, a detail surface, …) reads to derive stable persistence / detail-routing keys and to decide scroll ownership. Deliberately narrow and read-only: consumers observe page identity + the active surface, they never mutate it.

Properties

activeTab
readonly activeTab: string | undefined;

Defined in: packages/ui/build/page/page-context.svelte.d.ts:11

The active tab's value id, or undefined when the page has no tabs. Reactive.

bounded
readonly bounded: boolean;

Defined in: packages/ui/build/page/page-context.svelte.d.ts:17

Whether the current surface is a bounded fill region — true when the Page itself is fill, or the active tab is fill. An embedded collection view uses this to decide whether to claim scroll (RFC III.1). Reactive.

pageId
readonly pageId: string;

Defined in: packages/ui/build/page/page-context.svelte.d.ts:9

Stable page identity — the explicit id prop or the kebab-slug of the title.

title
readonly title: string;

Defined in: packages/ui/build/page/page-context.svelte.d.ts:19

The page title (so nested views need not re-declare it — RFC V.2).

Methods

viewKey()
viewKey(suffix): string;

Defined in: packages/ui/build/page/page-context.svelte.d.ts:24

Derived key for persistence / detail routing: "<pageId>:<activeTab>:<suffix>", empty segments omitted. Reactive through activeTab.

Parameters
Parameter Type
suffix string
Returns

string


PageProps

Defined in: packages/ui/build/page/page.svelte.d.ts:2

Properties

actions?
optional actions?: Snippet<[]>;

Defined in: packages/ui/build/page/page.svelte.d.ts:22

Header actions — populate with ToolbarItems; they auto-overflow on narrow containers.

children
children: Snippet;

Defined in: packages/ui/build/page/page.svelte.d.ts:24

class?
optional class?: string;

Defined in: packages/ui/build/page/page.svelte.d.ts:23

description?
optional description?: string;

Defined in: packages/ui/build/page/page.svelte.d.ts:5

eyebrow?
optional eyebrow?: string;

Defined in: packages/ui/build/page/page.svelte.d.ts:7

Small uppercase kicker above the title (RFC: derived from the app group).

fill?
optional fill?: boolean;

Defined in: packages/ui/build/page/page.svelte.d.ts:20

Make the whole page a bounded fill region: viewport-remainder height, an internal column flex with a min-h-0 chain, built on Pane so a descendant (a Collection.Table, or a <Pane scroll>) owns scroll instead of the page (RFC III.1). Omit for document flow — the page scrolls top-to-bottom (correct for forms, dashboards, reading pages).

NOTE: Page does NOT emit <svelte:head> and does not replace the pod:layout head tag. Reading fill statically to emit the app-shell layout flag is a later compiler phase (RFC III.4 / Part VII Phase 3); for now the host still owns the head/layout declaration.

id?
optional id?: string;

Defined in: packages/ui/build/page/page.svelte.d.ts:9

Explicit stable page identity. Defaults to the kebab-slug of PageProps.title.

title
title: string;

Defined in: packages/ui/build/page/page.svelte.d.ts:4

Page heading; also the default source of the stable PageProps.id.


PageTabEntry

Defined in: packages/ui/build/page/page-context.svelte.d.ts:27

A tab contributed by a PageTab child, registered with the parent Page (RFC V.5).

Properties

content
readonly content: Snippet;

Defined in: packages/ui/build/page/page-context.svelte.d.ts:34

The tab body, rendered through the shared Tabs component's content slot.

getFill
getFill: () => boolean;

Defined in: packages/ui/build/page/page-context.svelte.d.ts:32

Returns

boolean

getIcon
getIcon: () => string | undefined;

Defined in: packages/ui/build/page/page-context.svelte.d.ts:31

Returns

string | undefined

getLabel
getLabel: () => string;

Defined in: packages/ui/build/page/page-context.svelte.d.ts:30

Returns

string

value
readonly value: string;

Defined in: packages/ui/build/page/page-context.svelte.d.ts:29

Stable, unique value id for this tab (slug of the label, de-duplicated).


PageTabProps

Defined in: packages/ui/build/page/page-tab.svelte.d.ts:2

Properties

children
children: Snippet;

Defined in: packages/ui/build/page/page-tab.svelte.d.ts:15

fill?
optional fill?: boolean;

Defined in: packages/ui/build/page/page-tab.svelte.d.ts:14

Make this tab a bounded fill region (viewport-remainder height, internal min-h-0 chain) so a Collection.Table/Board inside it owns scroll (RFC III.1). Non-fill tabs render in document flow with the preset's pt-4 spacing.

icon?
optional icon?: string;

Defined in: packages/ui/build/page/page-tab.svelte.d.ts:8

Optional iconify id rendered before the label.

label
label: string;

Defined in: packages/ui/build/page/page-tab.svelte.d.ts:4

Visible tab label; also the source of the tab's stable value id (RFC V.5).

value?
optional value?: string;

Defined in: packages/ui/build/page/page-tab.svelte.d.ts:6

Stable authored identity. Required to distinguish intentional same-label sibling tabs.

Type Aliases

PageTab

type PageTab = ReturnType<typeof PageTab>;

Defined in: packages/ui/build/page/page-tab.svelte.d.ts:17

Variables

Page

const Page: Component & object;

Defined in: packages/ui/build/page/index.d.ts:9

The opinionated page scaffold (RFC Part V.5). Usable as <Page> and, via the attached namespace, <Page.Tab> — mirroring how the pane module groups Card.Title etc. The plain PageTab export remains for direct import.

Type Declaration

Tab
Tab: Component;

PageTab

const PageTab: Component;

Defined in: packages/ui/build/page/page-tab.svelte.d.ts:17

Functions

getPageContext()

function getPageContext(): 
  | PageContext
  | undefined;

Defined in: packages/ui/build/page/page-context.svelte.d.ts:82

Read the PageContext contract from the nearest ancestor Page, or undefined when used outside one. Raw getContext so absence is a plain undefined, not a throw.

Returns

| PageContext | undefined


pageViewKey()

function pageViewKey(
   pageId, 
   activeTab, 
   suffix): string;

Defined in: packages/ui/build/page/page.utils.d.ts:19

Stable derived key for persistence / detail routing (RFC Part V.5 / V.2). Composes "<pageId>:<activeTab>:<suffix>", omitting any empty/undefined segment so a page with no tab (or a tab with no active value yet) does not emit dangling : separators. This is the shape the collection-view stream consumes via PageContext.viewKey.

Parameters

Parameter Type
pageId string
activeTab string | undefined
suffix string

Returns

string


setPageContext()

function setPageContext(state): void;

Defined in: packages/ui/build/page/page-context.svelte.d.ts:77

Provide the page state to descendants. Internal — called by Page.

Parameters

Parameter Type
state PageState

Returns

void


slugifyPageId()

function slugifyPageId(title): string;

Defined in: packages/ui/build/page/page.utils.d.ts:12

Kebab-slug of a human title, used as the default stable PageContext.pageId when no explicit id is given. Lowercased, non-alphanumerics collapsed to single dashes, edges trimmed. Falls back to "page" for an all-punctuation/empty title so the id is never empty (an empty pageId would silently drop the leading viewKey segment).

Parameters

Parameter Type
title string

Returns

string