Skip to main content

Interface: MenuRenderContext

Defined in: components/Menu.tsx:146

Everything a custom renderMenu needs to draw the tree: the data, the open/close state, and the same helpers the built-in styles use.

Exposing the helpers rather than just the categories is the point — URL building respects getUrl/configuration, handleItemClick honours onMenuItemClick, and the openPath helpers give working expand/collapse. A custom renderer that only got categories would have to reimplement all of that and would drift from the built-ins.

Properties

categories

categories: MenuCategory[]

Defined in: components/Menu.tsx:148

Root-level categories of the fetched tree.


getCategoryName

getCategoryName: (cat) => string

Defined in: components/Menu.tsx:158

Localised display name.

Parameters

cat

MenuCategory

Returns

string


getCategoryUrl

getCategoryUrl: (cat) => string

Defined in: components/Menu.tsx:160

Href honouring getUrl when provided, else configuration.urls.

Parameters

cat

MenuCategory

Returns

string


getSubCategories

getSubCategories: (cat) => MenuCategory[]

Defined in: components/Menu.tsx:156

Children of cat, minus entries with no name or slug.

Parameters

cat

MenuCategory

Returns

MenuCategory[]


handleItemClick

handleItemClick: (cat, e) => void

Defined in: components/Menu.tsx:162

Click handler that fires onMenuItemClick and suppresses navigation.

Parameters

cat

MenuCategory

e

MouseEvent

Returns

void


hasError

hasError: boolean

Defined in: components/Menu.tsx:152

True when the internal fetch failed.


isLoading

isLoading: boolean

Defined in: components/Menu.tsx:150

True while the internal fetch is in flight (never when tree is passed).


isOpenAt

isOpenAt: (level, categoryId) => boolean

Defined in: components/Menu.tsx:166

Is categoryId the open branch at level (0-based)?

Parameters

level

number

categoryId

number

Returns

boolean


maxDepth

maxDepth: number

Defined in: components/Menu.tsx:154

Levels that may be rendered, after the style's cap is applied.


openAt

openAt: (level, categoryId) => void

Defined in: components/Menu.tsx:168

Open a branch at level, closing anything deeper. Pass null to close.

Parameters

level

number

categoryId

number | null

Returns

void


openPath

openPath: number[]

Defined in: components/Menu.tsx:164

Currently open branch as category ids, root → deepest.


toggleAt

toggleAt: (level, categoryId) => void

Defined in: components/Menu.tsx:170

Toggle a branch at level — the accordion's click behaviour.

Parameters

level

number

categoryId

number

Returns

void