Production default
Balanced spacing, hierarchy, and content for the most common product workflow.
Grouped columns
One level deep by design: a mega menu shows breadth flat so everything is one click away. Nesting inside the panel would bury content behind hover-within-hover. Use Nav when you want cascading submenus.
<MegaMenu
- items='[
+ label="Products"
+ icon="icon-[lucide--box]"
+ columns='[
{
- "id": "mega-menu-0-1",
- "key": "mega-menu-0-1",
- "value": "primary",
- "label": "Primary workflow",
- "title": "Primary workflow",
- "description": "A clean default configuration for everyday product interfaces.",
- "text": "A configurable sample message.",
- "href": "#mega-menu-demo",
- "actionHref": "#mega-menu-demo",
- "actionLabel": "View details",
- "icon": "icon-[lucide--sparkles]",
- "iconClass": "icon-[lucide--sparkles]",
- "variant": "primary",
- "status": "Active",
- "time": "09:30",
- "current": true,
- "selected": true,
- "checked": true,
- "disabled": false,
- "outgoing": false,
- "open": true,
- "number": 1,
- "count": 16,
- "percentage": 72,
- "color": "#7c3aed",
- "target": "_self",
- "ariaLabel": "Open primary workflow 1",
+ "heading": "Platform",
"items": [
{
- "label": "Nested option A",
- "value": "nested-a"
+ "label": "Runtime",
+ "href": "/runtime",
+ "description": "The browser half of the framework."
},
{
- "label": "Nested option B",
- "value": "nested-b"
+ "label": "Compiler",
+ "href": "/compiler",
+ "description": "WRN to JavaScript."
}
- ],
- "links": [
- {
- "label": "Documentation",
- "href": "#documentation"
- },
- {
- "label": "API reference",
- "href": "#api-reference"
- }
- ],
- "values": [
- "Included",
- "Standard"
]
},
{
- "id": "mega-menu-0-2",
- "key": "mega-menu-0-2",
- "value": "secondary",
- "label": "Additional option",
- "title": "Supporting example",
- "description": "A clean default configuration for everyday product interfaces.",
- "text": "Another configurable message.",
- "href": "#mega-menu-demo",
- "actionHref": "#mega-menu-demo",
- "actionLabel": "View details",
- "icon": "icon-[lucide--sparkles]",
- "iconClass": "icon-[lucide--sparkles]",
- "variant": "primary",
- "status": "Active",
- "time": "09:30",
- "current": false,
- "selected": false,
- "checked": false,
- "disabled": false,
- "outgoing": true,
- "open": true,
- "number": 2,
- "count": 32,
- "percentage": 72,
- "color": "#7c3aed",
- "target": "_self",
- "ariaLabel": "Open primary workflow 2",
+ "heading": "Tooling",
"items": [
{
- "label": "Nested option A",
- "value": "nested-a"
+ "label": "CLI",
+ "href": "/cli",
+ "description": "Scaffold, build and deploy."
},
{
- "label": "Nested option B",
- "value": "nested-b"
+ "label": "Editor",
+ "href": "/editor",
+ "description": "Language server and syntax."
}
- ],
- "links": [
- {
- "label": "Documentation",
- "href": "#documentation"
- },
- {
- "label": "API reference",
- "href": "#api-reference"
- }
- ],
- "values": [
- "Included",
- "Standard"
]
}
]'
@@ -391,256 +319,57 @@ page MegaMenuDetail {
- Dense UICompact application
A tighter variation for dashboards, side panels, tables, and operational interfaces.
+ AdvancedWith a footer note
The panel is anchored, so the runtime clamp pulls it back inside the viewport instead of letting it hang off a wide layout. On a phone it stops floating and joins the flow.
02
-
+
Component usage.wrn
<MegaMenu
size="sm"
- label="Compact example"
- items='[
+ label="Solutions"
+ icon="icon-[lucide--arrow-right]"
+ columns='[
{
- "id": "mega-menu-1-1",
- "key": "mega-menu-1-1",
- "value": "primary",
- "label": "Secondary workflow",
- "title": "Secondary workflow",
- "description": "A compact configuration designed for dense application layouts.",
- "text": "A configurable sample message.",
- "href": "#mega-menu-demo",
- "actionHref": "#mega-menu-demo",
- "actionLabel": "View details",
- "icon": "icon-[lucide--zap]",
- "iconClass": "icon-[lucide--zap]",
- "variant": "secondary",
- "status": "Active",
- "time": "10:15",
- "current": true,
- "selected": true,
- "checked": true,
- "disabled": false,
- "outgoing": false,
- "open": true,
- "number": 1,
- "count": 24,
- "percentage": 48,
- "color": "#0284c7",
- "target": "_self",
- "ariaLabel": "Open secondary workflow 1",
+ "heading": "By team",
"items": [
{
- "label": "Nested option A",
- "value": "nested-a"
+ "label": "Engineering",
+ "href": "/eng",
+ "icon": "icon-[lucide--code]"
},
{
- "label": "Nested option B",
- "value": "nested-b"
- }
- ],
- "links": [
- {
- "label": "Documentation",
- "href": "#documentation"
+ "label": "Design",
+ "href": "/design",
+ "icon": "icon-[lucide--palette]"
},
{
- "label": "API reference",
- "href": "#api-reference"
+ "label": "Support",
+ "href": "/support",
+ "icon": "icon-[lucide--life-buoy]"
}
- ],
- "values": [
- "Included",
- "Standard"
]
},
{
- "id": "mega-menu-1-2",
- "key": "mega-menu-1-2",
- "value": "secondary",
- "label": "Additional option",
- "title": "Supporting example",
- "description": "A compact configuration designed for dense application layouts.",
- "text": "Another configurable message.",
- "href": "#mega-menu-demo",
- "actionHref": "#mega-menu-demo",
- "actionLabel": "View details",
- "icon": "icon-[lucide--zap]",
- "iconClass": "icon-[lucide--zap]",
- "variant": "secondary",
- "status": "Active",
- "time": "10:15",
- "current": false,
- "selected": false,
- "checked": false,
- "disabled": false,
- "outgoing": true,
- "open": true,
- "number": 2,
- "count": 48,
- "percentage": 48,
- "color": "#0284c7",
- "target": "_self",
- "ariaLabel": "Open secondary workflow 2",
+ "heading": "By size",
"items": [
{
- "label": "Nested option A",
- "value": "nested-a"
+ "label": "Startup",
+ "href": "/startup"
},
{
- "label": "Nested option B",
- "value": "nested-b"
+ "label": "Enterprise",
+ "href": "/enterprise"
}
- ],
- "links": [
- {
- "label": "Documentation",
- "href": "#documentation"
- },
- {
- "label": "API reference",
- "href": "#api-reference"
- }
- ],
- "values": [
- "Included",
- "Standard"
- ]
- }
- ]'
-/>
-
-
-
-
-
- ExtendedRich configuration
A more expressive variation using additional data, stronger emphasis, and optional states.
- 03
-
-
-
-
- Component usage.wrn
- <MegaMenu
- size="lg"
- label="Advanced example"
- items='[
- {
- "id": "mega-menu-2-1",
- "key": "mega-menu-2-1",
- "value": "primary",
- "label": "Advanced workflow",
- "title": "Advanced workflow",
- "description": "A richer configuration with more supporting information and actions.",
- "text": "A configurable sample message.",
- "href": "#mega-menu-demo",
- "actionHref": "#mega-menu-demo",
- "actionLabel": "Explore workflow",
- "icon": "icon-[lucide--circle-check]",
- "iconClass": "icon-[lucide--circle-check]",
- "variant": "success",
- "status": "Complete",
- "time": "11:45",
- "current": true,
- "selected": true,
- "checked": true,
- "disabled": false,
- "outgoing": false,
- "open": true,
- "number": 1,
- "count": 32,
- "percentage": 91,
- "color": "#059669",
- "target": "_self",
- "ariaLabel": "Open advanced workflow 1",
- "items": [
- {
- "label": "Nested option A",
- "value": "nested-a"
- },
- {
- "label": "Nested option B",
- "value": "nested-b"
- }
- ],
- "links": [
- {
- "label": "Documentation",
- "href": "#documentation"
- },
- {
- "label": "API reference",
- "href": "#api-reference"
- }
- ],
- "values": [
- "Included",
- "Unlimited"
- ]
- },
- {
- "id": "mega-menu-2-2",
- "key": "mega-menu-2-2",
- "value": "secondary",
- "label": "Additional option",
- "title": "Supporting example",
- "description": "A richer configuration with more supporting information and actions.",
- "text": "Another configurable message.",
- "href": "#mega-menu-demo",
- "actionHref": "#mega-menu-demo",
- "actionLabel": "Explore workflow",
- "icon": "icon-[lucide--circle-check]",
- "iconClass": "icon-[lucide--circle-check]",
- "variant": "success",
- "status": "Complete",
- "time": "11:45",
- "current": false,
- "selected": false,
- "checked": false,
- "disabled": true,
- "outgoing": true,
- "open": true,
- "number": 2,
- "count": 64,
- "percentage": 91,
- "color": "#059669",
- "target": "_self",
- "ariaLabel": "Open advanced workflow 2",
- "items": [
- {
- "label": "Nested option A",
- "value": "nested-a"
- },
- {
- "label": "Nested option B",
- "value": "nested-b"
- }
- ],
- "links": [
- {
- "label": "Documentation",
- "href": "#documentation"
- },
- {
- "label": "API reference",
- "href": "#api-reference"
- }
- ],
- "values": [
- "Included",
- "Unlimited"
]
}
]'
+ footer="Not sure where to start? Talk to us."
/>
@@ -664,10 +393,10 @@ if (component) registerOutputHandler(component, "close", (payload) => &
if (component) registerOutputHandler(component, "select", (payload) => {
console.log("select", payload)
})