Skip to main content

Menu Components

A set of components for building versatile menu structures, including grids and standard items.

Component Preview

A grid container for menu items.

Props

PropTypeDescription
childrenReactNodeContent of the grid, typically MenuGridItems.
columnsnumberNumber of columns in the grid. Default: 3.
classNamestringOptional CSS class for the wrapper.
gridClassNamestringOptional CSS class for the grid element.

An individual item within a MenuGrid.

Props

PropTypeDescription
titlestringTitle of the item.
hrefstringURL to link to.
descriptionstringOptional description text.
iconstringOptional Iconify icon name.
badgestringOptional badge text.
compactbooleanWhether to use a compact layout. Default: false.
showDescriptionbooleanWhether to show the description. Default: true.
classNamestringOptional CSS class name.

A standard menu link item.

Props

PropTypeDescription
titlestringTitle of the item.
hrefstringURL to link to.
descriptionstringOptional description text.
iconstringOptional Iconify icon name.
badgestring | numberOptional badge text or number.
isActivebooleanWhether the item is currently active. Default: false.
compactbooleanWhether to use a compact layout. Default: false.
classNamestringOptional CSS class name.

JSON Data Example (MenuGrid)

{
"type": "MenuGrid",
"data": {
"id": "menugrid-default",
"columns": 3,
"className": "p-6",
"gridClassName": "gap-6 bg-primary text-primary-950 rounded-sm px-4 py-2 shadow-md",
"children": [
{
"type": "MenuGridItem",
"data": {
"id": "menugrid-item-1",
"title": "Web Development",
"description": "Build modern web applications",
"href": "#web",
"icon": "mdi:web",
"badge": "Popular"
}
},
{
"type": "MenuGridItem",
"data": {
"id": "menugrid-item-2",
"title": "Mobile Apps",
"description": "iOS and Android applications",
"href": "#mobile",
"icon": "mdi:cellphone"
}
}
]
}
}