=== Giuliomax Menu Builder ===
Contributors: giuliomax
Donate link: https://www.paypal.com/paypalme/giuliosw
Tags: menu, mega menu, woocommerce, mobile menu, responsive menu
Requires at least: 5.8
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 3.0.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Build fully custom navigation menus with Mega Menus, WooCommerce cart, icons, roles, mobile modes and multilingual support. Free.

== Description ==

**Giuliomax Menu Builder** is an all-in-one WordPress menu builder that lets you create professional navigation menus in minutes — without coding and without premium upgrades.

Build beautiful Mega Menus, add a live WooCommerce cart, customize every detail of your navigation, choose from 20 ready-made themes, and create responsive mobile menus that work perfectly on every device.

Simply build your menu visually from the WordPress admin and place it anywhere using the native Gutenberg block or the `[menux]` shortcode.

Unlike many menu plugins, advanced features are not locked behind a paywall. Mega Menus, WooCommerce integration, accessibility tools, mobile modes, animations, Google Fonts, multilingual support and theme presets are all included for free.

Whether you're building a blog, business website, online store or membership site, Giuliomax Menu Builder gives you everything needed to create a modern navigation experience.

**Version 3.0** is the biggest update yet: every mega menu now has its own independent appearance (background, padding, colors and more), the admin panel has been redesigned to be more intuitive, and the WooCommerce cart integration ships completely free.

= ✨ Why MenuX stands out =

Most menu plugins force you to choose between ease of use and advanced functionality.

MenuX gives you both.

Create menus visually with an intuitive drag-and-drop builder, then enhance them with powerful features usually reserved for premium plugins:

* Full-width Mega Menus
* Live WooCommerce Cart
* Native Gutenberg & FSE Block
* Advanced Visibility Rules
* Responsive Mobile Menus
* 20 Professional Themes
* Accessibility (WCAG 2.2 AA)
* Multilingual Support
* Animations & Effects

Everything is included in the free version.


= ✨ Main Features =

* **Mega Menu Builder** — create rich multi-column dropdowns with links, headings, images, icons, descriptions, shortcodes and Gutenberg content
* **WooCommerce Cart Integration** — live cart badge, optional subtotal and mini-cart dropdown included free
* **Native Gutenberg & FSE Block** — add MenuX anywhere using the block editor or Site Editor
* **Responsive Mobile Menus** — automatic or custom breakpoints with 4 mobile menu modes
* **Advanced Visibility Rules** — show or hide items by role, login state, device, page, schedule or UTM source
* **20 Professional Themes** — ready-to-use designs with one-click apply
* **Sticky Header & Scroll Progress Bar** — modern navigation experience with advanced sticky options
* **Search Bar** — optional menu and in-page search modal
* **Typography & Design Controls** — Google Fonts, spacing, alignment, gradients and visual styling tools
* **Animations & Effects** — hover animations, entrance effects and transitions
* **Accessibility (WCAG 2.2 AA)** — keyboard navigation, ARIA support, reduced motion and more
* **Multilingual Ready** — WPML, Polylang and TranslatePress support
* **WP Menu Integration** — replace standard WordPress menus automatically
* **Logo Support** — add and position a logo directly inside the navigation bar
* **Import / Export** — backup and restore configurations
* **Live Preview** — see changes instantly while building
* **Full Reset Tool** — start over with one click

= 🛒 WooCommerce Cart — Free =

Most menu plugins lock WooCommerce features behind premium plans. MenuX includes a complete WooCommerce cart integration for free.

* **Live cart icon** — cart, bag or basket icon with a real-time item-count badge; count updates instantly when products are added, no page reload
* **Optional cart total** — show the cart subtotal next to the icon
* **Mini-cart dropdown** — shows the current cart contents; configurable to open on hover (with automatic tap-to-open on touch), on click, or not at all (icon links to cart page)
* **Fully customisable** — choose the icon style, position (left or right of nav), icon color and count-badge color; optionally hide the cart when it's empty
* **Multi-instance safe** — every cart icon on the page (header, footer, multiple blocks) updates together via WooCommerce's native add-to-cart fragments
* **Graceful fallback** — completely silent when WooCommerce is not installed; the settings panel shows a notice and the feature activates automatically when WooCommerce is turned on
* **Import/Export parity** — cart settings are included in configuration backups and restored on import

= ⚡ Mega Menu — Free =

Build professional full-width mega menus for any top-level navigation item. Per-item independent appearance styling is a 3.0 highlight — each mega menu can have a completely different look.

* **Up to 4 columns** per panel, each independently sized (% width or auto)
* **5 column item types**: clickable links, section headings, dividers, images, and arbitrary shortcodes / Gutenberg blocks
* **Icon + description** on link items — give users context at a glance
* **Click-to-pick icon picker** — browse and search Font Awesome 6 Free icons directly from the editor
* **Drag & drop reordering** of items within each column
* **Per-item independent toggle** — enable Mega Menu on one or multiple nav items; each manages its own columns and appearance independently
* **Full-width panel** anchored to the navigation container
* **Per-item appearance tab** — each mega menu has its own 🎨 Appearance tab inside the editor with:
  * Background (solid, gradient presets or fully custom gradient builder)
  * Padding top/bottom and left/right
  * Column gap and border radius
  * Font size override
  * Color overrides: link, heading, accent/icon, link hover, description and divider
  * "Reset to global defaults" clears all overrides for that item
* **12 preset templates** with one-click apply — SaaS, E-Commerce, Agency, News, Corporate, Restaurant, Travel, Learning, Healthcare, Real Estate, Fitness, Photography
* **Always-on live preview** — permanently visible below the editor, updates in real time
* **Smooth hover** — 200 ms grace timer so the panel never disappears when moving the mouse from the trigger to the panel
* **Mobile-aware** — collapses inline on small screens, or disabled on mobile entirely

= 🎨 Style Options =

* Colors: background (solid or gradient with visual picker), links, hover state, active state, submenus, hamburger
* Typography: Google Fonts (searchable, 70+ fonts with live preview), font family, size, weight, letter spacing, text transform
* Layout: gap, horizontal padding, vertical padding, container border-radius, items alignment, link border-radius
* Mobile: breakpoint, opening mode, overlay color/opacity/blur, drawer width, open animation
* Sticky: background, shadow, padding, alignment, transition, shrink effect, auto-hide on scroll

= 🔌 Usage =

1. Open **Giuliomax Menu Builder** from the WordPress admin
2. Build your menu visually using the drag-and-drop builder
3. Choose a preset theme or customize every style option
4. Enable a Mega Menu for any top-level navigation item (optional)
5. Enable the WooCommerce cart (optional)
6. Add the **MenuX** block anywhere in Gutenberg or the Site Editor

You can also use the `[menux]` shortcode in pages, widgets, templates or third-party page builders.



The **Pro** version adds:

* 📊 **Click statistics** — track which items users click, by device, role and date
* 🎨 **Custom CSS** — write your own CSS rules directly from the admin panel
* 📄 **Multiple menus** — create and manage independent menu configurations for different pages or locations

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/`
2. Activate the plugin from **Plugins → Installed Plugins**
3. Go to **MenuX** in the admin menu
4. Build your menu
5. Add the MenuX block anywhere in Gutenberg or the Site Editor
6. Optional: use the `[menux]` shortcode in page builders, widgets or templates

= Requirements =

* WordPress 5.8 or higher
* PHP 7.4 or higher

== Frequently Asked Questions ==

= How do I display the menu? =

Add the MenuX block anywhere in Gutenberg or the Site Editor. Alternatively, use the shortcode `[menux]` in pages, posts, widgets or page builders. For multiple locations use `[menux location="footer"]` and assign items to that location in the builder.

= Can I have different menus for different pages? =

Not currently. You can achieve most use cases through location assignments, visibility rules, user roles, page targeting and device conditions.

= Does it work in Full Site Editing (FSE) themes like Twenty Twenty-Five? =

Yes. From **Appearance → Editor**, open the header template part, click the **+** inserter, search for **MenuX**, and drop the **MenuX — Menu** block where you want the navigation. Use the sidebar to pick the menu location. Font Awesome icons, your configured Google Font, and the mega-menu / hamburger JavaScript all load correctly inside the editor iframe.

= Does it work with page builders? =

Yes. You can insert `[menux]` as a shortcode block in Gutenberg, Elementor, Divi, WPBakery and most other builders.

= Does it work with caching plugins? =

Yes. The menu HTML is generated server-side and compatible with WP Rocket, LiteSpeed Cache, W3 Total Cache and similar plugins.

= How do I add Font Awesome icons? =

In the menu builder, each item has an icon field. Type the FA class name, e.g. `fa-solid fa-house`, or use the **🎨 Pick** button to browse and search icons visually. Font Awesome 6 Free is loaded automatically.

= Is it compatible with WPML / Polylang / TranslatePress? =

Yes. This plugin automatically detects installed multilingual plugins and lets you set a label per language for each menu item.

= Where is the mobile breakpoint? =

Go to **MenuX → Style → Mobile** and set your preferred pixel breakpoint, or choose Auto to detect based on available space. Default is 768px.

= How do I use the preset themes? =

In the admin sidebar click **✨ Themes**. Browse the 20 preset themes, hover to preview and click **Apply** to try one live.

= How does the Mega Menu work? =

Go to **⚡ Mega Menu** in the sidebar, enable the toggle next to a first-level nav item, then click **⚡ Edit Columns ▶**. Add up to 4 columns, fill them with headings, links (with icon and description), dividers, images or shortcodes. Click **🎨 Appearance** to give this specific mega menu its own background, colors and spacing. Hit **✨ Presets** to load one of 12 ready-made templates.

= Can I have a different background for each mega menu? =

Yes, since version 3.0. Click **⚡ Edit Columns ▶** on any enabled item, then switch to the **🎨 Appearance** tab. Changes apply only to that item's panel and override the global defaults.

= Does the WooCommerce cart work with all themes? =

Yes. The cart icon is output as part of the MenuX `[menux]` shortcode HTML, so it works with any theme that uses the shortcode or the Gutenberg block. The mini-cart uses WooCommerce's native fragments system for live updates.

= Does the WP Menu Integration work with all themes? =

It works with classic PHP themes that call `wp_nav_menu()` directly (e.g. GeneratePress, OceanWP, Neve, Kadence). Themes that use a custom header builder (e.g. Astra Header Builder) bypass `wp_nav_menu()` internally, so the integration cannot intercept them — use the shortcode approach instead.

= Can I reset everything and start fresh? =

Yes. Go to **MenuX → Tools → Reset Everything** and confirm. This permanently deletes all menu items, styles and integration settings.

= Can I use custom CSS? =

Custom CSS editing is available in the Pro version. In the free version you can target the `.menux-container` wrapper and its child elements from your theme's stylesheet.

== Screenshots ==

1. Main admin panel with visual menu builder
2. Preset themes panel with live preview
3. Style panel — Colors tab
4. Style panel — Layout and spacing options
5. Mega Menu editor — column builder with live preview
6. Mega Menu editor — per-item Appearance tab
7. Mega Menu preset templates picker
8. WooCommerce cart settings panel
9. Frontend — desktop view with mega menu open
10. Frontend — WooCommerce cart icon with mini-cart dropdown

== External Services ==

This plugin may connect to the following external service:

**Google Fonts** (optional)

If a Google Font name is entered in the Style panel (Typography tab), the plugin loads that font's stylesheet from Google's servers at `https://fonts.googleapis.com`. This request is made only when a Google Font is explicitly configured by the site administrator. The font name and the visitor's IP address are sent to Google as part of the standard HTTP request.

* Terms of service: https://developers.google.com/terms
* Privacy policy: https://policies.google.com/privacy

Font Awesome icons are bundled locally within the plugin and do **not** load from any external server.

== Changelog ==

= 3.0.0 =
* **Per-item mega menu appearance** — each mega menu now has its own independent 🎨 Appearance tab inside the editor modal with full control over: background (solid color, 12 gradient presets or a custom gradient builder with direction selector and two color pickers), padding top/bottom, padding left/right, column gap, border radius, font size, link color, heading color, accent/icon color, link hover color, description color, divider color and divider style (solid/dashed/dotted); settings are saved per item and generate scoped CSS so each mega menu panel renders with a completely independent look; a "↺ Reset to global defaults" button clears all overrides for that item
* **Redesigned Mega Menu admin panel** — the item list now shows clear ON/OFF status badges (green ⚡ ON / grey OFF) for each first-level nav item; items in OFF state show a dashed "＋ Enable Mega Menu" call-to-action button; items in ON state show the "⚡ Edit Columns ▶" primary button, a Full Width checkbox and a "✕ Disable" link; the editor modal adds 📋 Content and 🎨 Appearance tab buttons in the toolbar for switching between the column editor and the per-item style panel
* **Sidebar reorganisation** — ⚡ Mega Menu moved into the Structure group (alongside Menu Structure) since it configures what is in the menu, not how it looks; 🖼️ Logo moved into the Style group (below Colors) since it is a visual/brand setting; ✨ Themes added as a first-class sidebar entry at the top of the Style group for immediate discoverability
* **Themes panel accessible directly from sidebar** — clicking ✨ Themes in the sidebar now opens the theme grid immediately without requiring a form save first; `buildInlineThemeGrid()` is called both on DOMContentLoaded and on every navigation to the Themes section
* **Descriptive empty-menu state** — the builder sidebar empty state now shows a helpful message with a clickable link ("→ Go to Menu Structure") rather than just "Empty menu"
* **Live preview empty state** — the live preview also shows an informative message referencing Menu Structure when no items have been added

= 2.12.0 =
* New: Duplicate Column button in the mega menu editor — clone any column (including all its items) and insert it right after the original; disabled automatically when the 4-column maximum is reached.
* New: Column text alignment controls (L / C / R) in the mega menu editor — set per-column alignment for links and headings; stored as a column-level property and rendered via data-align CSS selectors.
* New: Mega menu divider color and style settings — choose a custom color for column dividers and headings border, and select between solid, dashed or dotted line styles.
* New: Mega menu open/close animation speed control — configure the panel transition duration (0–800 ms) from the Panel Appearance settings.

= 2.11.0 =
* New: Dedicated Mega Menu text styling, independent from the main Colors section — separate controls for heading, link, link hover and description colors, plus the existing panel background.
* New: Per-item heading and link color overrides in the mega menu editor (alongside the existing description color).
* Improved: All 12 mega menu preset templates now ship with professional, high-contrast color palettes tuned to each template's panel background, so they look polished out of the box regardless of the theme or main menu colors.
* Fix: Mega menu text no longer borrows colors from the main navigation; applying a preset now also applies its colors end-to-end.

= 2.10.0 =
* **WooCommerce integration** — adds a cart icon to the menu with a live item-count badge, an optional cart subtotal, and a mini-cart dropdown showing the current cart contents; the count, total and mini-cart refresh instantly when products are added, with no page reload, via WooCommerce's native add-to-cart fragments
* **Cart icon options** — choose between cart, bag or basket icons; place the cart on the left or right of the menu; customise the icon and count-badge colors; optionally hide the cart while it's empty
* **Mini-cart behavior** — open the dropdown on hover (with automatic tap-to-open on touch devices), on click, or disable it so the icon links straight to the cart page; closes on outside-click and Escape
* **Multi-instance & block safe** — every cart icon on the page (header, footer, multiple Gutenberg blocks) updates together; works in classic themes via the shortcode and in FSE themes via the giuliomax/menu block
* **Graceful fallback** — when WooCommerce is not installed the feature stays completely silent; the settings panel remains available and shows a notice
* **Import/Export parity** — the new cart settings are included in configuration export and restored on import

= 2.9.0 =
* **Native Gutenberg block (giuliomax/menu)** — adds a dynamic block registered via `register_block_type()` + `block.json`; the `render_callback` delegates entirely to the existing `menux_render_shortcode()` function so no HTML is duplicated; the shortcode, WP Menu Integration and all other existing features are completely unchanged
* **FSE / Site Editor support** — the block works in Full Site Editing themes (e.g. Twenty Twenty-Five): drag it into any header template part from the Site Editor; the `enqueue_block_editor_assets` hook ensures Font Awesome 6, the configured Google Font, and the dynamic theme CSS are loaded inside the editor's iframe; the mega-menu and hamburger JS initialise correctly in the template-preview iframe
* **InspectorControls sidebar** — a `SelectControl` in the block sidebar lets you pick the menu location (Primary, Footer, Sidebar, Mobile); live preview updates via `ServerSideRender` using the REST block-renderer endpoint
* **Multi-instance ID safety** — when two or more `giuliomax/menu` blocks appear on the same page, structural element IDs are automatically suffixed with a unique instance counter
* **No new build toolchain** — the editor script is plain vanilla JS registered directly via `wp_register_script()`; no `@wordpress/scripts`, Webpack or npm required

= 2.8.0 =
* **Sticky mirror** — new "Match main menu" toggle (on by default) makes the sticky bar inherit all styles from the main menu automatically; custom options shown when mirror is disabled
* **Container border-radius** — new field in Layout → Spacing to round the corners of the menu container
* **Page Load Animation** — renamed from "Entrance Animation" with improved UX; duration/delay/stagger controls hidden when "None" is selected
* **Logo in live preview** — the admin live preview now shows the configured logo at the correct position; updates immediately without a save
* **Mega Menu preset modal** — the template grid was clipped after the first row; the grid wrapper now scrolls independently so all 12 templates are reachable

= 2.7.0 =
* **Help & Documentation modal** — a full-screen contextual help overlay accessible from every section via the ❓ Help button; 12 sections covering every panel and field, navigable via a sidebar
* **Section persistence after save** — saving settings returns the admin to the same panel section the user was in rather than jumping to the top

= 2.6.5 =
* **Rock-solid search modal** — the open/close click handler now runs unconditionally at page load, independent of any JS configuration flag
* **Full deferred-script support** — the plugin JS now detects whether the DOM is already parsed when the script executes; if an optimisation plugin adds `defer`, the init runs immediately

= 2.6.2 =
* **Visual gradient picker for container background** — a fully mouse-driven widget: live preview strip, Linear / Radial type toggle, 8-direction compass rose, 0–360° fine-tune slider, two native colour pickers

= 2.6.0 =
* **Accordion menu builder** — collapsible per-item editor with clearly labelled sections; streamlined Add pane; polished drag-and-drop rows

= 2.5.0 =
* **Google Font picker** — searchable dropdown with 70+ fonts, lazy typeface preview, live update
* **Onboarding tutorial** — floating 🐝 bee mascot auto-starts on first visit and guides through 4 steps
* **Search bar** — moved to free tier; Menu tab + In-page search tab with full keyboard navigation

= 2.4.1 =
* **Accessibility master toggle** — all WCAG features disabled by default, activated with a single switch
* **Close button color config** — color pickers for the × close button in Fullscreen/Drawer modes

= 2.4.0 =
* Added complete **Accessibility** settings panel (WCAG 2.2 AA): keyboard navigation, focus ring, skip link, ARIA, touch targets, reduced motion, high-contrast, focus trap in mobile overlay

= 2.3.5 =
* Added **12 demo templates** for the Mega Menu editor — load a full column layout in one click

= 2.3.2 =
* Mega Menu: gradient background picker with 12 presets and custom gradient builder; font size, link color, heading color and accent/icon color controls; icon picker for all item types; drag & drop reordering

= 2.3.0 =
* Introduced **Mega Menu** — full-width column panels for first-level nav items (free); up to 4 columns, 5 item types, mobile support

= 2.2.0 =
* Added 20 preset themes, link border-radius, submenu styling, WP Menu Integration, full Reset button

= 2.1.1 =
* Initial release — builder, 4 mobile modes, sticky, scroll progress bar, entrance animations, import/export, multilingual

== Upgrade Notice ==

= 3.0.0 =
Major release. Each mega menu now has its own independent Appearance tab — background, padding, colors and more — so you can style every mega menu differently. The admin panel is redesigned for clarity, the Themes section is directly accessible from the sidebar, and the WooCommerce cart integration continues to be completely free. Recommended for all users.

= 2.10.0 =
Adds WooCommerce integration: a cart icon with live item count, optional total and a mini-cart dropdown that updates without a page reload. Enable it under MenuX → WooCommerce. Fully optional and silent when WooCommerce is not installed.

= 2.9.0 =
Adds a native Gutenberg block (giuliomax/menu) for Full Site Editing themes. Drop it into any FSE template header or template part directly from the Site Editor.

= 2.8.0 =
Sticky menu now mirrors the main menu by default, logo visible in admin live preview, entrance animation preview fixed, and several layout improvements.

= 2.6.0 =
Major admin UI overhaul: collapsible accordion builder, streamlined Add pane, polished sortable rows.

= 2.5.0 =
New Google Font picker with live preview, onboarding tutorial, free search bar. Recommended for all users.

= 2.3.0 =
Major update: full Mega Menu system added for free. Supports up to 4 columns, 5 item types, gradient backgrounds, mobile handling and more.

= 2.2.0 =
Major update: 20 preset themes, submenu controls, WP integration, reset button and multiple bug fixes. Recommended for all users.

= 2.1.1 =
First public release.
