B
Bonzai 2
Extensions

Mega Menu

3-level hierarchical navigation with desktop mega menu panels and mobile drawer.

ExtensionApplication Customizer

This is an Application Customizer, not a web part

Mega Menu is an SPFx Application Customizer that runs site-wide in the header placeholder. You don't add it to individual pages — once activated, it appears on every page in your site collection.

Two-step activation required

After uploading the Bonzai 2 package to your App Catalog, you must also add the Bonzai app to each site where you want to use Mega Menu. Go to Site Contents → New → App → Bonzai 2.

License banner awareness

If a license warning or expired banner appears, Mega Menu may still render while web parts are gated. Contact support if the banner persists after activation.

Legacy package note

If your tenant previously deployed the separate bonzai-mega-menu package, remove that app from Site Contents after upgrading to the consolidated Bonzai 2 package to avoid duplicate initialization.

Admin-Blocked Apps Workaround

If “Apps you can add” is empty due to tenant policy, you can still activate Mega Menu by registering the Application Customizer in the Tenant Wide Extensions list.

  1. Open the App Catalog site: https://<tenant>.sharepoint.com/sites/appcatalog
  2. Go to Site ContentsTenant Wide Extensions
  3. Click NewApplication Customizer
  4. Fill in the fields below and click Save
Title: Bonzai Mega Menu
Component Id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
Location: ClientSideExtension.ApplicationCustomizer
Component Properties:
{"navigationListName":"MegaMenuNavigation","hideNativeNavigation":true,"hideMobileAppBar":true,"showBreadcrumb":true,"licenseApiUrl":""}
Sequence: 100 (optional)
Web Template / List Template / Host Properties: leave blank

Get Mega Menu Working in 4 Steps

45-60 minutes

Prerequisites

  • Bonzai 2 package (.sppkg) uploaded to your tenant App Catalog
  • Site Collection Administrator permissions on your target site
  • Understanding of SharePoint list creation
1

Create the Navigation list

Create a SharePoint list named "MegaMenuNavigation" with the required columns (see schema below).

2

Add your navigation items

Create list items for your menu hierarchy: Level 1 items have no parent, Level 2/3 items reference their parent.

3

Add the Bonzai app to your site

Go to Site Contents → New → App, then add the Bonzai 2 app to activate the Mega Menu extension on this site.

4

Verify and customize

Navigate your site to confirm the menu appears. Use the toggle button to show/hide native SharePoint navigation.

3-Level Navigation Hierarchy

Build rich navigation structures with up to 3 levels of nesting. Root items appear in the top bar, second level items appear in mega menu panels, and third level items appear as sub-links within those panels.

When to Use This Web Part

Use this when you need to...

  • Replace SharePoint's default horizontal navigation
  • Create a consistent mega menu across all site pages
  • Provide mobile-friendly slide-out navigation
  • Organize deep navigation hierarchies (up to 3 levels)
  • Centrally manage navigation from a SharePoint list

Best page locations

  • Intranet home sites — primary site navigation
  • Hub sites — unified navigation across connected sites
  • Multi-site deployments — share one navigation list across subsites
  • Communication sites — polished navigation experience
  • Any site needing multi-level navigation

Consider alternatives when...

  • Individual page navigation — use Advanced Links web part
  • Footer links — Mega Menu only appears in the header
  • Sites with simple single-level navigation — may be overkill

Related web parts:

Advanced Linkslink tiles on a specific pageSharePoint Hub Navigationnative hub site navigation

Branding and Logo

  • Mega Menu reserves a logo slot on the left for desktop and mobile layouts.
  • Set Mega Menu background and text colors in Theme Manager → Mega Menu Branding.
  • Provide an absolute PNG logo URL in Theme Manager to display the logo.
  • Accent and hover colors are derived from the Mega Menu Branding foreground color.
  • New: Spacing and breadcrumb controls (Theme Manager)
    • Navigation Bar Spacing: slider that adjusts padding on top-level nav items (50–150%).
    • Dropdown Panel Spacing: separate slider for padding inside dropdown flyouts (50–150%).
    • Breadcrumb controls: show/hide, left/center/right alignment, and an inset slider (0–40%) to push the breadcrumb inward responsively.

Breadcrumb is controlled in two places

The extension property showBreadcrumb enables the breadcrumb feature. Theme Manager then controls the breadcrumb’s visibility and layout (show/hide, alignment, inset) using CSS custom properties.

Navigation Hierarchy

Mega Menu supports a 3-level navigation structure:

1
Level 1: Top Bar Items

Root navigation items displayed in the horizontal menu bar. Click or hover to open Level 2 panel.

2
Level 2: Mega Menu Panel Items

Second-level items displayed in the dropdown mega menu panel. Can have Level 3 children.

3
Level 3: Sub-links within panels

Third-level items displayed as links under their Level 2 parent. Maximum nesting depth.

Desktop and Mobile Behavior

Desktop

Horizontal bar + hover panels

  • Level 1 items in horizontal bar
  • Hover to open mega menu panels
  • Keyboard accessible (Enter, Escape, Arrows)
  • Smooth hover delay for usability

Mobile

Hamburger + slide-out drawer

  • Hamburger menu button
  • Full-height slide-out drawer
  • Expandable accordion for nested items
  • Touch-friendly tap targets

Required Navigation List

Mega Menu reads navigation items from a SharePoint list. The default list name is MegaMenuNavigation, but this can be configured in the extension properties.

List Schema

ColumnInternal NameTypeRequiredDescription
TitleTitleSingle line of textYesDisplay text for the menu item
URLURLHyperlinkYesNavigation URL (relative or absolute)
ParentAuto-detectedLookup (to same list)NoParent item for hierarchy. Internal name varies; Mega Menu auto-detects.
Sort OrderSortOrderNumberYesDisplay order within the same level (1, 2, 3...)
Open In New TabOpenInNewTabYes/NoNoOpen link in new browser tab
IconIconSingle line of textNoFluent UI icon name (e.g., "Home", "People")
Is EnabledIsEnabledYes/NoNoShow/hide item. Default: Yes

Create the Parent lookup column

When creating the Parent column, set it as a Lookup to the same list (MegaMenuNavigation), using the Title column as the display field. The internal name varies by tenant, and Mega Menu auto-detects it.

Step-by-Step Setup

1

Create the navigation list

Go to Site Contents → New → List. Name it "MegaMenuNavigation" (exact spelling matters for default configuration).
2

Add the URL column

Add a column: Name = "URL", Type = Hyperlink. This stores the navigation destination.
3

Add the SortOrder column

Add a column: Name = "SortOrder", Type = Number. This controls display order within each level.
4

Add the Parent lookup column

Add a column: Name = "Parent", Type = Lookup. Select "MegaMenuNavigation" as the source list, "Title" as the display column.

SharePoint generates the internal name automatically; Mega Menu auto-detects it.

5

Add optional columns

Add OpenInNewTab (Yes/No), Icon (Text), and IsEnabled (Yes/No) columns as needed.
6

Create Level 1 items first

Add your root navigation items. Leave Parent empty and set SortOrder (1, 2, 3, etc.).
7

Create Level 2 items

Add second-level items. Select their parent from the Parent dropdown and set SortOrder.
8

Create Level 3 items (optional)

Add third-level items, selecting Level 2 items as their parents.

Maximum depth is 3 levels. Items with deeper nesting will be ignored.

9

Add the Bonzai app to your site

Go to Site Contents → New → App. Find "Bonzai 2" in the app list and click Add. This is a separate step from uploading the package to the App Catalog.

The Bonzai package must first be uploaded to your tenant App Catalog. Then you add it to each site where you want to use Mega Menu.

10

Navigate your site

Visit any page on your site. The Mega Menu should appear in the header, replacing or supplementing native navigation.
11

Toggle native navigation (optional)

Click the chevron button on the right side of the menu bar to show/hide SharePoint's native navigation.

Common Configurations

Example navigation structures:

Simple 2-Level Menu

Basic navigation with departments

Best for: Small to medium sites
Configuration
Level 1Home, About, Services, Contact
Level 22-3 items per Level 1
Level 3Not used
IconsOptional

Department Hub

Multi-department navigation

Best for: Large intranet sites
Configuration
Level 1HR, IT, Finance, Operations
Level 2Policies, Tools, Team, FAQs per dept
Level 3Specific pages/links
IconsPeople, Settings, Money, Gear

Full 3-Level Structure

Deep navigation hierarchy

Best for: Complex sites with many pages
Configuration
Level 15-8 main sections
Level 23-6 subsections each
Level 32-5 pages per subsection
External LinksOpenInNewTab = Yes

Best Practices

Use consistent SortOrder numbering

Use increments of 10 (10, 20, 30) instead of 1, 2, 3. This makes it easy to insert items later without renumbering everything.

Keep Level 1 concise

Limit top-level items to 5-8 entries. Too many Level 1 items create a cluttered horizontal bar that may wrap on smaller screens.

Use IsEnabled for seasonal items

Instead of deleting temporary menu items (like "Holiday Schedule"), set IsEnabled to No. This preserves the item for future use.

Test on mobile devices

The mobile drawer handles deep hierarchies differently than desktop. Test on actual mobile devices or browser responsive mode.

Navigation caches for 5 minutes

The Mega Menu caches navigation data for performance. Changes to the list may take up to 5 minutes to appear. Clear browser cache for immediate testing.

Multi-Site Deployments (Shared Navigation)

If you have multiple sites or subsites that should share the same Mega Menu, you do not need to create a MegaMenuNavigation list on each subsite. Instead, use Theme Manager's Navigation Source Site URL to point all subsites to a single root site that holds the navigation list.

Set up shared navigation in Theme Manager

On each subsite, open Theme Manager and enter the root site URL (e.g., https://tenant.sharepoint.com/sites/intranet) in the "Navigation Source Site URL" field. Save with "Persist to Site" enabled. The Mega Menu will fetch its navigation list from that root site instead of the current subsite.

Root site setup

On the root site where the MegaMenuNavigation list lives, leave the Navigation Source Site URL empty in Theme Manager. Empty means "use this site" — the default behavior.

Troubleshooting

Still need help? Contact Bonzai Support


Reference

Technical details for developers and advanced users.

Extension Properties

PropertyTypeDefaultDescription
navigationListNameTextMegaMenuNavigationName of the SharePoint list containing navigation items
hideNativeNavigationBooleantrueHide SharePoint's native site navigation
hideMobileAppBarBooleantrueHide SharePoint's mobile sticky footer app bar
showBreadcrumbBooleantrueShow breadcrumb navigation below the menu bar

CSS Customization

Mega Menu uses Theme Manager branding variables (background, foreground, logo) and derives accent colors from the Mega Menu foreground color for hover/active states.

Keyboard Navigation

KeyAction
TabMove between Level 1 items
Enter / SpaceOpen mega menu panel for current item
EscapeClose open panel
Arrow DownOpen submenu if item has children
Arrow UpClose submenu

Features Checklist

  • 3-level hierarchical navigation
  • Desktop: horizontal bar with hover-triggered mega menu panels
  • Mobile: hamburger menu with slide-out drawer
  • SharePoint list-driven (centrally managed)
  • Optional Fluent UI icons on menu items
  • Optional breadcrumb navigation under the menu bar
  • Open in new tab option per item
  • Enable/disable individual items without deleting
  • Toggle to show/hide native SharePoint navigation
  • Toggle to show/hide SharePoint mobile app bar
  • Keyboard accessible (WCAG compliant)
  • 5-minute cache for performance
  • Shared navigation across sites via Theme Manager Navigation Source
  • Theme Manager integration (colors, logo, branding)
  • Responsive design

Migration from Classic Bonzai

The Mega Menu in Bonzai 2 provides similar navigation functionality to Classic Bonzai, rebuilt as a modern SPFx Application Customizer. Key improvements include responsive mobile drawer, keyboard accessibility, and SharePoint list-based configuration instead of master page customization.