Skip to content

Screen

Defined in: packages/core/src/types.ts:49

Screen metadata definition for the screen catalog.

const screen: Screen = {
id: "billing.invoice.detail",
title: "Invoice Detail",
route: "/billing/invoices/:id",
owner: ["billing-team"],
tags: ["billing", "invoice"],
dependsOn: ["InvoiceAPI.getDetail"],
next: ["billing.invoice.edit"],
}

optional allowCycles: boolean

Defined in: packages/core/src/types.ts:115

Allow circular navigation involving this screen. When true, cycles that include this screen will not trigger warnings.

false
true

optional dependsOn: string[]

Defined in: packages/core/src/types.ts:93

APIs or services this screen depends on for impact analysis

["InvoiceAPI.getDetail", "PaymentAPI.getStatus"]
["UserAPI.getProfile"]

optional description: string

Defined in: packages/core/src/types.ts:121

Optional description explaining the screen’s purpose

"Displays detailed invoice information including line items and payment status"

optional entryPoints: string[]

Defined in: packages/core/src/types.ts:100

Screen IDs that can navigate to this screen (incoming edges)

["billing.invoice.list"]
["dashboard.home", "nav.sidebar"]

id: string

Defined in: packages/core/src/types.ts:56

Unique identifier for the screen using dot notation

"billing.invoice.detail"
"auth.login"
"settings.profile"

optional links: ScreenLink[]

Defined in: packages/core/src/types.ts:127

Links to external resources like Storybook, Figma, or documentation

[{ label: "Figma", url: "https://figma.com/file/..." }]

optional mock: ScreenMock

Defined in: packages/core/src/types.ts:134

Wireframe-level mock definition for UI documentation. When defined, navigation targets (navigateTo, itemNavigateTo, rowNavigateTo) are automatically extracted and merged into the next array.


optional next: string[]

Defined in: packages/core/src/types.ts:107

Screen IDs this screen can navigate to (outgoing edges)

["billing.invoice.edit", "billing.payment.start"]
["billing.invoice.list"]

optional owner: string[]

Defined in: packages/core/src/types.ts:79

Team(s) or domain(s) that own this screen

["billing-team"]
["platform", "billing"]

route: string

Defined in: packages/core/src/types.ts:72

Route path pattern with optional dynamic segments

"/billing/invoices/:id"
"/auth/login"
"/settings/profile"

optional tags: string[]

Defined in: packages/core/src/types.ts:86

Tags for categorization and filtering in the catalog

["billing", "invoice"]
["auth", "security"]

title: string

Defined in: packages/core/src/types.ts:64

Human-readable title displayed in the screen catalog

"Invoice Detail"
"Login"
"User Profile Settings"