Skip to content

NavigationNode

One node of the published Experience tree. Flat and parent-linked (the LocaleTreeNode shape, for the same reason): trivially convertible to a nested tree, and the only shape that stays coherent for a partial selection — an ancestors response is a chain, not a tree.

depth: number

Absolute from the site root (0), so it means the same thing under every include combination.


kind: NavigationNodeKind


nodeId: string


parentNodeId: string | null


path: string | null

Site-relative, or null for a node whose locale slot and default own no published path.


slug: string | null

null on a site root, which is slug-less.


optional targetNodeId?: string

Present iff kind is redirect.


optional targetPath?: string

Present iff the redirect’s target is itself a live published node of the same site.


title: string

Never null and never empty — see titleSource for which step of the ladder answered.


titleSource: "name" | "content"

content = from the bound content (this address’s own override, else the component’s own); name = the node’s internal editor label, the guaranteed floor.