UNPKG

mmenu-js

Version:

The best javascript plugin for app look-alike on- and off-canvas menus with sliding submenus for your website and webapp.

116 lines (100 loc) 3.36 kB
/*! * mmenu.js * mmenujs.com * * Copyright (c) Fred Heusschen * frebsite.nl * * License: CC-BY-NC-4.0 * http://creativecommons.org/licenses/by-nc/4.0/ */ // Core import Mmenu from '../dist/core/oncanvas/mmenu.oncanvas'; // Core add-ons import offcanvas from '../dist/core/offcanvas/mmenu.offcanvas'; import screenReader from '../dist/core/screenreader/mmenu.screenreader'; import scrollBugFix from '../dist/core/scrollbugfix/mmenu.scrollbugfix'; // Add-ons import autoHeight from '../dist/addons/autoheight/mmenu.autoheight'; import backButton from '../dist/addons/backbutton/mmenu.backbutton'; import columns from '../dist/addons/columns/mmenu.columns'; import counters from '../dist/addons/counters/mmenu.counters'; import dividers from '../dist/addons/dividers/mmenu.dividers'; import drag from '../dist/addons/drag/mmenu.drag'; import dropdown from '../dist/addons/dropdown/mmenu.dropdown'; import fixedElements from '../dist/addons/fixedelements/mmenu.fixedelements'; import iconbar from '../dist/addons/iconbar/mmenu.iconbar'; import iconPanels from '../dist/addons/iconpanels/mmenu.iconpanels'; import keyboardNavigation from '../dist/addons/keyboardnavigation/mmenu.keyboardnavigation'; import lazySubmenus from '../dist/addons/lazysubmenus/mmenu.lazysubmenus'; import navbars from '../dist/addons/navbars/mmenu.navbars'; import pageScroll from '../dist/addons/pagescroll/mmenu.pagescroll'; import searchfield from '../dist/addons/searchfield/mmenu.searchfield'; import sectionIndexer from '../dist/addons/sectionindexer/mmenu.sectionindexer'; import setSelected from '../dist/addons/setselected/mmenu.setselected'; import sidebar from '../dist/addons/sidebar/mmenu.sidebar'; import toggles from '../dist/addons/toggles/mmenu.toggles'; // Wrappers import angular from '../dist/wrappers/angular/mmenu.angular'; import bootstrap from '../dist/wrappers/bootstrap/mmenu.bootstrap'; import olark from '../dist/wrappers/olark/mmenu.olark'; import turbolinks from '../dist/wrappers/turbolinks/mmenu.turbolinks'; import wordpress from '../dist/wrappers/wordpress/mmenu.wordpress'; Mmenu.addons = { // Core add-ons offcanvas, screenReader, scrollBugFix, // Add-ons autoHeight, backButton, columns, counters, dividers, drag, dropdown, fixedElements, iconbar, iconPanels, keyboardNavigation, lazySubmenus, navbars, pageScroll, searchfield, sectionIndexer, setSelected, sidebar, toggles }; // Wrappers Mmenu.wrappers = { angular, bootstrap, olark, turbolinks, wordpress }; // Export module export default Mmenu; // Global namespace window.Mmenu = Mmenu; // jQuery plugin (function($) { if ($) { $.fn.mmenu = function(options, configs) { var $result = $(); this.each(function(e, element) { // Don't proceed if the element already is a mmenu. if (element['mmApi']) { return; } let menu = new Mmenu(element, options, configs), $menu = $(menu.node.menu); // Store the API. $menu.data('mmenu', menu.API); $result = $result.add($menu); }); return $result; }; } })(window.jQuery || window.Zepto || null);