A focused, polished side-drawer navigation module. Click the trigger top-right to see it in action.
Everything you need to configure Mega Menu 2 Pro for your site.
Mega Menu 2 Pro is a standalone HubSpot module — no theme required. Drop it into the top of any page template, or add it to your header global partial so it loads site-wide.
marketplace-modules/Mega Menu 2 Pro.module.Each item has a single type field with two choices: Simple link (no sub-items) or Expandable panel (sub-items + optional preview).
Renders as a clickable label in the drawer. Useful for top-level pages like Pricing, Contact, or Login.
Opens an accordion inside the drawer revealing:
Choose whether the drawer slides in from the left or right. Defaults to right.
Four options: 480px (narrow), 560px (default), 720px (wide), or fullscreen. On mobile the drawer always fills the viewport.
Optional search input at the top of the drawer. Filters menu items as the user types — a fast in-drawer client-side filter, no extra config needed.
Toggleable. When enabled, uses HubSpot's native {% language_switcher %} tag and only renders when the current page has translations configured in HubSpot.
Renders three optional sections, in order:
All styling is grouped under the Style tab.
Navbar background and text, drawer background, drawer text, muted (descriptions), accent (active states, hover), and border / divider — all customizable.
Color, opacity (0–1), and blur strength (0–20px). Combines to give the dim-plus-blur effect behind the open drawer.
Pick any Google Font (or system font) for the whole module. Adjust the menu item size and sub-item size independently.
Two timings: the drawer slide-in duration (default 480ms) and the panel expand duration (default 320ms). Uses an Apple-style easing curve for a polished feel.
role="dialog" with aria-modal="true".aria-expanded and aria-controls.prefers-reduced-motion: reduce.Below 768px the drawer always becomes fullscreen, items shrink to a comfortable mobile size, and padding tightens. No separate mobile menu module is needed — the drawer IS the mobile menu.
Pure CSS and vanilla JavaScript. No GSAP, no Swiper, no external dependencies. Drop it in and ship.