{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es.object.set-prototype-of.js","webpack:///./node_modules/body-scroll-lock/lib/bodyScrollLock.min.js","webpack:///./node_modules/mmenu-js/dist/_version.js","webpack:///./node_modules/mmenu-js/dist/core/oncanvas/_options.js","webpack:///./node_modules/mmenu-js/dist/core/oncanvas/_configs.js","webpack:///./node_modules/mmenu-js/dist/_modules/helpers.js","webpack:///./node_modules/mmenu-js/dist/_modules/i18n.js","webpack:///./node_modules/mmenu-js/dist/core/oncanvas/translations/nl.js","webpack:///./node_modules/mmenu-js/dist/core/oncanvas/translations/fa.js","webpack:///./node_modules/mmenu-js/dist/core/oncanvas/translations/de.js","webpack:///./node_modules/mmenu-js/dist/core/oncanvas/translations/ru.js","webpack:///./node_modules/mmenu-js/dist/_modules/dom.js","webpack:///./node_modules/mmenu-js/dist/_modules/matchmedia.js","webpack:///./node_modules/mmenu-js/dist/core/oncanvas/translations/translate.js","webpack:///./node_modules/mmenu-js/dist/core/oncanvas/mmenu.oncanvas.js","webpack:///./node_modules/mmenu-js/dist/core/offcanvas/_options.js","webpack:///./node_modules/mmenu-js/dist/core/offcanvas/_configs.js","webpack:///./node_modules/mmenu-js/dist/_modules/eventlisteners.js","webpack:///./node_modules/mmenu-js/dist/core/offcanvas/mmenu.offcanvas.js","webpack:///./node_modules/mmenu-js/dist/core/screenreader/_options.js","webpack:///./node_modules/mmenu-js/dist/core/screenreader/_configs.js","webpack:///./node_modules/mmenu-js/dist/core/screenreader/translations/fa.js","webpack:///./node_modules/mmenu-js/dist/core/screenreader/translations/de.js","webpack:///./node_modules/mmenu-js/dist/core/screenreader/translations/ru.js","webpack:///./node_modules/mmenu-js/dist/core/screenreader/translations/translate.js","webpack:///./node_modules/mmenu-js/dist/core/screenreader/translations/nl.js","webpack:///./node_modules/mmenu-js/dist/core/screenreader/mmenu.screenreader.js","webpack:///./node_modules/mmenu-js/dist/core/scrollbugfix/_options.js","webpack:///./node_modules/mmenu-js/dist/_modules/support.js","webpack:///./node_modules/mmenu-js/dist/core/scrollbugfix/mmenu.scrollbugfix.js","webpack:///./node_modules/mmenu-js/dist/addons/autoheight/_options.js","webpack:///./node_modules/mmenu-js/dist/addons/autoheight/mmenu.autoheight.js","webpack:///./node_modules/mmenu-js/dist/addons/backbutton/_options.js","webpack:///./node_modules/mmenu-js/dist/addons/backbutton/mmenu.backbutton.js","webpack:///./node_modules/mmenu-js/dist/addons/columns/_options.js","webpack:///./node_modules/mmenu-js/dist/addons/columns/mmenu.columns.js","webpack:///./node_modules/mmenu-js/dist/addons/counters/_options.js","webpack:///./node_modules/mmenu-js/dist/addons/counters/mmenu.counters.js","webpack:///./node_modules/mmenu-js/dist/addons/dividers/_options.js","webpack:///./node_modules/mmenu-js/dist/addons/dividers/mmenu.dividers.js","webpack:///./node_modules/mmenu-js/dist/addons/drag/_options.js","webpack:///./node_modules/mmenu-js/dist/_modules/dragevents/_support.js","webpack:///./node_modules/mmenu-js/dist/_modules/dragevents/_defaults.js","webpack:///./node_modules/mmenu-js/dist/_modules/dragevents/_settings.js","webpack:///./node_modules/mmenu-js/dist/_modules/dragevents/_helpers.js","webpack:///./node_modules/mmenu-js/dist/_modules/dragevents/index.js","webpack:///./node_modules/mmenu-js/dist/addons/drag/_drag.open.js","webpack:///./node_modules/mmenu-js/dist/addons/drag/mmenu.drag.js","webpack:///./node_modules/mmenu-js/dist/addons/dropdown/_options.js","webpack:///./node_modules/mmenu-js/dist/addons/dropdown/_configs.js","webpack:///./node_modules/mmenu-js/dist/addons/dropdown/mmenu.dropdown.js","webpack:///./node_modules/mmenu-js/dist/addons/fixedelements/_configs.js","webpack:///./node_modules/mmenu-js/dist/addons/fixedelements/mmenu.fixedelements.js","webpack:///./node_modules/mmenu-js/dist/addons/iconbar/_options.js","webpack:///./node_modules/mmenu-js/dist/addons/iconbar/mmenu.iconbar.js","webpack:///./node_modules/mmenu-js/dist/addons/iconpanels/_options.js","webpack:///./node_modules/mmenu-js/dist/addons/iconpanels/mmenu.iconpanels.js","webpack:///./node_modules/mmenu-js/dist/addons/keyboardnavigation/_options.js","webpack:///./node_modules/mmenu-js/dist/addons/keyboardnavigation/mmenu.keyboardnavigation.js","webpack:///./node_modules/mmenu-js/dist/addons/lazysubmenus/_options.js","webpack:///./node_modules/mmenu-js/dist/addons/lazysubmenus/mmenu.lazysubmenus.js","webpack:///./node_modules/mmenu-js/dist/addons/navbars/_options.js","webpack:///./node_modules/mmenu-js/dist/addons/navbars/_configs.js","webpack:///./node_modules/mmenu-js/dist/addons/navbars/mmenu.navbars.js","webpack:///./node_modules/mmenu-js/dist/addons/navbars/_navbar.breadcrumbs.js","webpack:///./node_modules/mmenu-js/dist/addons/navbars/_navbar.close.js","webpack:///./node_modules/mmenu-js/dist/addons/navbars/_navbar.next.js","webpack:///./node_modules/mmenu-js/dist/addons/navbars/_navbar.prev.js","webpack:///./node_modules/mmenu-js/dist/addons/navbars/_navbar.searchfield.js","webpack:///./node_modules/mmenu-js/dist/addons/navbars/_navbar.title.js","webpack:///./node_modules/mmenu-js/dist/addons/navbars/_navbar.tabs.js","webpack:///./node_modules/mmenu-js/dist/addons/pagescroll/_options.js","webpack:///./node_modules/mmenu-js/dist/addons/pagescroll/_configs.js","webpack:///./node_modules/mmenu-js/dist/addons/pagescroll/mmenu.pagescroll.js","webpack:///./node_modules/mmenu-js/dist/addons/searchfield/_options.js","webpack:///./node_modules/mmenu-js/dist/addons/searchfield/_configs.js","webpack:///./node_modules/mmenu-js/dist/addons/searchfield/translations/fa.js","webpack:///./node_modules/mmenu-js/dist/addons/searchfield/translations/de.js","webpack:///./node_modules/mmenu-js/dist/addons/searchfield/translations/ru.js","webpack:///./node_modules/mmenu-js/dist/addons/searchfield/translations/translate.js","webpack:///./node_modules/mmenu-js/dist/addons/searchfield/translations/nl.js","webpack:///./node_modules/mmenu-js/dist/addons/searchfield/mmenu.searchfield.js","webpack:///./node_modules/mmenu-js/dist/addons/sectionindexer/_options.js","webpack:///./node_modules/mmenu-js/dist/addons/sectionindexer/mmenu.sectionindexer.js","webpack:///./node_modules/mmenu-js/dist/addons/setselected/_options.js","webpack:///./node_modules/mmenu-js/dist/addons/setselected/mmenu.setselected.js","webpack:///./node_modules/mmenu-js/dist/addons/sidebar/_options.js","webpack:///./node_modules/mmenu-js/dist/addons/sidebar/mmenu.sidebar.js","webpack:///./node_modules/mmenu-js/dist/addons/toggles/mmenu.toggles.js","webpack:///./node_modules/mmenu-js/src/mmenu.js","webpack:///./node_modules/mmenu-js/dist/wrappers/angular/mmenu.angular.js","webpack:///./node_modules/mmenu-js/dist/wrappers/bootstrap/mmenu.bootstrap.js","webpack:///./node_modules/mmenu-js/dist/wrappers/olark/mmenu.olark.js","webpack:///./node_modules/mmenu-js/dist/wrappers/turbolinks/mmenu.turbolinks.js","webpack:///./node_modules/mmenu-js/dist/wrappers/wordpress/mmenu.wordpress.js"],"names":["$","__webpack_require__","fails","toObject","nativeGetPrototypeOf","CORRECT_PROTOTYPE_GETTER","target","stat","forced","sham","getPrototypeOf","it","setPrototypeOf","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","exports","undefined","r","e","Array","isArray","t","o","length","from","Object","defineProperty","value","l","window","passive","addEventListener","removeEventListener","d","navigator","platform","test","c","u","a","s","v","f","some","options","allowTouchMove","m","event","touches","preventDefault","setTimeout","document","body","style","paddingRight","overflow","disableBodyScroll","i","console","error","targetElement","concat","ontouchstart","targetTouches","clientY","ontouchmove","n","scrollTop","scrollHeight","clientHeight","stopPropagation","reserveScrollBarGap","innerWidth","documentElement","clientWidth","clearAllBodyScrollLocks","forEach","enableBodyScroll","filter","apply","module","_options","hooks","extensions","wrappers","navbar","add","sticky","title","titleLink","onClick","close","setSelected","slidingSubmenus","_configs","classNames","inset","nolistview","nopanel","panel","selected","vertical","language","openingInterval","panelNodetype","transitionDuration","extend","orignl","dfault","k","type","hasOwnProperty","variable","toString","call","match","toLowerCase","valueOrFn","element","option","transitionend","func","duration","_ended","_fn","evnt","uniqueId","__id","originalId","id","slice","translations","i18n_add","text","fa","Menu","de","ru","create","selector","args","split","elem","createElement","shift","classname","classList","find","prototype","querySelectorAll","dom_children","children","child","matches","dom_parents","parents","parent","parentElement","push","filterLI","listitems","listitem","filterLIA","anchors","anchor","reClass","oldClass","newClass","remove","listeners","matchmedia_add","query","yes","no","fire","mqlist","fn","mmenu_oncanvas","Mmenu","menu","configs","this","opts","conf","_api","node","vars","hook","clck","querySelector","_deprecatedWarnings","_initWrappers","_initAddons","_initExtensions","_initHooks","_initAPI","_initMenu","_initPanels","_initOpened","_initAnchors","_loop_1","matchMedia","onchange","watch","openPanel","animation","_this","trigger","closest","panels","pnls","current_1","parent_1","hidden","openPanelStart_1","openPanelFinish_1","closePanel","li","closeAllPanels","opened","togglePanel","bind","h","that","API","re","arguments","w","wrpr","addon","addons","all","keys","classnames","map","extension","indexOf","nodeName","append","inMenu","href","getAttribute","err","initPanel","join","_initPanel","children_1","listview","removeAttribute","wrapper","before","item","button","setAttribute","innerHTML","insertBefore","nextElementSibling","_initNavbar","initListview","parentListitem","parentPanel","dataset","mmParent","prev","opener","mmTitle","textContent","i18n","prepend","lastitem","current","inListview","toExternal","click","offCanvas","get","version","offcanvas_options","blockUI","moveBackground","offcanvas_configs","clone","insertMethod","insertSelector","page","nodetype","noSelector","ucFirst","word","charAt","toUpperCase","on","handler","evntParts","off","open","_openSetup","_openStart","closeAllOthers","force","clsn","api","setPage","pages","wrapper_1","initWindow","keyCode","initBlocker","blck","closeMenu","screenreader_options","aria","screenreader_configs","closeSubmenu","openSubmenu","toggleSubmenu","translations_fa","Close menu","Close submenu","Open submenu","Toggle submenu","translations_de","translations_ru","screenReader","attr","sr_aria","name","sr_role","sr_text","scrollbugfix_options","fix","touch","msMaxTouchPoints","scrollBugFix","autoheight_options","height","autoHeight","backbutton_options","backButton","columns_options","visible","min","max","columns","counters_options","addTo","count","counters","counter","dividers_options","dividers","divider","drag_options","_support_touch","_defaults_area","top","right","bottom","left","_defaults_treshold","start","swipe","directionNames","x","y","_settings_state","percentage2number","position","size","parseInt","dragevents","DragEvents","surface","area","treshold","stop","move","width","pageY","pageX","startPosition","state","dragDirection","_dragDirection","detail","_eventDetail","_dispatchEvents","Math","abs","movement","axis","swipeDirection","_swipeDirection","direction","movementX","movementY","distance","distX","distY","distanceX","distanceY","eventName","CustomEvent","replace","dispatchEvent","dragInstance","dragNode","maxDistance","getPositionVars","zposition","pos","slideOutNodes","drag","dropdown_options","drop","fitViewport","tip","dropdown_configs","offset","viewport","dropdown","fixedelements_configs","fixedElements","fixed","iconbar_options","use","iconbar","iconpanels_options","blockPanel","hideDivider","hideNavbar","iconPanels","keyboardnavigation_options","enable","enhance","keyboardNavigation","mmenu_keyboardnavigation_initWindow","next","focus","Event","api_1","lazysubmenus_options","load","lazySubmenus","navbars_options","navbars_configs","breadcrumbs","separator","removeFirst","Navbars","navs","navbars","content","navbars_options_extendShorthandOptions","ctnt","navbarContents","navbarTypes","panelNext","panelPrev","panelTitle","crumbs","first","unshift","org","_url","_txt","searchfield","original","btn","tabs","stopImmediatePropagation","selectTab","pagescroll_options","scroll","update","pagescroll_configs","scrollOffset","updateOffset","pageScroll","searchfield_options","cancel","noResults","placeholder","fx","splash","search","showTextItems","showSubPanels","searchfield_configs","clear","form","input","submit","searchfield_translations_fa","Search","No results found.","searchfield_translations_de","searchfield_translations_ru","initSearchPanel","searchpanel","initSearchfield","addAttributes","field","autocomplete","initSearching","data","noresults","_a","_b","initNoResultsMsg","message","trim","buttons","childNodes","nodeType","hasResults","allitems_1","cloneNode","reverse","p","previous","previousElementSibling","prevAll","sectionindexer_options","sectionIndexer","setselected_options","hover","sidebar_options","collapsed","blockMenu","expanded","initial","sidebar","toggles","toggle","check","offcanvas","extendShorthandOptions","hash","location","_options_extendShorthandOptions","hide","scrollbugfix_options_extendShorthandOptions","touchDir","offsetHeight","autoheight_options_extendShorthandOptions","measurablePanel","setHeight","highest","_hgh","_dif","backbutton_options_extendShorthandOptions","_menu","states","setStates","history","pushState","back","pathname","columns_options_extendShorthandOptions","colm","colp","rmvc","className","colnr","counters_options_extendShorthandOptions","cntrclss","dividers_options_extendShorthandOptions","lastletter","letter","drag_options_extendShorthandOptions","moving","addMatchMedia","queries","open_1","of","dropdown_options_extendShorthandOptions","events","getPosition","dir","obj","val","css","cls","_outerSize","_startPos","_stopPos","_size","_winSize","_maxSize","_position","startPos","getBoundingClientRect","stopPos","windowSize","offs","_fixd","wrppr","fxd","iconbar_options_extendShorthandOptions","part","classname_1","selectTab_1","iconpanels_options_extendShorthandOptions","keepFirst","classnames_1","panelAdded_1","blocker","keyboardnavigation_options_extendShorthandOptions","menuStart_1","menuEnd_1","blockerEnd_1","focusable_1","setFocus","activeElement","elements_1","tabber","lazysubmenus_options_extendShorthandOptions","pagescroll_options_extendShorthandOptions","section","scrollTo","scrollingElement","behavior","anchorInPage","scts_1","_selected_1","scrollY","offsetTop","searchfield_options_extendShorthandOptions","blur","sectionindexer_options_extendShorthandOptions","indx","buttons_1","indexer","mouseOverEvent","newTop","oldTop","active","setselected_options_extendShorthandOptions","findCurrent_1","url","arr","sidebar_options_extendShorthandOptions","disable","localStorage","setItem","initialState","getItem","angular","bootstrap","nav","list","cloneDropdown","cloneLink","cloneNav","action","method","toggler","outerHTML","link","sro","olark","turbolinks","wordpress","wpadminbar","getElementById","__webpack_exports__","jQuery","Zepto","mmenu","$result","each","$menu"],"mappings":"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","file":"18-4ce091c9.pkg.js","sourcesContent":["var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","!function(e,t){if(\"function\"==typeof define&&define.amd)define([\"exports\"],t);else if(\"undefined\"!=typeof exports)t(exports);else{var o={};t(o),e.bodyScrollLock=o}}(this,function(exports){\"use strict\";function r(e){if(Array.isArray(e)){for(var t=0,o=Array(e.length);t 0) {\n direction = 'down';\n }\n else if (evnt.movementY < 0) {\n direction = 'up';\n }\n direction = null;\n });\n return {\n get: function () { return direction; }\n };\n}\n/**\n * Get the type of any given variable. Improvement of \"typeof\".\n *\n * @param \t{any}\t\tvariable\tThe variable.\n * @return\t{string}\t\t\t\tThe type of the variable in lowercase.\n */\nexport function type(variable) {\n return {}.toString\n .call(variable)\n .match(/\\s([a-zA-Z]+)/)[1]\n .toLowerCase();\n}\n/**\n * Find the value from an option or function.\n * @param \t{HTMLElement} \telement \tScope for the function.\n * @param \t{any} \t\t\t[option] \tValue or function.\n * @param \t{any} \t\t\t[dfault] \tDefault fallback value.\n * @return\t{any}\t\t\t\t\t\tThe given evaluation of the given option, or the default fallback value.\n */\nexport function valueOrFn(element, option, dfault) {\n if (typeof option == 'function') {\n var value = option.call(element);\n if (typeof value != 'undefined') {\n return value;\n }\n }\n if ((option === null ||\n typeof option == 'function' ||\n typeof option == 'undefined') &&\n typeof dfault != 'undefined') {\n return dfault;\n }\n return option;\n}\n/**\n * Set and invoke a (single) transition-end function with fallback.\n *\n * @param {HTMLElement} \telement \tScope for the function.\n * @param {function}\t\tfunc\t\tFunction to invoke.\n * @param {number}\t\t\tduration\tThe duration of the animation (for the fallback).\n */\nexport function transitionend(element, func, duration) {\n var _ended = false, _fn = function (evnt) {\n if (typeof evnt !== 'undefined') {\n if (evnt.target !== element) {\n return;\n }\n }\n if (!_ended) {\n element.removeEventListener('transitionend', _fn);\n element.removeEventListener('webkitTransitionEnd', _fn);\n func.call(element);\n }\n _ended = true;\n };\n element.addEventListener('transitionend', _fn);\n element.addEventListener('webkitTransitionEnd', _fn);\n setTimeout(_fn, duration * 1.1);\n}\n/**\n * Get a (page wide) unique ID.\n */\nexport function uniqueId() {\n return 'mm-' + __id++;\n}\nvar __id = 0;\n/**\n * Get the original ID from a possibly prefixed ID.\n * @param id The possibly prefixed ID.\n */\nexport function originalId(id) {\n if (id.slice(0, 3) == 'mm-') {\n return id.slice(3);\n }\n return id;\n}\n","import { extend } from './helpers';\nvar translations = {};\n/**\n * Add translations to a language.\n * @param {object} text Object of key/value translations.\n * @param {string} language The translated language.\n */\nexport function add(text, language) {\n if (typeof translations[language] == 'undefined') {\n translations[language] = {};\n }\n extend(translations[language], text);\n}\n/**\n * Find a translated text in a language.\n * @param {string} text The text to find the translation for.\n * @param {string} language The language to search in.\n * @return {string} The translated text.\n */\nexport function get(text, language) {\n if (typeof language == 'string' &&\n typeof translations[language] != 'undefined') {\n return translations[language][text] || text;\n }\n return text;\n}\n/**\n * Get all translated text in a language.\n * @param {string} language The language to search for.\n * @return {object} The translations.\n */\nexport function all(language) {\n return translations;\n}\n","export default {\n 'Menu': 'Menu'\n};\n","export default {\n 'Menu': 'منو'\n};\n","export default {\n 'Menu': 'Menü'\n};\n","export default {\n 'Menu': 'Меню'\n};\n","/**\n * Create an element with classname.\n *\n * @param \t{string}\t\tselector\tThe nodeName and classnames for the element to create.\n * @return\t{HTMLElement}\t\t\t\tThe created element.\n */\nexport function create(selector) {\n var args = selector.split('.');\n var elem = document.createElement(args.shift());\n // IE11:\n args.forEach(function (classname) {\n elem.classList.add(classname);\n });\n // Better browsers:\n // elem.classList.add(...args);\n return elem;\n}\n/**\n * Find all elements matching the selector.\n * Basically the same as element.querySelectorAll() but it returns an actuall array.\n *\n * @param \t{HTMLElement} \telement Element to search in.\n * @param \t{string}\t\tfilter\tThe filter to match.\n * @return\t{array}\t\t\t\t\tArray of elements that match the filter.\n */\nexport function find(element, filter) {\n return Array.prototype.slice.call(element.querySelectorAll(filter));\n}\n/**\n * Find all child elements matching the (optional) selector.\n *\n * @param \t{HTMLElement} \telement Element to search in.\n * @param \t{string}\t\tfilter\tThe filter to match.\n * @return\t{array}\t\t\t\t\tArray of child elements that match the filter.\n */\nexport function children(element, filter) {\n var children = Array.prototype.slice.call(element.children);\n return filter ? children.filter(function (child) { return child.matches(filter); }) : children;\n}\n/**\n * Find text excluding text from within child elements.\n * @param {HTMLElement} element Element to search in.\n * @return {string} The text.\n */\nexport function text(element) {\n return Array.prototype.slice\n .call(element.childNodes)\n .filter(function (child) { return child.nodeType == 3; })\n .map(function (child) { return child.textContent; })\n .join(' ');\n}\n/**\n * Find all preceding elements matching the selector.\n *\n * @param \t{HTMLElement} \telement Element to start searching from.\n * @param \t{string}\t\tfilter\tThe filter to match.\n * @return\t{array}\t\t\t\t\tArray of preceding elements that match the selector.\n */\nexport function parents(element, filter) {\n /** Array of preceding elements that match the selector. */\n var parents = [];\n /** Array of preceding elements that match the selector. */\n var parent = element.parentElement;\n while (parent) {\n parents.push(parent);\n parent = parent.parentElement;\n }\n return filter ? parents.filter(function (parent) { return parent.matches(filter); }) : parents;\n}\n/**\n * Find all previous siblings matching the selecotr.\n *\n * @param \t{HTMLElement} \telement Element to start searching from.\n * @param \t{string}\t\tfilter\tThe filter to match.\n * @return\t{array}\t\t\t\t\tArray of previous siblings that match the selector.\n */\nexport function prevAll(element, filter) {\n /** Array of previous siblings that match the selector. */\n var previous = [];\n /** Current element in the loop */\n var current = element.previousElementSibling;\n while (current) {\n if (!filter || current.matches(filter)) {\n previous.push(current);\n }\n current = current.previousElementSibling;\n }\n return previous;\n}\n/**\n * Get an element offset relative to the document.\n *\n * @param \t{HTMLElement}\t element \t\t\tElement to start measuring from.\n * @param \t{string}\t\t [direction=top] \tOffset top or left.\n * @return\t{number}\t\t\t\t\t\t\tThe element offset relative to the document.\n */\nexport function offset(element, direction) {\n return (element.getBoundingClientRect()[direction] +\n document.body[direction === 'left' ? 'scrollLeft' : 'scrollTop']);\n}\n/**\n * Filter out non-listitem listitems.\n * @param {array} listitems \tElements to filter.\n * @return {array}\t\t\t\tThe filtered set of listitems.\n */\nexport function filterLI(listitems) {\n return listitems.filter(function (listitem) { return !listitem.matches('.mm-hidden'); });\n}\n/**\n * Find anchors in listitems (excluding anchor that open a sub-panel).\n * @param {array} \tlistitems \tElements to filter.\n * @return {array}\t\t\t\tThe found set of anchors.\n */\nexport function filterLIA(listitems) {\n var anchors = [];\n filterLI(listitems).forEach(function (listitem) {\n anchors.push.apply(anchors, children(listitem, 'a.mm-listitem__text'));\n });\n return anchors.filter(function (anchor) { return !anchor.matches('.mm-btn_next'); });\n}\n/**\n * Refactor a classname on multiple elements.\n * @param {HTMLElement} element \tElement to refactor.\n * @param {string}\t\toldClass \tClassname to remove.\n * @param {string}\t\tnewClass \tClassname to add.\n */\nexport function reClass(element, oldClass, newClass) {\n if (element.matches('.' + oldClass)) {\n element.classList.remove(oldClass);\n element.classList.add(newClass);\n }\n}\n","/** Collection of callback functions for media querys. */\nvar listeners = {};\n/**\n * Bind functions to a matchMedia listener (subscriber).\n *\n * @param {string|number} \tquery \tMedia query to match or number for min-width.\n * @param {function} \t\tyes \tFunction to invoke when the media query matches.\n * @param {function} \t\tno \t\tFunction to invoke when the media query doesn't match.\n */\nexport function add(query, yes, no) {\n if (typeof query == 'number') {\n query = '(min-width: ' + query + 'px)';\n }\n listeners[query] = listeners[query] || [];\n listeners[query].push({ yes: yes, no: no });\n}\n/**\n * Initialize the matchMedia listener.\n */\nexport function watch() {\n var _loop_1 = function (query) {\n var mqlist = window.matchMedia(query);\n fire(query, mqlist);\n mqlist.onchange = function (evnt) {\n fire(query, mqlist);\n };\n };\n for (var query in listeners) {\n _loop_1(query);\n }\n}\n/**\n * Invoke the \"yes\" or \"no\" function for a matchMedia listener (publisher).\n *\n * @param {string} \t\t\tquery \tMedia query to check for.\n * @param {MediaQueryList} \tmqlist \tMedia query list to check with.\n */\nexport function fire(query, mqlist) {\n var fn = mqlist.matches ? 'yes' : 'no';\n for (var m = 0; m < listeners[query].length; m++) {\n listeners[query][m][fn]();\n }\n}\n","import { add } from '../../../_modules/i18n';\nimport nl from './nl';\nimport fa from './fa';\nimport de from './de';\nimport ru from './ru';\nexport default function () {\n add(nl, 'nl');\n add(fa, 'fa');\n add(de, 'de');\n add(ru, 'ru');\n}\n","import version from '../../_version';\nimport options from './_options';\nimport configs from './_configs';\nimport translate from './translations/translate';\nimport * as DOM from '../../_modules/dom';\nimport * as i18n from '../../_modules/i18n';\nimport * as media from '../../_modules/matchmedia';\nimport { type, extend, transitionend, uniqueId, valueOrFn } from '../../_modules/helpers';\n// Add the translations.\ntranslate();\n/**\n * Class for a mobile menu.\n */\nvar Mmenu = /** @class */ (function () {\n /**\n * Create a mobile menu.\n * @param {HTMLElement|string} \tmenu\t\t\t\t\t\tThe menu node.\n * @param {object} \t\t\t\t[options=Mmenu.options]\t\tOptions for the menu.\n * @param {object} \t\t\t\t[configs=Mmenu.configs]\t\tConfiguration options for the menu.\n */\n function Mmenu(menu, options, configs) {\n //\tExtend options and configuration from defaults.\n this.opts = extend(options, Mmenu.options);\n this.conf = extend(configs, Mmenu.configs);\n //\tMethods to expose in the API.\n this._api = [\n 'bind',\n 'initPanel',\n 'initListview',\n 'openPanel',\n 'closePanel',\n 'closeAllPanels',\n 'setSelected'\n ];\n //\tStorage objects for nodes, variables, hooks and click handlers.\n this.node = {};\n this.vars = {};\n this.hook = {};\n this.clck = [];\n //\tGet menu node from string or element.\n this.node.menu =\n typeof menu == 'string' ? document.querySelector(menu) : menu;\n if (typeof this._deprecatedWarnings == 'function') {\n this._deprecatedWarnings();\n }\n this._initWrappers();\n this._initAddons();\n this._initExtensions();\n this._initHooks();\n this._initAPI();\n this._initMenu();\n this._initPanels();\n this._initOpened();\n this._initAnchors();\n media.watch();\n return this;\n }\n /**\n * Open a panel.\n * @param {HTMLElement} panel\t\t\t\tPanel to open.\n * @param {boolean}\t\t[animation=true]\tWhether or not to open the panel with an animation.\n */\n Mmenu.prototype.openPanel = function (panel, animation) {\n var _this = this;\n //\tInvoke \"before\" hook.\n this.trigger('openPanel:before', [panel]);\n //\tFind panel.\n if (!panel) {\n return;\n }\n if (!panel.matches('.mm-panel')) {\n panel = panel.closest('.mm-panel');\n }\n if (!panel) {\n return;\n }\n //\t/Find panel.\n if (typeof animation != 'boolean') {\n animation = true;\n }\n //\tOpen a \"vertical\" panel.\n if (panel.parentElement.matches('.mm-listitem_vertical')) {\n //\tOpen current and all vertical parent panels.\n DOM.parents(panel, '.mm-listitem_vertical').forEach(function (listitem) {\n listitem.classList.add('mm-listitem_opened');\n DOM.children(listitem, '.mm-panel').forEach(function (panel) {\n panel.classList.remove('mm-hidden');\n });\n });\n //\tOpen first non-vertical parent panel.\n var parents = DOM.parents(panel, '.mm-panel').filter(function (panel) { return !panel.parentElement.matches('.mm-listitem_vertical'); });\n this.trigger('openPanel:start', [panel]);\n if (parents.length) {\n this.openPanel(parents[0]);\n }\n this.trigger('openPanel:finish', [panel]);\n //\tOpen a \"horizontal\" panel.\n }\n else {\n if (panel.matches('.mm-panel_opened')) {\n return;\n }\n var panels = DOM.children(this.node.pnls, '.mm-panel'), current_1 = DOM.children(this.node.pnls, '.mm-panel_opened')[0];\n //\tClose all child panels.\n panels\n .filter(function (parent) { return parent !== panel; })\n .forEach(function (parent) {\n parent.classList.remove('mm-panel_opened-parent');\n });\n //\tOpen all parent panels.\n var parent_1 = panel['mmParent'];\n while (parent_1) {\n parent_1 = parent_1.closest('.mm-panel');\n if (parent_1) {\n if (!parent_1.parentElement.matches('.mm-listitem_vertical')) {\n parent_1.classList.add('mm-panel_opened-parent');\n }\n parent_1 = parent_1['mmParent'];\n }\n }\n //\tAdd classes for animation.\n panels.forEach(function (panel) {\n panel.classList.remove('mm-panel_highest');\n });\n panels\n .filter(function (hidden) { return hidden !== current_1; })\n .filter(function (hidden) { return hidden !== panel; })\n .forEach(function (hidden) {\n hidden.classList.add('mm-hidden');\n });\n panel.classList.remove('mm-hidden');\n /**\tStart opening the panel. */\n var openPanelStart_1 = function () {\n if (current_1) {\n current_1.classList.remove('mm-panel_opened');\n }\n panel.classList.add('mm-panel_opened');\n if (panel.matches('.mm-panel_opened-parent')) {\n if (current_1) {\n current_1.classList.add('mm-panel_highest');\n }\n panel.classList.remove('mm-panel_opened-parent');\n }\n else {\n if (current_1) {\n current_1.classList.add('mm-panel_opened-parent');\n }\n panel.classList.add('mm-panel_highest');\n }\n //\tInvoke \"start\" hook.\n _this.trigger('openPanel:start', [panel]);\n };\n /**\tFinish opening the panel. */\n var openPanelFinish_1 = function () {\n if (current_1) {\n current_1.classList.remove('mm-panel_highest');\n current_1.classList.add('mm-hidden');\n }\n panel.classList.remove('mm-panel_highest');\n //\tInvoke \"finish\" hook.\n _this.trigger('openPanel:finish', [panel]);\n };\n if (animation && !panel.matches('.mm-panel_noanimation')) {\n //\tWithout the timeout the animation will not work because the element had display: none;\n setTimeout(function () {\n //\tCallback\n transitionend(panel, function () {\n openPanelFinish_1();\n }, _this.conf.transitionDuration);\n openPanelStart_1();\n }, this.conf.openingInterval);\n }\n else {\n openPanelStart_1();\n openPanelFinish_1();\n }\n }\n //\tInvoke \"after\" hook.\n this.trigger('openPanel:after', [panel]);\n };\n /**\n * Close a panel.\n * @param {HTMLElement} panel Panel to close.\n */\n Mmenu.prototype.closePanel = function (panel) {\n //\tInvoke \"before\" hook.\n this.trigger('closePanel:before', [panel]);\n var li = panel.parentElement;\n //\tOnly works for \"vertical\" panels.\n if (li.matches('.mm-listitem_vertical')) {\n li.classList.remove('mm-listitem_opened');\n panel.classList.add('mm-hidden');\n //\tInvoke main hook.\n this.trigger('closePanel', [panel]);\n }\n //\tInvoke \"after\" hook.\n this.trigger('closePanel:after', [panel]);\n };\n /**\n * Close all opened panels.\n * @param {HTMLElement} panel Panel to open after closing all other panels.\n */\n Mmenu.prototype.closeAllPanels = function (panel) {\n //\tInvoke \"before\" hook.\n this.trigger('closeAllPanels:before');\n //\tClose all \"vertical\" panels.\n var listitems = this.node.pnls.querySelectorAll('.mm-listitem');\n listitems.forEach(function (listitem) {\n listitem.classList.remove('mm-listitem_selected');\n listitem.classList.remove('mm-listitem_opened');\n });\n //\tClose all \"horizontal\" panels.\n var panels = DOM.children(this.node.pnls, '.mm-panel'), opened = panel ? panel : panels[0];\n DOM.children(this.node.pnls, '.mm-panel').forEach(function (panel) {\n if (panel !== opened) {\n panel.classList.remove('mm-panel_opened');\n panel.classList.remove('mm-panel_opened-parent');\n panel.classList.remove('mm-panel_highest');\n panel.classList.add('mm-hidden');\n }\n });\n //\tOpen first panel.\n this.openPanel(opened, false);\n //\tInvoke \"after\" hook.\n this.trigger('closeAllPanels:after');\n };\n /**\n * Toggle a panel opened/closed.\n * @param {HTMLElement} panel Panel to open or close.\n */\n Mmenu.prototype.togglePanel = function (panel) {\n var listitem = panel.parentElement;\n //\tOnly works for \"vertical\" panels.\n if (listitem.matches('.mm-listitem_vertical')) {\n this[listitem.matches('.mm-listitem_opened')\n ? 'closePanel'\n : 'openPanel'](panel);\n }\n };\n /**\n * Display a listitem as being \"selected\".\n * @param {HTMLElement} listitem Listitem to mark.\n */\n Mmenu.prototype.setSelected = function (listitem) {\n //\tInvoke \"before\" hook.\n this.trigger('setSelected:before', [listitem]);\n //\tFirst, remove the selected class from all listitems.\n DOM.find(this.node.menu, '.mm-listitem_selected').forEach(function (li) {\n li.classList.remove('mm-listitem_selected');\n });\n //\tNext, add the selected class to the provided listitem.\n listitem.classList.add('mm-listitem_selected');\n //\tInvoke \"after\" hook.\n this.trigger('setSelected:after', [listitem]);\n };\n /**\n * Bind functions to a hook (subscriber).\n * @param {string} \t\thook The hook.\n * @param {function} \tfunc The function.\n */\n Mmenu.prototype.bind = function (hook, func) {\n //\tCreate an array for the hook if it does not yet excist.\n this.hook[hook] = this.hook[hook] || [];\n //\tPush the function to the array.\n this.hook[hook].push(func);\n };\n /**\n * Invoke the functions bound to a hook (publisher).\n * @param {string} \thook \tThe hook.\n * @param {array}\t[args] \tArguments for the function.\n */\n Mmenu.prototype.trigger = function (hook, args) {\n if (this.hook[hook]) {\n for (var h = 0, l = this.hook[hook].length; h < l; h++) {\n this.hook[hook][h].apply(this, args);\n }\n }\n };\n /**\n * Create the API.\n */\n Mmenu.prototype._initAPI = function () {\n var _this = this;\n //\tWe need this=that because:\n //\t1) the \"arguments\" object can not be referenced in an arrow function in ES3 and ES5.\n var that = this;\n this.API = {};\n this._api.forEach(function (fn) {\n _this.API[fn] = function () {\n var re = that[fn].apply(that, arguments); // 1)\n return typeof re == 'undefined' ? that.API : re;\n };\n });\n //\tStore the API in the HTML node for external usage.\n this.node.menu['mmApi'] = this.API;\n };\n /**\n * Bind the hooks specified in the options (publisher).\n */\n Mmenu.prototype._initHooks = function () {\n for (var hook in this.opts.hooks) {\n this.bind(hook, this.opts.hooks[hook]);\n }\n };\n /**\n * Initialize the wrappers specified in the options.\n */\n Mmenu.prototype._initWrappers = function () {\n //\tInvoke \"before\" hook.\n this.trigger('initWrappers:before');\n for (var w = 0; w < this.opts.wrappers.length; w++) {\n var wrpr = Mmenu.wrappers[this.opts.wrappers[w]];\n if (typeof wrpr == 'function') {\n wrpr.call(this);\n }\n }\n //\tInvoke \"after\" hook.\n this.trigger('initWrappers:after');\n };\n /**\n * Initialize all available add-ons.\n */\n Mmenu.prototype._initAddons = function () {\n //\tInvoke \"before\" hook.\n this.trigger('initAddons:before');\n for (var addon in Mmenu.addons) {\n Mmenu.addons[addon].call(this);\n }\n //\tInvoke \"after\" hook.\n this.trigger('initAddons:after');\n };\n /**\n * Initialize the extensions specified in the options.\n */\n Mmenu.prototype._initExtensions = function () {\n var _this = this;\n //\tInvoke \"before\" hook.\n this.trigger('initExtensions:before');\n //\tConvert array to object with array.\n if (type(this.opts.extensions) == 'array') {\n this.opts.extensions = {\n all: this.opts.extensions\n };\n }\n //\tLoop over object.\n Object.keys(this.opts.extensions).forEach(function (query) {\n var classnames = _this.opts.extensions[query].map(function (extension) { return 'mm-menu_' + extension; });\n if (classnames.length) {\n media.add(query, function () {\n // IE11:\n classnames.forEach(function (classname) {\n _this.node.menu.classList.add(classname);\n });\n // Better browsers:\n // this.node.menu.classList.add(...classnames);\n }, function () {\n // IE11:\n classnames.forEach(function (classname) {\n _this.node.menu.classList.remove(classname);\n });\n // Better browsers:\n // this.node.menu.classList.remove(...classnames);\n });\n }\n });\n //\tInvoke \"after\" hook.\n this.trigger('initExtensions:after');\n };\n /**\n * Initialize the menu.\n */\n Mmenu.prototype._initMenu = function () {\n var _this = this;\n //\tInvoke \"before\" hook.\n this.trigger('initMenu:before');\n //\tAdd class to the wrapper.\n this.node.wrpr = this.node.wrpr || this.node.menu.parentElement;\n this.node.wrpr.classList.add('mm-wrapper');\n //\tAdd an ID to the menu if it does not yet have one.\n this.node.menu.id = this.node.menu.id || uniqueId();\n //\tWrap the panels in a node.\n var panels = DOM.create('div.mm-panels');\n DOM.children(this.node.menu).forEach(function (panel) {\n if (_this.conf.panelNodetype.indexOf(panel.nodeName.toLowerCase()) >\n -1) {\n panels.append(panel);\n }\n });\n this.node.menu.append(panels);\n this.node.pnls = panels;\n //\tAdd class to the menu.\n this.node.menu.classList.add('mm-menu');\n //\tInvoke \"after\" hook.\n this.trigger('initMenu:after');\n };\n /**\n * Initialize panels.\n */\n Mmenu.prototype._initPanels = function () {\n var _this = this;\n //\tInvoke \"before\" hook.\n this.trigger('initPanels:before');\n //\tOpen / close panels.\n this.clck.push(function (anchor, args) {\n if (args.inMenu) {\n var href = anchor.getAttribute('href');\n if (href && href.length > 1 && href.slice(0, 1) == '#') {\n try {\n var panel = DOM.find(_this.node.menu, href)[0];\n if (panel && panel.matches('.mm-panel')) {\n if (anchor.parentElement.matches('.mm-listitem_vertical')) {\n _this.togglePanel(panel);\n }\n else {\n _this.openPanel(panel);\n }\n return true;\n }\n }\n catch (err) { }\n }\n }\n });\n /** The panels to initiate */\n var panels = DOM.children(this.node.pnls);\n panels.forEach(function (panel) {\n _this.initPanel(panel);\n });\n //\tInvoke \"after\" hook.\n this.trigger('initPanels:after');\n };\n /**\n * Initialize a single panel and its children.\n * @param {HTMLElement} panel The panel to initialize.\n */\n Mmenu.prototype.initPanel = function (panel) {\n var _this = this;\n /** Query selector for possible node-types for panels. */\n var panelNodetype = this.conf.panelNodetype.join(', ');\n if (panel.matches(panelNodetype)) {\n // Only once\n if (!panel.matches('.mm-panel')) {\n panel = this._initPanel(panel);\n }\n if (panel) {\n /** The sub panels. */\n var children_1 = [];\n //\tFind panel > panel\n children_1.push.apply(children_1, DOM.children(panel, '.' + this.conf.classNames.panel));\n //\tFind panel listitem > panel\n DOM.children(panel, '.mm-listview').forEach(function (listview) {\n DOM.children(listview, '.mm-listitem').forEach(function (listitem) {\n children_1.push.apply(children_1, DOM.children(listitem, panelNodetype));\n });\n });\n // Initiate subpanel(s).\n children_1.forEach(function (child) {\n _this.initPanel(child);\n });\n }\n }\n };\n /**\n * Initialize a single panel.\n * @param {HTMLElement} \t\tpanel \tPanel to initialize.\n * @return {HTMLElement|null} \t\t\tInitialized panel.\n */\n Mmenu.prototype._initPanel = function (panel) {\n var _this = this;\n //\tInvoke \"before\" hook.\n this.trigger('initPanel:before', [panel]);\n //\tRefactor panel classnames\n DOM.reClass(panel, this.conf.classNames.panel, 'mm-panel');\n DOM.reClass(panel, this.conf.classNames.nopanel, 'mm-nopanel');\n DOM.reClass(panel, this.conf.classNames.inset, 'mm-listview_inset');\n if (panel.matches('.mm-listview_inset')) {\n panel.classList.add('mm-nopanel');\n }\n //\tStop if not supposed to be a panel.\n if (panel.matches('.mm-nopanel')) {\n return null;\n }\n /** The original ID on the node. */\n var id = panel.id || uniqueId();\n // Vertical panel.\n var vertical = panel.matches('.' + this.conf.classNames.vertical) ||\n !this.opts.slidingSubmenus;\n panel.classList.remove(this.conf.classNames.vertical);\n //\tWrap UL/OL in DIV\n if (panel.matches('ul, ol')) {\n panel.removeAttribute('id');\n /** The panel. */\n var wrapper = DOM.create('div');\n //\tWrap the listview in the panel.\n panel.before(wrapper);\n wrapper.append(panel);\n panel = wrapper;\n }\n panel.id = id;\n panel.classList.add('mm-panel');\n panel.classList.add('mm-hidden');\n /** The parent listitem. */\n var parent = [panel.parentElement].filter(function (listitem) {\n return listitem.matches('li');\n })[0];\n if (vertical) {\n if (parent) {\n parent.classList.add('mm-listitem_vertical');\n }\n }\n else {\n this.node.pnls.append(panel);\n }\n if (parent) {\n //\tStore parent/child relation.\n parent['mmChild'] = panel;\n panel['mmParent'] = parent;\n //\tAdd open link to parent listitem\n if (parent && parent.matches('.mm-listitem')) {\n if (!DOM.children(parent, '.mm-btn').length) {\n /** The text node. */\n var item = DOM.children(parent, '.mm-listitem__text')[0];\n if (item) {\n /** The open link. */\n var button = DOM.create('a.mm-btn.mm-btn_next.mm-listitem__btn');\n button.setAttribute('href', '#' + panel.id);\n // If the item has no link,\n // Replace the item with the open link.\n if (item.matches('span')) {\n button.classList.add('mm-listitem__text');\n button.innerHTML = item.innerHTML;\n parent.insertBefore(button, item.nextElementSibling);\n item.remove();\n }\n // Otherwise, insert the button after the text.\n else {\n parent.insertBefore(button, DOM.children(parent, '.mm-panel')[0]);\n }\n }\n }\n }\n }\n this._initNavbar(panel);\n DOM.children(panel, 'ul, ol').forEach(function (listview) {\n _this.initListview(listview);\n });\n //\tInvoke \"after\" hook.\n this.trigger('initPanel:after', [panel]);\n return panel;\n };\n /**\n * Initialize a navbar.\n * @param {HTMLElement} panel Panel for the navbar.\n */\n Mmenu.prototype._initNavbar = function (panel) {\n //\tInvoke \"before\" hook.\n this.trigger('initNavbar:before', [panel]);\n //\tOnly one navbar per panel.\n if (DOM.children(panel, '.mm-navbar').length) {\n return;\n }\n /** The parent listitem. */\n var parentListitem = null;\n /** The parent panel. */\n var parentPanel = null;\n // The parent panel was specified in the data-mm-parent attribute.\n if (panel.dataset.mmParent) {\n parentPanel = DOM.find(this.node.pnls, panel.dataset.mmParent)[0];\n }\n // The parent panel from a listitem.\n else {\n parentListitem = panel['mmParent'];\n if (parentListitem) {\n parentPanel = parentListitem.closest('.mm-panel');\n }\n }\n // No navbar needed for vertical submenus.\n if (parentListitem && parentListitem.matches('.mm-listitem_vertical')) {\n return;\n }\n /** The navbar element. */\n var navbar = DOM.create('div.mm-navbar');\n // Hide navbar if specified in options.\n if (!this.opts.navbar.add) {\n navbar.classList.add('mm-hidden');\n }\n // Sticky navbars.\n else if (this.opts.navbar.sticky) {\n navbar.classList.add('mm-navbar_sticky');\n }\n // Add the back button.\n if (parentPanel) {\n /** The back button. */\n var prev = DOM.create('a.mm-btn.mm-btn_prev.mm-navbar__btn');\n prev.setAttribute('href', '#' + parentPanel.id);\n navbar.append(prev);\n }\n /** The anchor that opens the panel. */\n var opener = null;\n // The anchor is in a listitem.\n if (parentListitem) {\n opener = DOM.children(parentListitem, '.mm-listitem__text')[0];\n }\n // The anchor is in a panel.\n else if (parentPanel) {\n opener = DOM.find(parentPanel, 'a[href=\"#' + panel.id + '\"]')[0];\n }\n // Add the title.\n var title = DOM.create('a.mm-navbar__title');\n title.innerHTML =\n panel.dataset.mmTitle ||\n (opener ? opener.textContent : '') ||\n this.i18n(this.opts.navbar.title) ||\n this.i18n('Menu');\n switch (this.opts.navbar.titleLink) {\n case 'anchor':\n if (opener) {\n title.setAttribute('href', opener.getAttribute('href'));\n }\n break;\n case 'parent':\n if (parentPanel) {\n title.setAttribute('href', '#' + parentPanel.id);\n }\n break;\n }\n navbar.append(title);\n panel.prepend(navbar);\n //\tInvoke \"after\" hook.\n this.trigger('initNavbar:after', [panel]);\n };\n /**\n * Initialize a listview.\n * @param {HTMLElement} listview Listview to initialize.\n */\n Mmenu.prototype.initListview = function (listview) {\n var _this = this;\n //\tInvoke \"before\" hook.\n this.trigger('initListview:before', [listview]);\n DOM.reClass(listview, this.conf.classNames.nolistview, 'mm-nolistview');\n if (!listview.matches('.mm-nolistview')) {\n listview.classList.add('mm-listview');\n DOM.children(listview).forEach(function (listitem) {\n listitem.classList.add('mm-listitem');\n DOM.reClass(listitem, _this.conf.classNames.selected, 'mm-listitem_selected');\n DOM.children(listitem, 'a, span').forEach(function (item) {\n if (!item.matches('.mm-btn')) {\n item.classList.add('mm-listitem__text');\n }\n });\n });\n }\n //\tInvoke \"after\" hook.\n this.trigger('initListview:after', [listview]);\n };\n /**\n * Find and open the correct panel after creating the menu.\n */\n Mmenu.prototype._initOpened = function () {\n //\tInvoke \"before\" hook.\n this.trigger('initOpened:before');\n /** The selected listitem(s). */\n var listitems = this.node.pnls.querySelectorAll('.mm-listitem_selected');\n /** The last selected listitem. */\n var lastitem = null;\n //\tDeselect the listitems.\n listitems.forEach(function (listitem) {\n lastitem = listitem;\n listitem.classList.remove('mm-listitem_selected');\n });\n //\tRe-select the last listitem.\n if (lastitem) {\n lastitem.classList.add('mm-listitem_selected');\n }\n /**\tThe current opened panel. */\n var current = lastitem\n ? lastitem.closest('.mm-panel')\n : DOM.children(this.node.pnls, '.mm-panel')[0];\n //\tOpen the current opened panel.\n this.openPanel(current, false);\n //\tInvoke \"after\" hook.\n this.trigger('initOpened:after');\n };\n /**\n * Initialize anchors in / for the menu.\n */\n Mmenu.prototype._initAnchors = function () {\n var _this = this;\n //\tInvoke \"before\" hook.\n this.trigger('initAnchors:before');\n document.addEventListener('click', function (evnt) {\n /** The clicked element. */\n var target = evnt.target.closest('a[href]');\n if (!target) {\n return;\n }\n /** Arguments passed to the bound methods. */\n var args = {\n inMenu: target.closest('.mm-menu') === _this.node.menu,\n inListview: target.matches('.mm-listitem > a'),\n toExternal: target.matches('[rel=\"external\"]') ||\n target.matches('[target=\"_blank\"]')\n };\n var onClick = {\n close: null,\n setSelected: null,\n preventDefault: target.getAttribute('href').slice(0, 1) == '#'\n };\n //\tFind hooked behavior.\n for (var c = 0; c < _this.clck.length; c++) {\n var click = _this.clck[c].call(_this, target, args);\n if (click) {\n if (typeof click == 'boolean') {\n evnt.preventDefault();\n return;\n }\n if (type(click) == 'object') {\n onClick = extend(click, onClick);\n }\n }\n }\n //\tDefault behavior for anchors in lists.\n if (args.inMenu && args.inListview && !args.toExternal) {\n //\tSet selected item, Default: true\n if (valueOrFn(target, _this.opts.onClick.setSelected, onClick.setSelected)) {\n _this.setSelected(target.parentElement);\n }\n //\tPrevent default / don't follow link. Default: false.\n if (valueOrFn(target, _this.opts.onClick.preventDefault, onClick.preventDefault)) {\n evnt.preventDefault();\n }\n //\tClose menu. Default: false\n if (valueOrFn(target, _this.opts.onClick.close, onClick.close)) {\n if (_this.opts.offCanvas &&\n typeof _this.close == 'function') {\n _this.close();\n }\n }\n }\n }, true);\n //\tInvoke \"after\" hook.\n this.trigger('initAnchors:after');\n };\n /**\n * Get the translation for a text.\n * @param {string} text \tText to translate.\n * @return {string}\t\t\tThe translated text.\n */\n Mmenu.prototype.i18n = function (text) {\n return i18n.get(text, this.conf.language);\n };\n /**\tPlugin version. */\n Mmenu.version = version;\n /**\tDefault options for menus. */\n Mmenu.options = options;\n /**\tDefault configuration for menus. */\n Mmenu.configs = configs;\n /**\tAvailable add-ons for the plugin. */\n Mmenu.addons = {};\n /** Available wrappers for the plugin. */\n Mmenu.wrappers = {};\n /**\tGlobally used HTML elements. */\n Mmenu.node = {};\n /** Globally used variables. */\n Mmenu.vars = {};\n return Mmenu;\n}());\nexport default Mmenu;\n","var options = {\n blockUI: true,\n moveBackground: true\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n;\n","var configs = {\n clone: false,\n menu: {\n insertMethod: 'prepend',\n insertSelector: 'body'\n },\n page: {\n nodetype: 'div',\n selector: null,\n noSelector: []\n }\n};\nexport default configs;\n","/**\n * Make the first letter in a word uppercase.\n * @param {string} word The word.\n */\nfunction ucFirst(word) {\n if (!word) {\n return '';\n }\n return word.charAt(0).toUpperCase() + word.slice(1);\n}\n/**\n * Bind an event listener to an element.\n * @param {HTMLElement} element The element to bind the event listener to.\n * @param {string} evnt The event to listen to.\n * @param {funcion} handler The function to invoke.\n */\nexport function on(element, evnt, handler) {\n // Extract the event name and space from the event (the event can include a namespace (click.foo)).\n var evntParts = evnt.split('.');\n evnt = 'mmEvent' + ucFirst(evntParts[0]) + ucFirst(evntParts[1]);\n element[evnt] = element[evnt] || [];\n element[evnt].push(handler);\n element.addEventListener(evntParts[0], handler);\n}\n/**\n * Remove an event listener from an element.\n * @param {HTMLElement} element The element to remove the event listeners from.\n * @param {string} evnt The event to remove.\n */\nexport function off(element, evnt) {\n // Extract the event name and space from the event (the event can include a namespace (click.foo)).\n var evntParts = evnt.split('.');\n evnt = 'mmEvent' + ucFirst(evntParts[0]) + ucFirst(evntParts[1]);\n (element[evnt] || []).forEach(function (handler) {\n element.removeEventListener(evntParts[0], handler);\n });\n}\n/**\n * Trigger the bound event listeners on an element.\n * @param {HTMLElement} element The element of which to trigger the event listeners from.\n * @param {string} evnt The event to trigger.\n * @param {object} [options] Options to pass to the handler.\n */\nexport function trigger(element, evnt, options) {\n var evntParts = evnt.split('.');\n evnt = 'mmEvent' + ucFirst(evntParts[0]) + ucFirst(evntParts[1]);\n (element[evnt] || []).forEach(function (handler) {\n handler(options || {});\n });\n}\n","import Mmenu from './../oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport configs from './_configs';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport * as events from '../../_modules/eventlisteners';\nimport { extend, transitionend, uniqueId, originalId } from '../../_modules/helpers';\n// Add the options and configs.\nMmenu.options.offCanvas = options;\nMmenu.configs.offCanvas = configs;\nexport default function () {\n var _this = this;\n if (!this.opts.offCanvas) {\n return;\n }\n var options = extendShorthandOptions(this.opts.offCanvas);\n this.opts.offCanvas = extend(options, Mmenu.options.offCanvas);\n var configs = this.conf.offCanvas;\n //\tAdd methods to the API.\n this._api.push('open', 'close', 'setPage');\n //\tSetup the menu.\n this.vars.opened = false;\n //\tAdd off-canvas behavior.\n this.bind('initMenu:before', function () {\n //\tClone if needed.\n if (configs.clone) {\n //\tClone the original menu and store it.\n _this.node.menu = _this.node.menu.cloneNode(true);\n //\tPrefix all ID's in the cloned menu.\n if (_this.node.menu.id) {\n _this.node.menu.id = 'mm-' + _this.node.menu.id;\n }\n DOM.find(_this.node.menu, '[id]').forEach(function (elem) {\n elem.id = 'mm-' + elem.id;\n });\n }\n _this.node.wrpr = document.body;\n //\tPrepend to the \n document\n .querySelector(configs.menu.insertSelector)[configs.menu.insertMethod](_this.node.menu);\n });\n this.bind('initMenu:after', function () {\n //\tSetup the UI blocker.\n initBlocker.call(_this);\n //\tSetup the page.\n _this.setPage(Mmenu.node.page);\n //\tSetup window events.\n initWindow.call(_this);\n //\tSetup the menu.\n _this.node.menu.classList.add('mm-menu_offcanvas');\n //\tOpen if url hash equals menu id (usefull when user clicks the hamburger icon before the menu is created)\n var hash = window.location.hash;\n if (hash) {\n var id = originalId(_this.node.menu.id);\n if (id && id == hash.slice(1)) {\n setTimeout(function () {\n _this.open();\n }, 1000);\n }\n }\n });\n //\tSync the blocker to target the page.\n this.bind('setPage:after', function (page) {\n if (Mmenu.node.blck) {\n DOM.children(Mmenu.node.blck, 'a').forEach(function (anchor) {\n anchor.setAttribute('href', '#' + page.id);\n });\n }\n });\n //\tAdd screenreader / aria support\n this.bind('open:start:sr-aria', function () {\n Mmenu.sr_aria(_this.node.menu, 'hidden', false);\n });\n this.bind('close:finish:sr-aria', function () {\n Mmenu.sr_aria(_this.node.menu, 'hidden', true);\n });\n this.bind('initMenu:after:sr-aria', function () {\n Mmenu.sr_aria(_this.node.menu, 'hidden', true);\n });\n //\tAdd screenreader / text support\n this.bind('initBlocker:after:sr-text', function () {\n DOM.children(Mmenu.node.blck, 'a').forEach(function (anchor) {\n anchor.innerHTML = Mmenu.sr_text(_this.i18n(_this.conf.screenReader.text.closeMenu));\n });\n });\n //\tAdd click behavior.\n //\tPrevents default behavior when clicking an anchor\n this.clck.push(function (anchor, args) {\n //\tOpen menu if the clicked anchor links to the menu\n var id = originalId(_this.node.menu.id);\n if (id) {\n if (anchor.matches('[href=\"#' + id + '\"]')) {\n //\tOpening this menu from within this menu\n //\t\t-> Open menu\n if (args.inMenu) {\n _this.open();\n return true;\n }\n //\tOpening this menu from within a second menu\n //\t\t-> Close the second menu before opening this menu\n var menu = anchor.closest('.mm-menu');\n if (menu) {\n var api = menu['mmApi'];\n if (api && api.close) {\n api.close();\n transitionend(menu, function () {\n _this.open();\n }, _this.conf.transitionDuration);\n return true;\n }\n }\n //\tOpening this menu\n _this.open();\n return true;\n }\n }\n //\tClose menu\n id = Mmenu.node.page.id;\n if (id) {\n if (anchor.matches('[href=\"#' + id + '\"]')) {\n _this.close();\n return true;\n }\n }\n return;\n });\n}\n/**\n * Open the menu.\n */\nMmenu.prototype.open = function () {\n var _this = this;\n //\tInvoke \"before\" hook.\n this.trigger('open:before');\n if (this.vars.opened) {\n return;\n }\n this._openSetup();\n //\tWithout the timeout, the animation won't work because the menu had display: none;\n setTimeout(function () {\n _this._openStart();\n }, this.conf.openingInterval);\n //\tInvoke \"after\" hook.\n this.trigger('open:after');\n};\nMmenu.prototype._openSetup = function () {\n var _this = this;\n var options = this.opts.offCanvas;\n //\tClose other menus\n this.closeAllOthers();\n //\tStore style and position\n Mmenu.node.page['mmStyle'] = Mmenu.node.page.getAttribute('style') || '';\n //\tTrigger window-resize to measure height\n events.trigger(window, 'resize.page', { force: true });\n var clsn = ['mm-wrapper_opened'];\n //\tAdd options\n if (options.blockUI) {\n clsn.push('mm-wrapper_blocking');\n }\n if (options.blockUI == 'modal') {\n clsn.push('mm-wrapper_modal');\n }\n if (options.moveBackground) {\n clsn.push('mm-wrapper_background');\n }\n // IE11:\n clsn.forEach(function (classname) {\n _this.node.wrpr.classList.add(classname);\n });\n // Better browsers:\n // this.node.wrpr.classList.add(...clsn);\n //\tOpen\n //\tWithout the timeout, the animation won't work because the menu had display: none;\n setTimeout(function () {\n _this.vars.opened = true;\n }, this.conf.openingInterval);\n this.node.menu.classList.add('mm-menu_opened');\n};\n/**\n * Finish opening the menu.\n */\nMmenu.prototype._openStart = function () {\n var _this = this;\n //\tCallback when the page finishes opening.\n transitionend(Mmenu.node.page, function () {\n _this.trigger('open:finish');\n }, this.conf.transitionDuration);\n //\tOpening\n this.trigger('open:start');\n this.node.wrpr.classList.add('mm-wrapper_opening');\n};\nMmenu.prototype.close = function () {\n var _this = this;\n //\tInvoke \"before\" hook.\n this.trigger('close:before');\n if (!this.vars.opened) {\n return;\n }\n //\tCallback when the page finishes closing.\n transitionend(Mmenu.node.page, function () {\n _this.node.menu.classList.remove('mm-menu_opened');\n var classnames = [\n 'mm-wrapper_opened',\n 'mm-wrapper_blocking',\n 'mm-wrapper_modal',\n 'mm-wrapper_background'\n ];\n // IE11:\n classnames.forEach(function (classname) {\n _this.node.wrpr.classList.remove(classname);\n });\n // Better browsers:\n // this.node.wrpr.classList.remove(...classnames);\n //\tRestore style and position\n Mmenu.node.page.setAttribute('style', Mmenu.node.page['mmStyle']);\n _this.vars.opened = false;\n _this.trigger('close:finish');\n }, this.conf.transitionDuration);\n //\tClosing\n this.trigger('close:start');\n this.node.wrpr.classList.remove('mm-wrapper_opening');\n //\tInvoke \"after\" hook.\n this.trigger('close:after');\n};\n/**\n * Close all other menus.\n */\nMmenu.prototype.closeAllOthers = function () {\n var _this = this;\n DOM.find(document.body, '.mm-menu_offcanvas').forEach(function (menu) {\n if (menu !== _this.node.menu) {\n var api = menu['mmApi'];\n if (api && api.close) {\n api.close();\n }\n }\n });\n};\n/**\n * Set the \"page\" node.\n *\n * @param {HTMLElement} page Element to set as the page.\n */\nMmenu.prototype.setPage = function (page) {\n //\tInvoke \"before\" hook.\n this.trigger('setPage:before', [page]);\n var configs = this.conf.offCanvas;\n //\tIf no page was specified, find it.\n if (!page) {\n /** Array of elements that are / could be \"the page\". */\n var pages = typeof configs.page.selector == 'string'\n ? DOM.find(document.body, configs.page.selector)\n : DOM.children(document.body, configs.page.nodetype);\n //\tFilter out elements that are absolutely not \"the page\".\n pages = pages.filter(function (page) { return !page.matches('.mm-menu, .mm-wrapper__blocker'); });\n //\tFilter out elements that are configured to not be \"the page\".\n if (configs.page.noSelector.length) {\n pages = pages.filter(function (page) { return !page.matches(configs.page.noSelector.join(', ')); });\n }\n //\tWrap multiple pages in a single element.\n if (pages.length > 1) {\n var wrapper_1 = DOM.create('div');\n pages[0].before(wrapper_1);\n pages.forEach(function (page) {\n wrapper_1.append(page);\n });\n pages = [wrapper_1];\n }\n page = pages[0];\n }\n page.classList.add('mm-page');\n page.classList.add('mm-slideout');\n page.id = page.id || uniqueId();\n Mmenu.node.page = page;\n //\tInvoke \"after\" hook.\n this.trigger('setPage:after', [page]);\n};\n/**\n * Initialize the window.\n */\nvar initWindow = function () {\n var _this = this;\n //\tPrevent tabbing\n //\tBecause when tabbing outside the menu, the element that gains focus will be centered on the screen.\n //\tIn other words: The menu would move out of view.\n events.off(document.body, 'keydown.tabguard');\n events.on(document.body, 'keydown.tabguard', function (evnt) {\n if (evnt.keyCode == 9) {\n if (_this.node.wrpr.matches('.mm-wrapper_opened')) {\n evnt.preventDefault();\n }\n }\n });\n};\n/**\n * Initialize \"blocker\" node\n */\nvar initBlocker = function () {\n var _this = this;\n //\tInvoke \"before\" hook.\n this.trigger('initBlocker:before');\n var options = this.opts.offCanvas, configs = this.conf.offCanvas;\n if (!options.blockUI) {\n return;\n }\n //\tCreate the blocker node.\n if (!Mmenu.node.blck) {\n var blck = DOM.create('div.mm-wrapper__blocker.mm-slideout');\n blck.innerHTML = '';\n //\tAppend the blocker node to the body.\n document.querySelector(configs.menu.insertSelector).append(blck);\n //\tStore the blocker node.\n Mmenu.node.blck = blck;\n }\n //\tClose the menu when\n //\t\t1) clicking,\n //\t\t2) touching or\n //\t\t3) dragging the blocker node.\n var closeMenu = function (evnt) {\n evnt.preventDefault();\n evnt.stopPropagation();\n if (!_this.node.wrpr.matches('.mm-wrapper_modal')) {\n _this.close();\n }\n };\n Mmenu.node.blck.addEventListener('mousedown', closeMenu); // 1\n Mmenu.node.blck.addEventListener('touchstart', closeMenu); // 2\n Mmenu.node.blck.addEventListener('touchmove', closeMenu); // 3\n //\tInvoke \"after\" hook.\n this.trigger('initBlocker:after');\n};\n","var options = {\n aria: true,\n text: true\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n aria: options,\n text: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n;\n","var configs = {\n text: {\n closeMenu: 'Close menu',\n closeSubmenu: 'Close submenu',\n openSubmenu: 'Open submenu',\n toggleSubmenu: 'Toggle submenu'\n }\n};\nexport default configs;\n","export default {\n 'Close menu': 'بستن منو',\n 'Close submenu': 'بستن زیرمنو',\n 'Open submenu': 'بازکردن زیرمنو',\n 'Toggle submenu': 'سوییچ زیرمنو'\n};\n","export default {\n 'Close menu': 'Menü schließen',\n 'Close submenu': 'Untermenü schließen',\n 'Open submenu': 'Untermenü öffnen',\n 'Toggle submenu': 'Untermenü wechseln'\n};\n","export default {\n 'Close menu': 'Закрыть меню',\n 'Close submenu': 'Закрыть подменю',\n 'Open submenu': 'Открыть подменю',\n 'Toggle submenu': 'Переключить подменю'\n};\n","import { add } from '../../../_modules/i18n';\nimport nl from './nl';\nimport fa from './fa';\nimport de from './de';\nimport ru from './ru';\nexport default function () {\n add(nl, 'nl');\n add(fa, 'fa');\n add(de, 'de');\n add(ru, 'ru');\n}\n","export default {\n 'Close menu': 'Menu sluiten',\n 'Close submenu': 'Submenu sluiten',\n 'Open submenu': 'Submenu openen',\n 'Toggle submenu': 'Submenu wisselen'\n};\n","import Mmenu from './../oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport configs from './_configs';\nimport translate from './translations/translate';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport { extend } from '../../_modules/helpers';\n// Add the translations.\ntranslate();\n// Add the options and configs.\nMmenu.options.screenReader = options;\nMmenu.configs.screenReader = configs;\nexport default function () {\n var _this = this;\n //\tExtend options.\n var options = extendShorthandOptions(this.opts.screenReader);\n this.opts.screenReader = extend(options, Mmenu.options.screenReader);\n //\tExtend configs.\n var configs = this.conf.screenReader;\n //\tAdd Aria-* attributes\n if (options.aria) {\n //\tAdd screenreader / aria hooks for add-ons\n //\tIn orde to keep this list short, only extend hooks that are actually used by other add-ons.\n this.bind('initAddons:after', function () {\n _this.bind('initMenu:after', function () {\n this.trigger('initMenu:after:sr-aria', [].slice.call(arguments));\n });\n _this.bind('initNavbar:after', function () {\n this.trigger('initNavbar:after:sr-aria', [].slice.call(arguments));\n });\n _this.bind('openPanel:start', function () {\n this.trigger('openPanel:start:sr-aria', [].slice.call(arguments));\n });\n _this.bind('close:start', function () {\n this.trigger('close:start:sr-aria', [].slice.call(arguments));\n });\n _this.bind('close:finish', function () {\n this.trigger('close:finish:sr-aria', [].slice.call(arguments));\n });\n _this.bind('open:start', function () {\n this.trigger('open:start:sr-aria', [].slice.call(arguments));\n });\n _this.bind('initOpened:after', function () {\n this.trigger('initOpened:after:sr-aria', [].slice.call(arguments));\n });\n });\n //\tUpdate aria-hidden for hidden / visible listitems\n this.bind('updateListview', function () {\n _this.node.pnls\n .querySelectorAll('.mm-listitem')\n .forEach(function (listitem) {\n Mmenu.sr_aria(listitem, 'hidden', listitem.matches('.mm-hidden'));\n });\n });\n //\tUpdate aria-hidden for the panels when opening and closing a panel.\n this.bind('openPanel:start', function (panel) {\n /** Panels that should be considered \"hidden\". */\n var hidden = DOM.find(_this.node.pnls, '.mm-panel')\n .filter(function (hide) { return hide !== panel; })\n .filter(function (hide) { return !hide.parentElement.matches('.mm-panel'); });\n /** Panels that should be considered \"visible\". */\n var visible = [panel];\n DOM.find(panel, '.mm-listitem_vertical .mm-listitem_opened').forEach(function (listitem) {\n visible.push.apply(visible, DOM.children(listitem, '.mm-panel'));\n });\n //\tSet the panels to be considered \"hidden\" or \"visible\".\n hidden.forEach(function (panel) {\n Mmenu.sr_aria(panel, 'hidden', true);\n });\n visible.forEach(function (panel) {\n Mmenu.sr_aria(panel, 'hidden', false);\n });\n });\n this.bind('closePanel', function (panel) {\n Mmenu.sr_aria(panel, 'hidden', true);\n });\n //\tAdd aria-haspopup and aria-owns to prev- and next buttons.\n this.bind('initPanel:after', function (panel) {\n DOM.find(panel, '.mm-btn').forEach(function (button) {\n Mmenu.sr_aria(button, 'haspopup', true);\n var href = button.getAttribute('href');\n if (href) {\n Mmenu.sr_aria(button, 'owns', href.replace('#', ''));\n }\n });\n });\n //\tAdd aria-hidden for navbars in panels.\n this.bind('initNavbar:after', function (panel) {\n /** The navbar in the panel. */\n var navbar = DOM.children(panel, '.mm-navbar')[0];\n /** Whether or not the navbar should be considered \"hidden\". */\n var hidden = navbar.matches('.mm-hidden');\n //\tSet the navbar to be considered \"hidden\" or \"visible\".\n Mmenu.sr_aria(navbar, 'hidden', hidden);\n });\n //\tText\n if (options.text) {\n //\tAdd aria-hidden to titles in navbars\n if (this.opts.navbar.titleLink == 'parent') {\n this.bind('initNavbar:after', function (panel) {\n /** The navbar in the panel. */\n var navbar = DOM.children(panel, '.mm-navbar')[0];\n /** Whether or not the navbar should be considered \"hidden\". */\n var hidden = navbar.querySelector('.mm-btn_prev')\n ? true\n : false;\n //\tSet the navbar-title to be considered \"hidden\" or \"visible\".\n Mmenu.sr_aria(DOM.find(navbar, '.mm-navbar__title')[0], 'hidden', hidden);\n });\n }\n }\n }\n //\tAdd screenreader text\n if (options.text) {\n //\tAdd screenreader / text hooks for add-ons\n //\tIn orde to keep this list short, only extend hooks that are actually used by other add-ons.\n this.bind('initAddons:after', function () {\n _this.bind('setPage:after', function () {\n this.trigger('setPage:after:sr-text', [].slice.call(arguments));\n });\n _this.bind('initBlocker:after', function () {\n this.trigger('initBlocker:after:sr-text', [].slice.call(arguments));\n });\n });\n //\tAdd text to the prev-buttons.\n this.bind('initNavbar:after', function (panel) {\n var navbar = DOM.children(panel, '.mm-navbar')[0];\n if (navbar) {\n var button = DOM.children(navbar, '.mm-btn_prev')[0];\n if (button) {\n button.innerHTML = Mmenu.sr_text(_this.i18n(configs.text.closeSubmenu));\n }\n }\n });\n //\tAdd text to the next-buttons.\n this.bind('initListview:after', function (listview) {\n var parent = listview.closest('.mm-panel')['mmParent'];\n if (parent) {\n var next = DOM.children(parent, '.mm-btn_next')[0];\n if (next) {\n var text = _this.i18n(configs.text[next.parentElement.matches('.mm-listitem_vertical')\n ? 'toggleSubmenu'\n : 'openSubmenu']);\n next.innerHTML += Mmenu.sr_text(text);\n }\n }\n });\n }\n}\n//\tMethods\n(function () {\n var attr = function (element, attr, value) {\n element[attr] = value;\n if (value) {\n element.setAttribute(attr, value.toString());\n }\n else {\n element.removeAttribute(attr);\n }\n };\n /**\n * Add aria (property and) attribute to a HTML element.\n *\n * @param {HTMLElement} \telement\tThe node to add the attribute to.\n * @param {string}\t\t\tname\tThe (non-aria-prefixed) attribute name.\n * @param {string|boolean}\tvalue\tThe attribute value.\n */\n Mmenu.sr_aria = function (element, name, value) {\n attr(element, 'aria-' + name, value);\n };\n /**\n * Add role attribute to a HTML element.\n *\n * @param {HTMLElement}\t\telement\tThe node to add the attribute to.\n * @param {string|boolean}\tvalue\tThe attribute value.\n */\n Mmenu.sr_role = function (element, value) {\n attr(element, 'role', value);\n };\n /**\n * Wrap a text in a screen-reader-only node.\n *\n * @param \t{string} text\tThe text to wrap.\n * @return\t{string}\t\tThe wrapped text.\n */\n Mmenu.sr_text = function (text) {\n return '' + text + '';\n };\n})();\n","var options = {\n fix: true\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n fix: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n;\n","/** Whether or not touch gestures are supported by the browser. */\nexport var touch = 'ontouchstart' in window ||\n (navigator.msMaxTouchPoints ? true : false) ||\n false;\n","import Mmenu from './../oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport * as support from '../../_modules/support';\nimport { extend, touchDirection } from '../../_modules/helpers';\n// Add the options.\nMmenu.options.scrollBugFix = options;\nexport default function () {\n var _this = this;\n //\tThe scrollBugFix add-on fixes a scrolling bug\n //\t\t1) on touch devices\n //\t\t2) in an off-canvas menu\n //\t\t3) that -when opened- blocks the UI from interaction\n if (!support.touch || // 1\n !this.opts.offCanvas || // 2\n !this.opts.offCanvas.blockUI // 3\n ) {\n return;\n }\n //\tExtend options.\n var options = extendShorthandOptions(this.opts.scrollBugFix);\n this.opts.scrollBugFix = extend(options, Mmenu.options.scrollBugFix);\n if (!options.fix) {\n return;\n }\n var touchDir = touchDirection(this.node.menu);\n /**\n * Prevent an event from doing its default and stop its propagation.\n * @param {ScrollBehavior} evnt The event to stop.\n */\n function stop(evnt) {\n evnt.preventDefault();\n evnt.stopPropagation();\n }\n // Prevent the page from scrolling when scrolling in the menu.\n this.node.menu.addEventListener('scroll', stop, {\n // Make sure to tell the browser the event will be prevented.\n passive: false\n });\n // Prevent the page from scrolling when dragging in the menu.\n this.node.menu.addEventListener('touchmove', function (evnt) {\n var panel = evnt.target.closest('.mm-panel');\n if (panel) {\n // When dragging a non-scrollable panel,\n // we can simple preventDefault and stopPropagation.\n if (panel.scrollHeight === panel.offsetHeight) {\n stop(evnt);\n }\n // When dragging a scrollable panel,\n // that is fully scrolled up (or down).\n // It will not trigger the scroll event when dragging down (or up) (because you can't scroll up (or down)),\n // so we need to match the dragging direction with the scroll position before preventDefault and stopPropagation,\n // otherwise the panel would not scroll at all in any direction.\n else if (\n // When scrolled up and dragging down\n (panel.scrollTop == 0 && touchDir.get() == 'down') ||\n // When scrolled down and dragging up\n (panel.scrollHeight ==\n panel.scrollTop + panel.offsetHeight &&\n touchDir.get() == 'up')) {\n stop(evnt);\n }\n // When dragging anything other than a panel.\n }\n else {\n stop(evnt);\n }\n }, {\n // Make sure to tell the browser the event can be prevented.\n passive: false\n });\n // Some small additional improvements\n //\tScroll the current opened panel to the top when opening the menu.\n this.bind('open:start', function () {\n var panel = DOM.children(_this.node.pnls, '.mm-panel_opened')[0];\n panel.scrollTop = 0;\n });\n //\tFix issue after device rotation change.\n window.addEventListener('orientationchange', function (evnt) {\n var panel = DOM.children(_this.node.pnls, '.mm-panel_opened')[0];\n panel.scrollTop = 0;\n //\tApparently, changing the overflow-scrolling property triggers some event :)\n panel.style['-webkit-overflow-scrolling'] = 'auto';\n panel.style['-webkit-overflow-scrolling'] = 'touch';\n });\n}\n","var opts = {\n height: 'default'\n};\nexport default opts;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean' && options) {\n options = {\n height: 'auto'\n };\n }\n if (typeof options == 'string') {\n options = {\n height: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n;\n","import Mmenu from './../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport { extend } from '../../_modules/helpers';\n//\tAdd the options.\nMmenu.options.autoHeight = options;\nexport default function () {\n var _this = this;\n var options = extendShorthandOptions(this.opts.autoHeight);\n this.opts.autoHeight = extend(options, Mmenu.options.autoHeight);\n if (options.height != 'auto' && options.height != 'highest') {\n return;\n }\n var setHeight = (function () {\n var getCurrent = function () {\n var panel = DOM.children(_this.node.pnls, '.mm-panel_opened')[0];\n if (panel) {\n panel = measurablePanel(panel);\n }\n //\tFallback, just to be sure we have a panel.\n if (!panel) {\n panel = DOM.children(_this.node.pnls, '.mm-panel')[0];\n }\n return panel.scrollHeight;\n };\n var getHighest = function () {\n var highest = 0;\n DOM.children(_this.node.pnls, '.mm-panel').forEach(function (panel) {\n panel = measurablePanel(panel);\n highest = Math.max(highest, panel.scrollHeight);\n });\n return highest;\n };\n var measurablePanel = function (panel) {\n //\tIf it's a vertically expanding panel...\n if (panel.parentElement.matches('.mm-listitem_vertical')) {\n //\t...find the first parent panel that isn't.\n panel = DOM.parents(panel, '.mm-panel').filter(function (panel) {\n return !panel.parentElement.matches('.mm-listitem_vertical');\n })[0];\n }\n return panel;\n };\n return function () {\n if (_this.opts.offCanvas && !_this.vars.opened) {\n return;\n }\n var _hgh = 0;\n var _dif = _this.node.menu.offsetHeight - _this.node.pnls.offsetHeight;\n //\tThe \"measuring\" classname undoes some CSS to be able to measure the height.\n _this.node.menu.classList.add('mm-menu_autoheight-measuring');\n //\tMeasure the height.\n if (options.height == 'auto') {\n _hgh = getCurrent();\n }\n else if (options.height == 'highest') {\n _hgh = getHighest();\n }\n //\tSet the height.\n _this.node.menu.style.height = _hgh + _dif + 'px';\n //\tRemove the \"measuring\" classname.\n _this.node.menu.classList.remove('mm-menu_autoheight-measuring');\n };\n })();\n //\tAdd the autoheight class to the menu.\n this.bind('initMenu:after', function () {\n _this.node.menu.classList.add('mm-menu_autoheight');\n });\n if (this.opts.offCanvas) {\n //\tMeasure the height when opening the off-canvas menu.\n this.bind('open:start', setHeight);\n }\n if (options.height == 'highest') {\n //\tMeasure the height when initiating panels.\n this.bind('initPanels:after', setHeight);\n }\n if (options.height == 'auto') {\n //\tMeasure the height when updating listviews.\n this.bind('updateListview', setHeight);\n //\tMeasure the height when opening a panel.\n this.bind('openPanel:start', setHeight);\n }\n}\n","var options = {\n close: false,\n open: false\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n close: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n;\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport { extend } from '../../_modules/helpers';\n//\tAdd the options.\nMmenu.options.backButton = options;\nexport default function () {\n var _this = this;\n if (!this.opts.offCanvas) {\n return;\n }\n var options = extendShorthandOptions(this.opts.backButton);\n this.opts.backButton = extend(options, Mmenu.options.backButton);\n var _menu = '#' + this.node.menu.id;\n //\tClose menu\n if (options.close) {\n var states = [];\n var setStates = function () {\n states = [_menu];\n DOM.children(_this.node.pnls, '.mm-panel_opened, .mm-panel_opened-parent').forEach(function (panel) {\n states.push('#' + panel.id);\n });\n };\n this.bind('open:finish', function () {\n history.pushState(null, document.title, _menu);\n });\n this.bind('open:finish', setStates);\n this.bind('openPanel:finish', setStates);\n this.bind('close:finish', function () {\n states = [];\n history.back();\n history.pushState(null, document.title, location.pathname + location.search);\n });\n window.addEventListener('popstate', function (evnt) {\n if (_this.vars.opened) {\n if (states.length) {\n states = states.slice(0, -1);\n var hash = states[states.length - 1];\n if (hash == _menu) {\n _this.close();\n }\n else {\n _this.openPanel(_this.node.menu.querySelector(hash));\n history.pushState(null, document.title, _menu);\n }\n }\n }\n });\n }\n if (options.open) {\n window.addEventListener('popstate', function (evnt) {\n if (!_this.vars.opened && location.hash == _menu) {\n _this.open();\n }\n });\n }\n}\n","var options = {\n add: false,\n visible: {\n min: 1,\n max: 3\n }\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n add: options\n };\n }\n if (typeof options == 'number') {\n options = {\n add: true,\n visible: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n if (typeof options.visible == 'number') {\n options.visible = {\n min: options.visible,\n max: options.visible\n };\n }\n return options;\n}\n;\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport { extend } from '../../_modules/helpers';\n//\tAdd the options.\nMmenu.options.columns = options;\nexport default function () {\n var _this = this;\n var options = extendShorthandOptions(this.opts.columns);\n this.opts.columns = extend(options, Mmenu.options.columns);\n //\tAdd the columns\n if (options.add) {\n options.visible.min = Math.max(1, Math.min(6, options.visible.min));\n options.visible.max = Math.max(options.visible.min, Math.min(6, options.visible.max));\n /** Columns related clasnames for the menu. */\n var colm = [];\n /** Columns related clasnames for the panels. */\n var colp = [];\n /** Classnames to remove from panels in favor of showing columns. */\n var rmvc = [\n 'mm-panel_opened',\n 'mm-panel_opened-parent',\n 'mm-panel_highest'\n ];\n for (var i = 0; i <= options.visible.max; i++) {\n colm.push('mm-menu_columns-' + i);\n colp.push('mm-panel_columns-' + i);\n }\n rmvc.push.apply(rmvc, colp);\n //\tClose all later opened panels\n this.bind('openPanel:before', function (panel) {\n /** The parent panel. */\n var parent;\n if (panel) {\n parent = panel['mmParent'];\n }\n if (!parent) {\n return;\n }\n parent = parent.closest('.mm-panel');\n if (!parent) {\n return;\n }\n var classname = parent.className;\n if (!classname.length) {\n return;\n }\n classname = classname.split('mm-panel_columns-')[1];\n if (!classname) {\n return;\n }\n var colnr = parseInt(classname.split(' ')[0], 10) + 1;\n while (colnr > 0) {\n panel = DOM.children(_this.node.pnls, '.mm-panel_columns-' + colnr)[0];\n if (panel) {\n colnr++;\n panel.classList.add('mm-hidden');\n // IE11:\n rmvc.forEach(function (classname) {\n panel.classList.remove(classname);\n });\n // Better browsers:\n // panel.classList.remove(...rmvc);\n }\n else {\n colnr = -1;\n break;\n }\n }\n });\n this.bind('openPanel:start', function (panel) {\n var columns = DOM.children(_this.node.pnls, '.mm-panel_opened-parent').length;\n if (!panel.matches('.mm-panel_opened-parent')) {\n columns++;\n }\n columns = Math.min(options.visible.max, Math.max(options.visible.min, columns));\n // IE11:\n colm.forEach(function (classname) {\n _this.node.menu.classList.remove(classname);\n });\n // Better browsers:\n // this.node.menu.classList.remove(...colm);\n _this.node.menu.classList.add('mm-menu_columns-' + columns);\n var panels = [];\n DOM.children(_this.node.pnls, '.mm-panel').forEach(function (panel) {\n // IE11:\n colp.forEach(function (classname) {\n panel.classList.remove(classname);\n });\n // Better browsers:\n // panel.classList.remove(...colp);\n if (panel.matches('.mm-panel_opened-parent')) {\n panels.push(panel);\n }\n });\n panels.push(panel);\n panels.slice(-options.visible.max).forEach(function (panel, p) {\n panel.classList.add('mm-panel_columns-' + p);\n });\n });\n }\n}\n","var options = {\n add: false,\n addTo: 'panels',\n count: false\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n add: options,\n addTo: 'panels',\n count: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n if (options.addTo == 'panels') {\n options.addTo = '.mm-listview';\n }\n return options;\n}\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport { extend } from '../../_modules/helpers';\n//\tAdd the options.\nMmenu.options.counters = options;\n//\tAdd the classnames.\nMmenu.configs.classNames.counters = {\n counter: 'Counter'\n};\nexport default function () {\n var _this = this;\n var options = extendShorthandOptions(this.opts.counters);\n this.opts.counters = extend(options, Mmenu.options.counters);\n //\tRefactor counter class\n this.bind('initListview:after', function (listview) {\n var cntrclss = _this.conf.classNames.counters.counter, counters = DOM.find(listview, '.' + cntrclss);\n counters.forEach(function (counter) {\n DOM.reClass(counter, cntrclss, 'mm-counter');\n });\n });\n //\tAdd the counters after a listview is initiated.\n if (options.add) {\n this.bind('initListview:after', function (listview) {\n if (!listview.matches(options.addTo)) {\n return;\n }\n var parent = listview.closest('.mm-panel')['mmParent'];\n if (parent) {\n //\tCheck if no counter already excists.\n if (!DOM.find(parent, '.mm-counter').length) {\n var btn = DOM.children(parent, '.mm-btn')[0];\n if (btn) {\n btn.prepend(DOM.create('span.mm-counter'));\n }\n }\n }\n });\n }\n if (options.count) {\n var count = function (listview) {\n var panels = listview\n ? [listview.closest('.mm-panel')]\n : DOM.children(_this.node.pnls, '.mm-panel');\n panels.forEach(function (panel) {\n var parent = panel['mmParent'];\n if (!parent) {\n return;\n }\n var counter = DOM.find(parent, '.mm-counter')[0];\n if (!counter) {\n return;\n }\n var listitems = [];\n DOM.children(panel, '.mm-listview').forEach(function (listview) {\n listitems.push.apply(listitems, DOM.children(listview));\n });\n counter.innerHTML = DOM.filterLI(listitems).length.toString();\n });\n };\n this.bind('initListview:after', count);\n this.bind('updateListview', count);\n }\n}\n","var options = {\n add: false,\n addTo: 'panels'\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n add: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n if (options.addTo == 'panels') {\n options.addTo = '.mm-listview';\n }\n return options;\n}\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport { extend } from '../../_modules/helpers';\n//\tAdd the options.\nMmenu.options.dividers = options;\n// Add the classnames.\nMmenu.configs.classNames.divider = 'Divider';\nexport default function () {\n var _this = this;\n var options = extendShorthandOptions(this.opts.dividers);\n this.opts.dividers = extend(options, Mmenu.options.dividers);\n //\tRefactor divider classname\n this.bind('initListview:after', function (listview) {\n DOM.children(listview).forEach(function (listitem) {\n DOM.reClass(listitem, _this.conf.classNames.divider, 'mm-divider');\n if (listitem.matches('.mm-divider')) {\n listitem.classList.remove('mm-listitem');\n }\n });\n });\n //\tAdd dividers\n if (options.add) {\n this.bind('initListview:after', function (listview) {\n if (!listview.matches(options.addTo)) {\n return;\n }\n DOM.find(listview, '.mm-divider').forEach(function (divider) {\n divider.remove();\n });\n var lastletter = '', listitems = DOM.children(listview);\n DOM.filterLI(listitems).forEach(function (listitem) {\n var letter = DOM.children(listitem, '.mm-listitem__text')[0]\n .textContent.trim()\n .toLowerCase()[0];\n if (letter.length && letter != lastletter) {\n lastletter = letter;\n var divider = DOM.create('li.mm-divider');\n divider.textContent = letter;\n listview.insertBefore(divider, listitem);\n }\n });\n });\n }\n}\n","var options = {\n open: false,\n node: null\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n open: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n","/** Whether or not touch gestures are supported by the browser. */\nexport var touch = 'ontouchstart' in window ||\n (navigator.msMaxTouchPoints ? true : false) ||\n false;\n","/** How far from the sides the gesture can start. */\nexport var area = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n};\n/** Tresholds for gestures. */\nexport var treshold = {\n start: 15,\n swipe: 15\n};\n","/** Names of the possible directions. */\nexport var directionNames = {\n x: ['Right', 'Left'],\n y: ['Down', 'Up']\n};\n/** States for the gesture. */\nexport var state = {\n inactive: 0,\n watching: 1,\n dragging: 2\n};\n","/**\n * Calculate a distance from a percentage.\n * @param {string|number} position The percentage (e.g. \"75%\").\n * @param {number} size The available width or height in pixels.\n * @return {number} The calculated distance.\n */\nexport var percentage2number = function (position, size) {\n if (typeof position == 'string') {\n if (position.slice(-1) == '%') {\n position = parseInt(position.slice(0, -1), 10);\n position = size * (position / 100);\n }\n }\n return position;\n};\n","import * as support from './_support';\nimport * as options from './_defaults';\nimport * as settings from './_settings';\nimport { percentage2number } from './_helpers';\nimport { extend } from '../helpers';\nvar DragEvents = /** @class */ (function () {\n /**\n * Create the gestures.\n * @param {HTMLElement} surface The surface for the gesture.\n * @param {object} area Restriction where on the surface the gesture can be started.\n * @param {object} treshold Treshold for the gestures.\n */\n function DragEvents(surface, area, treshold) {\n this.surface = surface;\n this.area = extend(area, options.area);\n this.treshold = extend(treshold, options.treshold);\n //\tSet the mouse/touch events.\n if (!this.surface['mmHasDragEvents']) {\n this.surface.addEventListener(support.touch ? 'touchstart' : 'mousedown', this.start.bind(this));\n this.surface.addEventListener(support.touch ? 'touchend' : 'mouseup', this.stop.bind(this));\n this.surface.addEventListener(support.touch ? 'touchleave' : 'mouseleave', this.stop.bind(this));\n this.surface.addEventListener(support.touch ? 'touchmove' : 'mousemove', this.move.bind(this));\n }\n this.surface['mmHasDragEvents'] = true;\n }\n /**\n * Starting the touch gesture.\n * @param {Event} event The touch event.\n */\n DragEvents.prototype.start = function (event) {\n /** The widht of the surface. */\n var width = this.surface.clientWidth;\n /** The height of the surface. */\n var height = this.surface.clientHeight;\n // Check if the gesture started below the area.top.\n var top = percentage2number(this.area.top, height);\n if (typeof top == 'number') {\n if (event.pageY < top) {\n return;\n }\n }\n // Check if the gesture started before the area.right.\n var right = percentage2number(this.area.right, width);\n if (typeof right == 'number') {\n right = width - right;\n if (event.pageX > right) {\n return;\n }\n }\n // Check if the gesture started above the area.bottom.\n var bottom = percentage2number(this.area.bottom, height);\n if (typeof bottom == 'number') {\n bottom = height - bottom;\n if (event.pageY > bottom) {\n return;\n }\n }\n // Check if the gesture started after the area.left.\n var left = percentage2number(this.area.left, width);\n if (typeof left == 'number') {\n if (event.pageX < left) {\n return;\n }\n }\n //\tStore the start x- and y-position.\n this.startPosition = {\n x: event.pageX,\n y: event.pageY\n };\n //\tSet the state of the gesture to \"watching\".\n this.state = settings.state.watching;\n };\n /**\n * Stopping the touch gesture.\n * @param {Event} event The touch event.\n */\n DragEvents.prototype.stop = function (event) {\n //\tDispatch the \"dragEnd\" events.\n if (this.state == settings.state.dragging) {\n /** The direction. */\n var dragDirection = this._dragDirection();\n /** The event information. */\n var detail = this._eventDetail(dragDirection);\n this._dispatchEvents('drag*End', detail);\n //\tDispatch the \"swipe\" events.\n if (Math.abs(this.movement[this.axis]) > this.treshold.swipe) {\n /** The direction. */\n var swipeDirection = this._swipeDirection();\n detail.direction = swipeDirection;\n this._dispatchEvents('swipe*', detail);\n }\n }\n //\tSet the state of the gesture to \"inactive\".\n this.state = settings.state.inactive;\n };\n /**\n * Doing the touch gesture.\n * @param {Event} event The touch event.\n */\n DragEvents.prototype.move = function (event) {\n switch (this.state) {\n case settings.state.watching:\n case settings.state.dragging:\n this.movement = {\n x: event.movementX,\n y: event.movementY\n };\n this.distance = {\n x: event.pageX - this.startPosition.x,\n y: event.pageY - this.startPosition.y\n };\n this.axis =\n Math.abs(this.distance.x) > Math.abs(this.distance.y)\n ? 'x'\n : 'y';\n /** The direction. */\n var dragDirection = this._dragDirection();\n /** The event information. */\n var detail = this._eventDetail(dragDirection);\n //\tWatching for the gesture to go past the treshold.\n if (this.state == settings.state.watching) {\n if (Math.abs(this.distance[this.axis]) > this.treshold.start) {\n this._dispatchEvents('drag*Start', detail);\n //\tSet the state of the gesture to \"inactive\".\n this.state = settings.state.dragging;\n }\n }\n //\tDispatch the \"drag\" events.\n if (this.state == settings.state.dragging) {\n this._dispatchEvents('drag*Move', detail);\n }\n break;\n }\n };\n /**\n * Get the event details.\n * @param {string} direction Direction for the event (up, right, down, left).\n * @return {object} The event details.\n */\n DragEvents.prototype._eventDetail = function (direction) {\n var distX = this.distance.x;\n var distY = this.distance.y;\n if (this.axis == 'x') {\n distX -= distX > 0 ? this.treshold.start : 0 - this.treshold.start;\n }\n if (this.axis == 'y') {\n distY -= distY > 0 ? this.treshold.start : 0 - this.treshold.start;\n }\n return {\n axis: this.axis,\n direction: direction,\n movementX: this.movement.x,\n movementY: this.movement.y,\n distanceX: distX,\n distanceY: distY\n };\n };\n /**\n * Dispatch the events\n * @param {string} eventName The name for the events to dispatch.\n * @param {object} detail The event details.\n */\n DragEvents.prototype._dispatchEvents = function (eventName, detail) {\n /** General event, e.g. \"drag\" */\n var event = new CustomEvent(eventName.replace('*', ''), { detail: detail });\n this.surface.dispatchEvent(event);\n /** Axis event, e.g. \"dragX\" */\n var axis = new CustomEvent(eventName.replace('*', this.axis.toUpperCase()), { detail: detail });\n this.surface.dispatchEvent(axis);\n /** Direction event, e.g. \"dragLeft\" */\n var direction = new CustomEvent(eventName.replace('*', detail.direction), {\n detail: detail\n });\n this.surface.dispatchEvent(direction);\n };\n /**\n * Get the dragging direction.\n * @return {string} The direction in which the user is dragging.\n */\n DragEvents.prototype._dragDirection = function () {\n return settings.directionNames[this.axis][this.distance[this.axis] > 0 ? 0 : 1];\n };\n /**\n * Get the dragging direction.\n * @return {string} The direction in which the user is dragging.\n */\n DragEvents.prototype._swipeDirection = function () {\n return settings.directionNames[this.axis][this.movement[this.axis] > 0 ? 0 : 1];\n };\n return DragEvents;\n}());\nexport default DragEvents;\n","import DragEvents from '../../_modules/dragevents/index';\nimport * as DOM from '../../_modules/dom';\nimport * as events from '../../_modules/eventlisteners';\nimport * as media from '../../_modules/matchmedia';\n/** Instance of the DragEvents class. */\nvar dragInstance = null;\n/** THe node that can be dragged. */\nvar dragNode = null;\n/** How far the page (or menu) can be dragged. */\nvar maxDistance = 0;\nexport default function (page) {\n var _this = this;\n /** Variables that vary for each menu position (top, right, bottom, left. front, back). */\n var vars = {};\n /** Whether or not the page or menu is actually being moved. */\n var moving = false;\n /**\n * Add the dragging events.\n */\n var addEvents = function () {\n if (dragNode) {\n // Prepare the page or menu to be moved.\n events.on(dragNode, 'dragStart', function (evnt) {\n if (evnt['detail'].direction == vars.direction) {\n moving = true;\n // Class prevents interaction with the page.\n _this.node.wrpr.classList.add('mm-wrapper_dragging');\n // Prepare the menu to be opened.\n _this._openSetup();\n _this.trigger('open:start');\n // Get the maximum distance to move out the page or menu.\n maxDistance = _this.node.menu[vars.axis == 'x' ? 'clientWidth' : 'clientHeight'];\n }\n });\n // Move the page or menu when dragging.\n events.on(dragNode, 'dragMove', function (evnt) {\n if (evnt['detail'].axis == vars.axis) {\n if (moving) {\n var distance = evnt['detail']['distance' + vars.axis.toUpperCase()];\n switch (vars.position) {\n case 'right':\n case 'bottom':\n distance = Math.min(Math.max(distance, -maxDistance), 0);\n break;\n default:\n distance = Math.max(Math.min(distance, maxDistance), 0);\n }\n // Deviate for position front (the menu starts out of view).\n if (vars.zposition == 'front') {\n switch (vars.position) {\n case 'right':\n case 'bottom':\n distance += maxDistance;\n break;\n default:\n distance -= maxDistance;\n break;\n }\n }\n vars.slideOutNodes.forEach(function (node) {\n node.style['transform'] =\n 'translate' +\n vars.axis.toUpperCase() +\n '(' +\n distance +\n 'px)';\n });\n }\n }\n });\n // Stop the page or menu from being moved.\n events.on(dragNode, 'dragEnd', function (evnt) {\n if (evnt['detail'].axis == vars.axis) {\n if (moving) {\n moving = false;\n _this.node.wrpr.classList.remove('mm-wrapper_dragging');\n vars.slideOutNodes.forEach(function (node) {\n node.style['transform'] = '';\n });\n // Determine if the menu should open or close.\n var open_1 = Math.abs(evnt['detail']['distance' + vars.axis.toUpperCase()]) >=\n maxDistance * 0.75;\n if (!open_1) {\n var movement = evnt['detail']['movement' + vars.axis.toUpperCase()];\n switch (vars.position) {\n case 'right':\n case 'bottom':\n open_1 = movement <= 0;\n break;\n default:\n open_1 = movement >= 0;\n break;\n }\n }\n if (open_1) {\n _this._openStart();\n }\n else {\n _this.close();\n }\n }\n }\n });\n }\n };\n /**\n * Remove the dragging events.\n */\n var removeEvents = function () {\n if (dragNode) {\n events.off(dragNode, 'dragStart');\n events.off(dragNode, 'dragMove');\n events.off(dragNode, 'dragEnd');\n }\n };\n var addMatchMedia = function () {\n var queries = Object.keys(_this.opts.extensions);\n if (queries.length) {\n // A media query that'll match if any of the other media query matches:\n // set the defaults if it doesn't match.\n media.add(queries.join(', '), function () { }, function () {\n vars = getPositionVars(vars, [], _this.node.menu);\n });\n // The other media queries.\n queries.forEach(function (query) {\n media.add(query, function () {\n vars = getPositionVars(vars, _this.opts.extensions[query], _this.node.menu);\n }, function () { });\n });\n // No extensions, just use the defaults.\n }\n else {\n vars = getPositionVars(vars, [], _this.node.menu);\n }\n };\n // Remove events from previous \"page\"\n removeEvents();\n // Store new \"page\"\n dragNode = page;\n // Initialize the drag events.\n dragInstance = new DragEvents(dragNode);\n addMatchMedia();\n addMatchMedia = function () { };\n addEvents();\n}\nvar getPositionVars = function (vars, extensions, menu) {\n // Default position and z-position.\n vars.position = 'left';\n vars.zposition = 'back';\n // Find position.\n ['right', 'top', 'bottom'].forEach(function (pos) {\n if (extensions.indexOf('position-' + pos) > -1) {\n vars.position = pos;\n }\n });\n // Find z-position.\n ['front', 'top', 'bottom'].forEach(function (pos) {\n if (extensions.indexOf('position-' + pos) > -1) {\n vars.zposition = 'front';\n }\n });\n // Set the area where the dragging can start.\n dragInstance.area = {\n top: vars.position == 'bottom' ? '75%' : 0,\n right: vars.position == 'left' ? '75%' : 0,\n bottom: vars.position == 'top' ? '75%' : 0,\n left: vars.position == 'right' ? '75%' : 0\n };\n // What side of the menu to measure (width or height).\n // What axis to drag the menu along (x or y).\n switch (vars.position) {\n case 'top':\n case 'bottom':\n vars.axis = 'y';\n break;\n default:\n vars.axis = 'x';\n }\n // What direction to drag in.\n switch (vars.position) {\n case 'top':\n vars.direction = 'Down';\n break;\n case 'right':\n vars.direction = 'Left';\n break;\n case 'bottom':\n vars.direction = 'Up';\n break;\n default:\n vars.direction = 'Right';\n }\n // What nodes to slide out while dragging.\n switch (vars.zposition) {\n case 'front':\n vars.slideOutNodes = [menu];\n break;\n default:\n vars.slideOutNodes = DOM.find(document.body, '.mm-slideout');\n }\n return vars;\n};\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport dragOpen from './_drag.open';\nimport { extend } from '../../_modules/helpers';\n//\tAdd the options and configs.\nMmenu.options.drag = options;\nexport default function () {\n var _this = this;\n if (!this.opts.offCanvas) {\n return;\n }\n var options = extendShorthandOptions(this.opts.drag);\n this.opts.drag = extend(options, Mmenu.options.drag);\n //\tDrag open the menu\n if (options.open) {\n this.bind('setPage:after', function (page) {\n dragOpen.call(_this, options.node || page);\n });\n }\n}\n","var options = {\n drop: false,\n fitViewport: true,\n event: 'click',\n position: {},\n tip: true\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean' && options) {\n options = {\n drop: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n if (typeof options.position == 'string') {\n options.position = {\n of: options.position\n };\n }\n return options;\n}\n;\n","var configs = {\n offset: {\n button: {\n x: -5,\n y: 5\n },\n viewport: {\n x: 20,\n y: 20\n }\n },\n height: {\n max: 880\n },\n width: {\n max: 440\n }\n};\nexport default configs;\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport configs from './_configs';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport { extend, originalId } from '../../_modules/helpers';\n//\tAdd the options and configs.\nMmenu.options.dropdown = options;\nMmenu.configs.dropdown = configs;\nexport default function () {\n var _this = this;\n if (!this.opts.offCanvas) {\n return;\n }\n var options = extendShorthandOptions(this.opts.dropdown);\n this.opts.dropdown = extend(options, Mmenu.options.dropdown);\n var configs = this.conf.dropdown;\n if (!options.drop) {\n return;\n }\n var button;\n this.bind('initMenu:after', function () {\n _this.node.menu.classList.add('mm-menu_dropdown');\n if (typeof options.position.of != 'string') {\n var id = originalId(_this.node.menu.id);\n if (id) {\n options.position.of = '[href=\"#' + id + '\"]';\n }\n }\n if (typeof options.position.of != 'string') {\n return;\n }\n //\tGet the button to put the menu next to\n button = DOM.find(document.body, options.position.of)[0];\n //\tEmulate hover effect\n var events = options.event.split(' ');\n if (events.length == 1) {\n events[1] = events[0];\n }\n if (events[0] == 'hover') {\n button.addEventListener('mouseenter', function () {\n _this.open();\n }, { passive: true });\n }\n if (events[1] == 'hover') {\n _this.node.menu.addEventListener('mouseleave', function () {\n _this.close();\n }, { passive: true });\n }\n });\n //\tAdd/remove classname and style when opening/closing the menu\n this.bind('open:start', function () {\n _this.node.menu['mmStyle'] = _this.node.menu.getAttribute('style');\n _this.node.wrpr.classList.add('mm-wrapper_dropdown');\n });\n this.bind('close:finish', function () {\n _this.node.menu.setAttribute('style', _this.node.menu['mmStyle']);\n _this.node.wrpr.classList.remove('mm-wrapper_dropdown');\n });\n /**\n * Find the position (x, y) and sizes (width, height) for the menu.\n *\n * @param {string} dir The direction to measure (\"x\" for horizontal, \"y\" for vertical)\n * @param {object} obj The object where (previously) measured values are stored.\n * @return {object}\t\tThe object where measered values are stored.\n */\n var getPosition = function (dir, obj) {\n var css = obj[0], cls = obj[1];\n var _outerSize = dir == 'x' ? 'offsetWidth' : 'offsetHeight', _startPos = dir == 'x' ? 'left' : 'top', _stopPos = dir == 'x' ? 'right' : 'bottom', _size = dir == 'x' ? 'width' : 'height', _winSize = dir == 'x' ? 'innerWidth' : 'innerHeight', _maxSize = dir == 'x' ? 'maxWidth' : 'maxHeight', _position = null;\n var startPos = DOM.offset(button, _startPos), stopPos = startPos + button[_outerSize], windowSize = window[_winSize];\n /** Offset for the menu relative to the button. */\n var offs = configs.offset.button[dir] + configs.offset.viewport[dir];\n //\tPosition set in option\n if (options.position[dir]) {\n switch (options.position[dir]) {\n case 'left':\n case 'bottom':\n _position = 'after';\n break;\n case 'right':\n case 'top':\n _position = 'before';\n break;\n }\n }\n //\tPosition not set in option, find most space\n if (_position === null) {\n _position =\n startPos + (stopPos - startPos) / 2 < windowSize / 2\n ? 'after'\n : 'before';\n }\n //\tSet position and max\n var val, max;\n if (_position == 'after') {\n val = dir == 'x' ? startPos : stopPos;\n max = windowSize - (val + offs);\n css[_startPos] = val + configs.offset.button[dir] + 'px';\n css[_stopPos] = 'auto';\n if (options.tip) {\n cls.push('mm-menu_tip-' + (dir == 'x' ? 'left' : 'top'));\n }\n }\n else {\n val = dir == 'x' ? stopPos : startPos;\n max = val - offs;\n css[_stopPos] =\n 'calc( 100% - ' + (val - configs.offset.button[dir]) + 'px )';\n css[_startPos] = 'auto';\n if (options.tip) {\n cls.push('mm-menu_tip-' + (dir == 'x' ? 'right' : 'bottom'));\n }\n }\n if (options.fitViewport) {\n css[_maxSize] = Math.min(configs[_size].max, max) + 'px';\n }\n return [css, cls];\n };\n function position() {\n var _this = this;\n if (!this.vars.opened) {\n return;\n }\n this.node.menu.setAttribute('style', this.node.menu['mmStyle']);\n var obj = [{}, []];\n obj = getPosition.call(this, 'y', obj);\n obj = getPosition.call(this, 'x', obj);\n for (var s in obj[0]) {\n this.node.menu.style[s] = obj[0][s];\n }\n if (options.tip) {\n var classnames = [\n 'mm-menu_tip-left',\n 'mm-menu_tip-right',\n 'mm-menu_tip-top',\n 'mm-menu_tip-bottom'\n ];\n // IE11:\n classnames.forEach(function (classname) {\n _this.node.menu.classList.remove(classname);\n });\n obj[1].forEach(function (classname) {\n _this.node.menu.classList.add(classname);\n });\n // Better browsers:\n // this.node.menu.classList.remove(...classnames);\n // this.node.menu.classList.add(...obj[1]);\n }\n }\n this.bind('open:start', position);\n window.addEventListener('resize', function (evnt) {\n position.call(_this);\n }, { passive: true });\n if (!this.opts.offCanvas.blockUI) {\n window.addEventListener('scroll', function (evnt) {\n position.call(_this);\n }, { passive: true });\n }\n}\n","var configs = {\n insertMethod: 'append',\n insertSelector: 'body'\n};\nexport default configs;\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport configs from './_configs';\nimport * as DOM from '../../_modules/dom';\n//\tAdd the configs.\nMmenu.configs.fixedElements = configs;\n//\tAdd the classnames.\nMmenu.configs.classNames.fixedElements = {\n fixed: 'Fixed'\n};\nexport default function () {\n var _this = this;\n if (!this.opts.offCanvas) {\n return;\n }\n var configs = this.conf.fixedElements;\n var _fixd, fixed, wrppr;\n this.bind('setPage:after', function (page) {\n _fixd = _this.conf.classNames.fixedElements.fixed;\n wrppr = DOM.find(document, configs.insertSelector)[0];\n fixed = DOM.find(page, '.' + _fixd);\n fixed.forEach(function (fxd) {\n DOM.reClass(fxd, _fixd, 'mm-slideout');\n wrppr[configs.insertMethod](fxd);\n });\n });\n}\n","import { type } from '../../_modules/helpers';\nvar options = {\n use: false,\n top: [],\n bottom: [],\n position: 'left',\n type: 'default'\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (type(options) == 'array') {\n options = {\n use: true,\n top: options\n };\n }\n if (type(options) != 'object') {\n options = {};\n }\n if (typeof options.use == 'undefined') {\n options.use = true;\n }\n if (typeof options.use == 'boolean' && options.use) {\n options.use = true;\n }\n return options;\n}\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport * as media from '../../_modules/matchmedia';\nimport { type, extend } from '../../_modules/helpers';\n// Add the options.\nMmenu.options.iconbar = options;\nexport default function () {\n var _this = this;\n var options = extendShorthandOptions(this.opts.iconbar);\n this.opts.iconbar = extend(options, Mmenu.options.iconbar);\n if (!options.use) {\n return;\n }\n var iconbar;\n ['top', 'bottom'].forEach(function (position, n) {\n var ctnt = options[position];\n //\tExtend shorthand options\n if (type(ctnt) != 'array') {\n ctnt = [ctnt];\n }\n //\tCreate node\n var part = DOM.create('div.mm-iconbar__' + position);\n //\tAdd content\n for (var c = 0, l = ctnt.length; c < l; c++) {\n if (typeof ctnt[c] == 'string') {\n part.innerHTML += ctnt[c];\n }\n else {\n part.append(ctnt[c]);\n }\n }\n if (part.children.length) {\n if (!iconbar) {\n iconbar = DOM.create('div.mm-iconbar');\n }\n iconbar.append(part);\n }\n });\n //\tAdd to menu\n if (iconbar) {\n //\tAdd the iconbar.\n this.bind('initMenu:after', function () {\n _this.node.menu.prepend(iconbar);\n });\n //\tEn-/disable the iconbar.\n var classname_1 = 'mm-menu_iconbar-' + options.position;\n var enable = function () {\n _this.node.menu.classList.add(classname_1);\n Mmenu.sr_aria(iconbar, 'hidden', false);\n };\n var disable = function () {\n _this.node.menu.classList.remove(classname_1);\n Mmenu.sr_aria(iconbar, 'hidden', true);\n };\n if (typeof options.use == 'boolean') {\n this.bind('initMenu:after', enable);\n }\n else {\n media.add(options.use, enable, disable);\n }\n //\tTabs\n if (options.type == 'tabs') {\n iconbar.classList.add('mm-iconbar_tabs');\n iconbar.addEventListener('click', function (evnt) {\n var anchor = evnt.target;\n if (!anchor.matches('a')) {\n return;\n }\n if (anchor.matches('.mm-iconbar__tab_selected')) {\n evnt.stopImmediatePropagation();\n return;\n }\n try {\n var panel = _this.node.menu.querySelector(anchor.getAttribute('href'))[0];\n if (panel && panel.matches('.mm-panel')) {\n evnt.preventDefault();\n evnt.stopImmediatePropagation();\n _this.openPanel(panel, false);\n }\n }\n catch (err) { }\n });\n var selectTab_1 = function (panel) {\n DOM.find(iconbar, 'a').forEach(function (anchor) {\n anchor.classList.remove('mm-iconbar__tab_selected');\n });\n var anchor = DOM.find(iconbar, '[href=\"#' + panel.id + '\"]')[0];\n if (anchor) {\n anchor.classList.add('mm-iconbar__tab_selected');\n }\n else {\n var parent_1 = panel['mmParent'];\n if (parent_1) {\n selectTab_1(parent_1.closest('.mm-panel'));\n }\n }\n };\n this.bind('openPanel:start', selectTab_1);\n }\n }\n}\n","var options = {\n add: false,\n blockPanel: true,\n hideDivider: false,\n hideNavbar: true,\n visible: 3\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n add: options\n };\n }\n if (typeof options == 'number' ||\n typeof options == 'string') {\n options = {\n add: true,\n visible: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n;\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport { extend } from '../../_modules/helpers';\n//\tAdd the options.\nMmenu.options.iconPanels = options;\nexport default function () {\n var _this = this;\n var options = extendShorthandOptions(this.opts.iconPanels);\n this.opts.iconPanels = extend(options, Mmenu.options.iconPanels);\n var keepFirst = false;\n if (options.visible == 'first') {\n keepFirst = true;\n options.visible = 1;\n }\n options.visible = Math.min(3, Math.max(1, options.visible));\n options.visible++;\n //\tAdd the iconpanels\n if (options.add) {\n this.bind('initMenu:after', function () {\n var classnames = ['mm-menu_iconpanel'];\n if (options.hideNavbar) {\n classnames.push('mm-menu_hidenavbar');\n }\n if (options.hideDivider) {\n classnames.push('mm-menu_hidedivider');\n }\n // IE11:\n classnames.forEach(function (classname) {\n _this.node.menu.classList.add(classname);\n });\n // Better browsers:\n // this.node.menu.classList.add(...classnames);\n });\n var classnames_1 = [];\n if (!keepFirst) {\n for (var i = 0; i <= options.visible; i++) {\n classnames_1.push('mm-panel_iconpanel-' + i);\n }\n }\n this.bind('openPanel:start', function (panel) {\n var panels = DOM.children(_this.node.pnls, '.mm-panel');\n panel = panel || panels[0];\n if (panel.parentElement.matches('.mm-listitem_vertical')) {\n return;\n }\n if (keepFirst) {\n panels.forEach(function (panel, p) {\n panel.classList[p == 0 ? 'add' : 'remove']('mm-panel_iconpanel-first');\n });\n }\n else {\n //\tRemove the \"iconpanel\" classnames from all panels.\n panels.forEach(function (panel) {\n // IE11:\n classnames_1.forEach(function (classname) {\n panel.classList.remove(classname);\n });\n // Better browsers:\n // panel.classList.remove(...classnames);\n });\n //\tFilter out panels that are not opened.\n panels = panels.filter(function (panel) {\n return panel.matches('.mm-panel_opened-parent');\n });\n //\tAdd the current panel to the list.\n var panelAdded_1 = false;\n panels.forEach(function (elem) {\n if (panel === elem) {\n panelAdded_1 = true;\n }\n });\n if (!panelAdded_1) {\n panels.push(panel);\n }\n //\tRemove the \"hidden\" classname from all opened panels.\n panels.forEach(function (panel) {\n panel.classList.remove('mm-hidden');\n });\n //\tSlice the opened panels to the max visible amount.\n panels = panels.slice(-options.visible);\n //\tAdd the \"iconpanel\" classnames.\n panels.forEach(function (panel, p) {\n panel.classList.add('mm-panel_iconpanel-' + p);\n });\n }\n });\n this.bind('initPanel:after', function (panel) {\n if (options.blockPanel &&\n !panel.parentElement.matches('.mm-listitem_vertical') &&\n !DOM.children(panel, '.mm-panel__blocker')[0]) {\n var blocker = DOM.create('a.mm-panel__blocker');\n blocker.setAttribute('href', '#' + panel.closest('.mm-panel').id);\n panel.prepend(blocker);\n }\n });\n }\n}\n","var options = {\n enable: false,\n enhance: false\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean' || typeof options == 'string') {\n options = {\n enable: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n;\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport * as events from '../../_modules/eventlisteners';\nimport * as support from '../../_modules/support';\nimport { extend } from '../../_modules/helpers';\n// Add the options.\nMmenu.options.keyboardNavigation = options;\nexport default function () {\n var _this = this;\n //\tKeyboard navigation on touchscreens opens the virtual keyboard :/\n //\tLets prevent that.\n if (support.touch) {\n return;\n }\n var options = extendShorthandOptions(this.opts.keyboardNavigation);\n this.opts.keyboardNavigation = extend(options, Mmenu.options.keyboardNavigation);\n //\tEnable keyboard navigation\n if (options.enable) {\n var menuStart_1 = DOM.create('button.mm-tabstart.mm-sronly'), menuEnd_1 = DOM.create('button.mm-tabend.mm-sronly'), blockerEnd_1 = DOM.create('button.mm-tabend.mm-sronly');\n this.bind('initMenu:after', function () {\n if (options.enhance) {\n _this.node.menu.classList.add('mm-menu_keyboardfocus');\n }\n initWindow.call(_this, options.enhance);\n });\n this.bind('initOpened:before', function () {\n _this.node.menu.prepend(menuStart_1);\n _this.node.menu.append(menuEnd_1);\n DOM.children(_this.node.menu, '.mm-navbars-top, .mm-navbars-bottom').forEach(function (navbars) {\n navbars.querySelectorAll('.mm-navbar__title').forEach(function (title) {\n title.setAttribute('tabindex', '-1');\n });\n });\n });\n this.bind('initBlocker:after', function () {\n Mmenu.node.blck.append(blockerEnd_1);\n DOM.children(Mmenu.node.blck, 'a')[0].classList.add('mm-tabstart');\n });\n var focusable_1 = 'input, select, textarea, button, label, a[href]';\n var setFocus = function (panel) {\n panel =\n panel || DOM.children(_this.node.pnls, '.mm-panel_opened')[0];\n var focus = null;\n //\tFocus already is on an element in a navbar in this menu.\n var navbar = document.activeElement.closest('.mm-navbar');\n if (navbar) {\n if (navbar.closest('.mm-menu') == _this.node.menu) {\n return;\n }\n }\n //\tSet the focus to the first focusable element by default.\n if (options.enable == 'default') {\n //\tFirst visible anchor in a listview in the current panel.\n focus = DOM.find(panel, '.mm-listview a[href]:not(.mm-hidden)')[0];\n //\tFirst focusable and visible element in the current panel.\n if (!focus) {\n focus = DOM.find(panel, focusable_1 + ':not(.mm-hidden)')[0];\n }\n //\tFirst focusable and visible element in a navbar.\n if (!focus) {\n var elements_1 = [];\n DOM.children(_this.node.menu, '.mm-navbars_top, .mm-navbars_bottom').forEach(function (navbar) {\n elements_1.push.apply(elements_1, DOM.find(navbar, focusable_1 + ':not(.mm-hidden)'));\n });\n focus = elements_1[0];\n }\n }\n //\tDefault.\n if (!focus) {\n focus = DOM.children(_this.node.menu, '.mm-tabstart')[0];\n }\n if (focus) {\n focus.focus();\n }\n };\n this.bind('open:finish', setFocus);\n this.bind('openPanel:finish', setFocus);\n //\tAdd screenreader / aria support.\n this.bind('initOpened:after:sr-aria', function () {\n [_this.node.menu, Mmenu.node.blck].forEach(function (element) {\n DOM.children(element, '.mm-tabstart, .mm-tabend').forEach(function (tabber) {\n Mmenu.sr_aria(tabber, 'hidden', true);\n Mmenu.sr_role(tabber, 'presentation');\n });\n });\n });\n }\n}\n/**\n * Initialize the window for keyboard navigation.\n * @param {boolean} enhance - Whether or not to also rich enhance the keyboard behavior.\n **/\nvar initWindow = function (enhance) {\n var _this = this;\n //\tRe-enable tabbing in general\n events.off(document.body, 'keydown.tabguard');\n //\tIntersept the target when tabbing.\n events.off(document.body, 'focusin.tabguard');\n events.on(document.body, 'focusin.tabguard', function (evnt) {\n if (_this.node.wrpr.matches('.mm-wrapper_opened')) {\n var target = evnt.target;\n if (target.matches('.mm-tabend')) {\n var next = void 0;\n //\tJump from menu to blocker.\n if (target.parentElement.matches('.mm-menu')) {\n if (Mmenu.node.blck) {\n next = Mmenu.node.blck;\n }\n }\n //\tJump to opened menu.\n if (target.parentElement.matches('.mm-wrapper__blocker')) {\n next = DOM.find(document.body, '.mm-menu_offcanvas.mm-menu_opened')[0];\n }\n //\tIf no available element found, stay in current element.\n if (!next) {\n next = target.parentElement;\n }\n if (next) {\n DOM.children(next, '.mm-tabstart')[0].focus();\n }\n }\n }\n });\n //\tAdd Additional keyboard behavior.\n events.off(document.body, 'keydown.navigate');\n events.on(document.body, 'keydown.navigate', function (evnt) {\n var target = evnt.target;\n var menu = target.closest('.mm-menu');\n if (menu) {\n var api = menu['mmApi'];\n if (!target.matches('input, textarea')) {\n switch (evnt.keyCode) {\n //\tpress enter to toggle and check\n case 13:\n if (target.matches('.mm-toggle') ||\n target.matches('.mm-check')) {\n target.dispatchEvent(new Event('click'));\n }\n break;\n //\tprevent spacebar or arrows from scrolling the page\n case 32: //\tspace\n case 37: //\tleft\n case 38: //\ttop\n case 39: //\tright\n case 40: //\tbottom\n evnt.preventDefault();\n break;\n }\n }\n if (enhance) {\n //\tspecial case for input\n if (target.matches('input')) {\n switch (evnt.keyCode) {\n //\tempty searchfield with esc\n case 27:\n target.value = '';\n break;\n }\n }\n else {\n var api_1 = menu['mmApi'];\n switch (evnt.keyCode) {\n //\tclose submenu with backspace\n case 8:\n var parent_1 = DOM.find(menu, '.mm-panel_opened')[0]['mmParent'];\n if (parent_1) {\n api_1.openPanel(parent_1.closest('.mm-panel'));\n }\n break;\n //\tclose menu with esc\n case 27:\n if (menu.matches('.mm-menu_offcanvas')) {\n api_1.close();\n }\n break;\n }\n }\n }\n }\n });\n};\n","var options = {\n load: false\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n load: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n;\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport { extend } from '../../_modules/helpers';\n//\tAdd the options.\nMmenu.options.lazySubmenus = options;\nexport default function () {\n var _this = this;\n var options = extendShorthandOptions(this.opts.lazySubmenus);\n this.opts.lazySubmenus = extend(options, Mmenu.options.lazySubmenus);\n if (options.load) {\n //\tPrevent all sub panels from being initialized.\n this.bind('initMenu:after', function () {\n var panels = [];\n //\tFind all potential subpanels.\n DOM.find(_this.node.pnls, 'li').forEach(function (listitem) {\n panels.push.apply(panels, DOM.children(listitem, _this.conf.panelNodetype.join(', ')));\n });\n //\tFilter out all non-panels and add the lazyload classes\n panels\n .filter(function (panel) { return !panel.matches('.mm-listview_inset'); })\n .filter(function (panel) { return !panel.matches('.mm-nolistview'); })\n .filter(function (panel) { return !panel.matches('.mm-nopanel'); })\n .forEach(function (panel) {\n var classnames = [\n 'mm-panel_lazysubmenu',\n 'mm-nolistview',\n 'mm-nopanel'\n ];\n // IE11:\n classnames.forEach(function (classname) {\n panel.classList.add(classname);\n });\n // Better browsers:\n // panel.classList.add(...classnames);\n });\n });\n //\tPrepare current and one level sub panels for initPanels\n this.bind('initPanels:before', function () {\n var panels = DOM.children(_this.node.pnls, _this.conf.panelNodetype.join(', '));\n panels.forEach(function (panel) {\n var filter = '.mm-panel_lazysubmenu', children = DOM.find(panel, filter);\n if (panel.matches(filter)) {\n children.unshift(panel);\n }\n children\n .filter(function (child) {\n return !child.matches('.mm-panel_lazysubmenu .mm-panel_lazysubmenu');\n })\n .forEach(function (child) {\n var classnames = [\n 'mm-panel_lazysubmenu',\n 'mm-nolistview',\n 'mm-nopanel'\n ];\n // IE11:\n classnames.forEach(function (classname) {\n child.classList.remove(classname);\n });\n // Better browsers:\n // child.classList.remove(...classnames);\n });\n });\n });\n //\tinitPanels for the default opened panel\n this.bind('initOpened:before', function () {\n var panels = [];\n DOM.find(_this.node.pnls, '.' + _this.conf.classNames.selected).forEach(function (listitem) {\n panels.push.apply(panels, DOM.parents(listitem, '.mm-panel_lazysubmenu'));\n });\n if (panels.length) {\n panels.forEach(function (panel) {\n var classnames = [\n 'mm-panel_lazysubmenu',\n 'mm-nolistview',\n 'mm-nopanel'\n ];\n // IE11:\n classnames.forEach(function (classname) {\n panel.classList.remove(classname);\n });\n // Better browsers:\n // panel.classList.remove(...classnames);\n });\n _this.initPanel(panels[panels.length - 1]);\n }\n });\n //\tinitPanels for current- and sub panels before openPanel\n this.bind('openPanel:before', function (panel) {\n var filter = '.mm-panel_lazysubmenu', panels = DOM.find(panel, filter);\n if (panel.matches(filter)) {\n panels.unshift(panel);\n }\n panels = panels.filter(function (panel) {\n return !panel.matches('.mm-panel_lazysubmenu .mm-panel_lazysubmenu');\n });\n panels.forEach(function (panel) {\n _this.initPanel(panel);\n });\n });\n }\n}\n","var options = [];\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean' && options) {\n options = {};\n }\n if (typeof options != 'object') {\n options = {};\n }\n if (typeof options.content == 'undefined') {\n options.content = ['prev', 'title'];\n }\n if (!(options.content instanceof Array)) {\n options.content = [options.content];\n }\n if (typeof options.use == 'undefined') {\n options.use = true;\n }\n if (typeof options.use == 'boolean' && options.use) {\n options.use = true;\n }\n return options;\n}\n;\n","var configs = {\n breadcrumbs: {\n separator: '/',\n removeFirst: false\n }\n};\nexport default configs;\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport configs from './_configs';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport * as media from '../../_modules/matchmedia';\n// Add the options and configs.\nMmenu.options.navbars = options;\nMmenu.configs.navbars = configs;\n// Add the classnames.\nMmenu.configs.classNames.navbars = {\n panelNext: 'Next',\n panelPrev: 'Prev',\n panelTitle: 'Title'\n};\nimport breadcrumbs from './_navbar.breadcrumbs';\nimport close from './_navbar.close';\nimport next from './_navbar.next';\nimport prev from './_navbar.prev';\nimport searchfield from './_navbar.searchfield';\nimport title from './_navbar.title';\nNavbars.navbarContents = {\n breadcrumbs: breadcrumbs,\n close: close,\n next: next,\n prev: prev,\n searchfield: searchfield,\n title: title\n};\nimport tabs from './_navbar.tabs';\nNavbars.navbarTypes = {\n tabs: tabs\n};\nexport default function Navbars() {\n var _this = this;\n var navs = this.opts.navbars;\n if (typeof navs == 'undefined') {\n return;\n }\n if (!(navs instanceof Array)) {\n navs = [navs];\n }\n var navbars = {};\n if (!navs.length) {\n return;\n }\n navs.forEach(function (options) {\n options = extendShorthandOptions(options);\n if (!options.use) {\n return false;\n }\n //\tCreate the navbar element.\n var navbar = DOM.create('div.mm-navbar');\n //\tGet the position for the navbar.\n var position = options.position;\n //\tRestrict the position to either \"bottom\" or \"top\" (default).\n if (position !== 'bottom') {\n position = 'top';\n }\n //\tCreate the wrapper for the navbar position.\n if (!navbars[position]) {\n navbars[position] = DOM.create('div.mm-navbars_' + position);\n }\n navbars[position].append(navbar);\n //\tAdd content to the navbar.\n for (var c = 0, l = options.content.length; c < l; c++) {\n var ctnt = options.content[c];\n //\tThe content is a string.\n if (typeof ctnt == 'string') {\n var func = Navbars.navbarContents[ctnt];\n //\tThe content refers to one of the navbar-presets (\"prev\", \"title\", etc).\n if (typeof func == 'function') {\n //\tCall the preset function.\n func.call(_this, navbar);\n //\tThe content is just HTML.\n }\n else {\n //\tAdd the HTML.\n // Wrap the HTML in a single node\n var node = DOM.create('span');\n node.innerHTML = ctnt;\n // If there was only a single node, use that.\n var children = DOM.children(node);\n if (children.length == 1) {\n node = children[0];\n }\n navbar.append(node);\n }\n //\tThe content is not a string, it must be an element.\n }\n else {\n navbar.append(ctnt);\n }\n }\n //\tThe type option is set.\n if (typeof options.type == 'string') {\n //\tThe function refers to one of the navbar-presets (\"tabs\").\n var func = Navbars.navbarTypes[options.type];\n if (typeof func == 'function') {\n //\tCall the preset function.\n func.call(_this, navbar);\n }\n }\n //\tEn-/disable the navbar.\n var enable = function () {\n navbar.classList.remove('mm-hidden');\n Mmenu.sr_aria(navbar, 'hidden', false);\n };\n var disable = function () {\n navbar.classList.add('mm-hidden');\n Mmenu.sr_aria(navbar, 'hidden', true);\n };\n if (typeof options.use != 'boolean') {\n media.add(options.use, enable, disable);\n }\n });\n //\tAdd to menu.\n this.bind('initMenu:after', function () {\n for (var position in navbars) {\n _this.node.menu[position == 'bottom' ? 'append' : 'prepend'](navbars[position]);\n }\n });\n}\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport * as DOM from '../../_modules/dom';\nexport default function (navbar) {\n var _this = this;\n //\tAdd content\n var breadcrumbs = DOM.create('div.mm-navbar__breadcrumbs');\n navbar.append(breadcrumbs);\n this.bind('initNavbar:after', function (panel) {\n if (panel.querySelector('.mm-navbar__breadcrumbs')) {\n return;\n }\n DOM.children(panel, '.mm-navbar')[0].classList.add('mm-hidden');\n var crumbs = [], breadcrumbs = DOM.create('span.mm-navbar__breadcrumbs'), current = panel, first = true;\n while (current) {\n current = current.closest('.mm-panel');\n if (!current.parentElement.matches('.mm-listitem_vertical')) {\n var title = DOM.find(current, '.mm-navbar__title')[0];\n if (title) {\n var text = title.textContent;\n if (text.length) {\n crumbs.unshift(first\n ? '' + text + ''\n : '' +\n text +\n '');\n }\n }\n first = false;\n }\n current = current['mmParent'];\n }\n if (_this.conf.navbars.breadcrumbs.removeFirst) {\n crumbs.shift();\n }\n breadcrumbs.innerHTML = crumbs.join('' +\n _this.conf.navbars.breadcrumbs.separator +\n '');\n DOM.children(panel, '.mm-navbar')[0].append(breadcrumbs);\n });\n //\tUpdate for to opened panel\n this.bind('openPanel:start', function (panel) {\n var crumbs = panel.querySelector('.mm-navbar__breadcrumbs');\n breadcrumbs.innerHTML = crumbs ? crumbs.innerHTML : '';\n });\n //\tAdd screenreader / aria support\n this.bind('initNavbar:after:sr-aria', function (panel) {\n DOM.find(panel, '.mm-breadcrumbs a').forEach(function (anchor) {\n Mmenu.sr_aria(anchor, 'owns', anchor.getAttribute('href').slice(1));\n });\n });\n}\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport * as DOM from '../../_modules/dom';\nexport default function (navbar) {\n var _this = this;\n //\tAdd content\n var close = DOM.create('a.mm-btn.mm-btn_close.mm-navbar__btn');\n navbar.append(close);\n //\tUpdate to page node\n this.bind('setPage:after', function (page) {\n close.setAttribute('href', '#' + page.id);\n });\n //\tAdd screenreader / text support\n this.bind('setPage:after:sr-text', function () {\n close.innerHTML = Mmenu.sr_text(_this.i18n(_this.conf.screenReader.text.closeMenu));\n Mmenu.sr_aria(close, 'owns', close.getAttribute('href').slice(1));\n });\n}\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport * as DOM from '../../_modules/dom';\n//\tDEPRECATED\n//\tWill be removed in version 8.2\nexport default function (navbar) {\n var _this = this;\n //\tAdd content\n var next = DOM.create('a.mm-btn.mm-btn_next.mm-navbar__btn');\n navbar.append(next);\n //\tUpdate to opened panel\n var org;\n var _url, _txt;\n this.bind('openPanel:start', function (panel) {\n org = panel.querySelector('.' + _this.conf.classNames.navbars.panelNext);\n _url = org ? org.getAttribute('href') : '';\n _txt = org ? org.innerHTML : '';\n if (_url) {\n next.setAttribute('href', _url);\n }\n else {\n next.removeAttribute('href');\n }\n next.classList[_url || _txt ? 'remove' : 'add']('mm-hidden');\n next.innerHTML = _txt;\n });\n //\tAdd screenreader / aria support\n this.bind('openPanel:start:sr-aria', function (panel) {\n Mmenu.sr_aria(next, 'hidden', next.matches('mm-hidden'));\n Mmenu.sr_aria(next, 'owns', (next.getAttribute('href') || '').slice(1));\n });\n}\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport * as DOM from '../../_modules/dom';\nexport default function (navbar) {\n var _this = this;\n //\tAdd content.\n var prev = DOM.create('a.mm-btn.mm-btn_prev.mm-navbar__btn');\n navbar.append(prev);\n this.bind('initNavbar:after', function (panel) {\n DOM.children(panel, '.mm-navbar')[0].classList.add('mm-hidden');\n });\n //\tUpdate to opened panel.\n var org;\n var _url, _txt;\n this.bind('openPanel:start', function (panel) {\n if (panel.parentElement.matches('.mm-listitem_vertical')) {\n return;\n }\n org = panel.querySelector('.' + _this.conf.classNames.navbars.panelPrev);\n if (!org) {\n org = panel.querySelector('.mm-navbar__btn.mm-btn_prev');\n }\n _url = org ? org.getAttribute('href') : '';\n _txt = org ? org.innerHTML : '';\n if (_url) {\n prev.setAttribute('href', _url);\n }\n else {\n prev.removeAttribute('href');\n }\n prev.classList[_url || _txt ? 'remove' : 'add']('mm-hidden');\n prev.innerHTML = _txt;\n });\n //\tAdd screenreader / aria support\n this.bind('initNavbar:after:sr-aria', function (panel) {\n Mmenu.sr_aria(panel.querySelector('.mm-navbar'), 'hidden', true);\n });\n this.bind('openPanel:start:sr-aria', function (panel) {\n Mmenu.sr_aria(prev, 'hidden', prev.matches('.mm-hidden'));\n Mmenu.sr_aria(prev, 'owns', (prev.getAttribute('href') || '').slice(1));\n });\n}\n","import * as DOM from '../../_modules/dom';\nimport { type } from '../../_modules/helpers';\nexport default function (navbar) {\n if (type(this.opts.searchfield) != 'object') {\n this.opts.searchfield = {};\n }\n var searchfield = DOM.create('div.mm-navbar__searchfield');\n navbar.append(searchfield);\n this.opts.searchfield.add = true;\n this.opts.searchfield.addTo = [searchfield];\n}\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport * as DOM from '../../_modules/dom';\nexport default function (navbar) {\n var _this = this;\n //\tAdd content to the navbar.\n var title = DOM.create('a.mm-navbar__title');\n navbar.append(title);\n //\tUpdate the title to the opened panel.\n var _url, _txt;\n var original;\n this.bind('openPanel:start', function (panel) {\n //\tDo nothing in a vertically expanding panel.\n if (panel.parentElement.matches('.mm-listitem_vertical')) {\n return;\n }\n //\tFind the original title in the opened panel.\n original = panel.querySelector('.' + _this.conf.classNames.navbars.panelTitle);\n if (!original) {\n original = panel.querySelector('.mm-navbar__title');\n }\n //\tGet the URL for the title.\n _url = original ? original.getAttribute('href') : '';\n if (_url) {\n title.setAttribute('href', _url);\n }\n else {\n title.removeAttribute('href');\n }\n //\tGet the text for the title.\n _txt = original ? original.innerHTML : '';\n title.innerHTML = _txt;\n });\n //\tAdd screenreader / aria support\n var prev;\n this.bind('openPanel:start:sr-aria', function (panel) {\n if (_this.opts.screenReader.text) {\n if (!prev) {\n var navbars = DOM.children(_this.node.menu, '.mm-navbars_top, .mm-navbars_bottom');\n navbars.forEach(function (navbar) {\n var btn = navbar.querySelector('.mm-btn_prev');\n if (btn) {\n prev = btn;\n }\n });\n }\n if (prev) {\n var hidden = true;\n if (_this.opts.navbar.titleLink == 'parent') {\n hidden = !prev.matches('.mm-hidden');\n }\n Mmenu.sr_aria(title, 'hidden', hidden);\n }\n }\n });\n}\n","import * as DOM from '../../_modules/dom';\nexport default function (navbar) {\n var _this = this;\n navbar.classList.add('mm-navbar_tabs');\n navbar.parentElement.classList.add('mm-navbars_has-tabs');\n var anchors = DOM.children(navbar, 'a');\n navbar.addEventListener('click', function (evnt) {\n var anchor = evnt.target;\n if (!anchor.matches('a')) {\n return;\n }\n if (anchor.matches('.mm-navbar__tab_selected')) {\n evnt.stopImmediatePropagation();\n return;\n }\n try {\n _this.openPanel(_this.node.menu.querySelector(anchor.getAttribute('href')), false);\n evnt.stopImmediatePropagation();\n }\n catch (err) { }\n });\n function selectTab(panel) {\n anchors.forEach(function (anchor) {\n anchor.classList.remove('mm-navbar__tab_selected');\n });\n var anchor = anchors.filter(function (anchor) {\n return anchor.matches('[href=\"#' + panel.id + '\"]');\n })[0];\n if (anchor) {\n anchor.classList.add('mm-navbar__tab_selected');\n }\n else {\n var parent = panel['mmParent'];\n if (parent) {\n selectTab.call(this, parent.closest('.mm-panel'));\n }\n }\n }\n this.bind('openPanel:start', selectTab);\n}\n","var options = {\n scroll: false,\n update: false\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n scroll: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n;\n","var configs = {\n scrollOffset: 0,\n updateOffset: 50\n};\nexport default configs;\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport configs from './_configs';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport { extend } from '../../_modules/helpers';\n//\tAdd the options and configs.\nMmenu.options.pageScroll = options;\nMmenu.configs.pageScroll = configs;\nexport default function () {\n var _this = this;\n var options = extendShorthandOptions(this.opts.pageScroll);\n this.opts.pageScroll = extend(options, Mmenu.options.pageScroll);\n var configs = this.conf.pageScroll;\n /** The currently \"active\" section */\n var section;\n function scrollTo() {\n if (section) {\n // section.scrollIntoView({ behavior: 'smooth' });\n window.scrollTo({\n top: section.getBoundingClientRect().top +\n document.scrollingElement.scrollTop -\n configs.scrollOffset,\n behavior: 'smooth'\n });\n }\n section = null;\n }\n function anchorInPage(href) {\n try {\n if (href != '#' && href.slice(0, 1) == '#') {\n return Mmenu.node.page.querySelector(href);\n }\n return null;\n }\n catch (err) {\n return null;\n }\n }\n //\tScroll to section after clicking menu item.\n if (options.scroll) {\n this.bind('close:finish', function () {\n scrollTo();\n });\n }\n //\tAdd click behavior.\n //\tPrevents default behavior when clicking an anchor.\n if (this.opts.offCanvas && options.scroll) {\n this.clck.push(function (anchor, args) {\n section = null;\n //\tDon't continue if the clicked anchor is not in the menu.\n if (!args.inMenu) {\n return;\n }\n //\tDon't continue if the targeted section is not on the page.\n var href = anchor.getAttribute('href');\n section = anchorInPage(href);\n if (!section) {\n return;\n }\n //\tIf the sidebar add-on is \"expanded\"...\n if (_this.node.menu.matches('.mm-menu_sidebar-expanded') &&\n _this.node.wrpr.matches('.mm-wrapper_sidebar-expanded')) {\n //\t... scroll the page to the section.\n scrollTo();\n //\t... otherwise...\n }\n else {\n //\t... close the menu.\n return {\n close: true\n };\n }\n });\n }\n //\tUpdate selected menu item after scrolling.\n if (options.update) {\n var scts_1 = [];\n this.bind('initListview:after', function (listview) {\n var listitems = DOM.children(listview, '.mm-listitem');\n DOM.filterLIA(listitems).forEach(function (anchor) {\n var href = anchor.getAttribute('href');\n var section = anchorInPage(href);\n if (section) {\n scts_1.unshift(section);\n }\n });\n });\n var _selected_1 = -1;\n window.addEventListener('scroll', function (evnt) {\n var scrollTop = window.scrollY;\n for (var s = 0; s < scts_1.length; s++) {\n if (scts_1[s].offsetTop < scrollTop + configs.updateOffset) {\n if (_selected_1 !== s) {\n _selected_1 = s;\n var panel = DOM.children(_this.node.pnls, '.mm-panel_opened')[0];\n var listitems = DOM.find(panel, '.mm-listitem');\n var anchors = DOM.filterLIA(listitems);\n anchors = anchors.filter(function (anchor) {\n return anchor.matches('[href=\"#' + scts_1[s].id + '\"]');\n });\n if (anchors.length) {\n _this.setSelected(anchors[0].parentElement);\n }\n }\n break;\n }\n }\n });\n }\n}\n","var options = {\n add: false,\n addTo: 'panels',\n cancel: false,\n noResults: 'No results found.',\n placeholder: 'Search',\n panel: {\n add: false,\n dividers: true,\n fx: 'none',\n id: null,\n splash: null,\n title: 'Search'\n },\n search: true,\n showTextItems: false,\n showSubPanels: true\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n add: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n if (typeof options.panel == 'boolean') {\n options.panel = {\n add: options.panel\n };\n }\n if (typeof options.panel != 'object') {\n options.panel = {};\n }\n //\tExtend logical options.\n if (options.addTo == 'panel') {\n options.panel.add = true;\n }\n if (options.panel.add) {\n options.showSubPanels = false;\n if (options.panel.splash) {\n options.cancel = true;\n }\n }\n return options;\n}\n;\n","var configs = {\n clear: false,\n form: false,\n input: false,\n submit: false\n};\nexport default configs;\n","export default {\n Search: 'جستجو',\n 'No results found.': 'نتیجه‌ای یافت نشد.',\n cancel: 'انصراف'\n};\n","export default {\n Search: 'Suche',\n 'No results found.': 'Keine Ergebnisse gefunden.',\n cancel: 'beenden'\n};\n","export default {\n Search: 'Найти',\n 'No results found.': 'Ничего не найдено.',\n cancel: 'отменить'\n};\n","import { add } from '../../../_modules/i18n';\nimport nl from './nl';\nimport fa from './fa';\nimport de from './de';\nimport ru from './ru';\nexport default function () {\n add(nl, 'nl');\n add(fa, 'fa');\n add(de, 'de');\n add(ru, 'ru');\n}\n","export default {\n Search: 'Zoeken',\n 'No results found.': 'Geen resultaten gevonden.',\n cancel: 'annuleren'\n};\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport configs from './_configs';\nimport translate from './translations/translate';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport * as events from '../../_modules/eventlisteners';\nimport { type, extend } from '../../_modules/helpers';\n// Add the translations.\ntranslate();\n// Add the options and configs.\nMmenu.options.searchfield = options;\nMmenu.configs.searchfield = configs;\nexport default function () {\n var _this = this;\n var options = extendShorthandOptions(this.opts.searchfield);\n this.opts.searchfield = extend(options, Mmenu.options.searchfield);\n var configs = this.conf.searchfield;\n if (!options.add) {\n return;\n }\n //\tBlur searchfield\n this.bind('close:start', function () {\n DOM.find(_this.node.menu, '.mm-searchfield').forEach(function (input) {\n input.blur();\n });\n });\n this.bind('initPanel:after', function (panel) {\n var searchpanel = null;\n //\tAdd the search panel\n if (options.panel.add) {\n searchpanel = initSearchPanel.call(_this);\n }\n //\tAdd the searchfield\n var addTo = null;\n switch (options.addTo) {\n case 'panels':\n addTo = [panel];\n break;\n case 'panel':\n addTo = [searchpanel];\n break;\n default:\n if (typeof options.addTo == 'string') {\n addTo = DOM.find(_this.node.menu, options.addTo);\n }\n else if (type(options.addTo) == 'array') {\n addTo = options.addTo;\n }\n break;\n }\n addTo.forEach(function (form) {\n form = initSearchfield.call(_this, form);\n if (options.search && form) {\n initSearching.call(_this, form);\n }\n });\n //\tAdd the no-results message\n if (options.noResults) {\n initNoResultsMsg.call(_this, options.panel.add ? searchpanel : panel);\n }\n });\n //\tAdd click behavior.\n //\tPrevents default behavior when clicking an anchor\n this.clck.push(function (anchor, args) {\n if (args.inMenu) {\n if (anchor.matches('.mm-searchfield__btn')) {\n //\tClicking the clear button\n if (anchor.matches('.mm-btn_close')) {\n var form = anchor.closest('.mm-searchfield'), input = DOM.find(form, 'input')[0];\n input.value = '';\n _this.search(input);\n return true;\n }\n //\tClicking the submit button\n if (anchor.matches('.mm-btn_next')) {\n var form = anchor.closest('form');\n if (form) {\n form.submit();\n }\n return true;\n }\n }\n }\n });\n}\nvar initSearchPanel = function () {\n var options = this.opts.searchfield, configs = this.conf.searchfield;\n var searchpanel = DOM.children(this.node.pnls, '.mm-panel_search')[0];\n //\tOnly once\n if (searchpanel) {\n return searchpanel;\n }\n searchpanel = DOM.create('div.mm-panel.mm-panel_search.mm-hidden');\n if (options.panel.id) {\n searchpanel.id = options.panel.id;\n }\n if (options.panel.title) {\n searchpanel.dataset.mmTitle = options.panel.title;\n }\n var listview = DOM.create('ul');\n searchpanel.append(listview);\n this.node.pnls.append(searchpanel);\n this.initListview(listview);\n this._initNavbar(searchpanel);\n switch (options.panel.fx) {\n case false:\n break;\n case 'none':\n searchpanel.classList.add('mm-panel_noanimation');\n break;\n default:\n searchpanel.classList.add('mm-panel_fx-' + options.panel.fx);\n break;\n }\n //\tAdd splash content\n if (options.panel.splash) {\n var splash = DOM.create('div.mm-panel__content');\n splash.innerHTML = options.panel.splash;\n searchpanel.append(splash);\n }\n searchpanel.classList.add('mm-panel');\n searchpanel.classList.add('mm-hidden');\n this.node.pnls.append(searchpanel);\n return searchpanel;\n};\nvar initSearchfield = function (wrapper) {\n var options = this.opts.searchfield, configs = this.conf.searchfield;\n //\tNo searchfield in vertical submenus\n if (wrapper.parentElement.matches('.mm-listitem_vertical')) {\n return null;\n }\n //\tOnly one searchfield per panel\n var form = DOM.find(wrapper, '.mm-searchfield')[0];\n if (form) {\n return form;\n }\n function addAttributes(element, attr) {\n if (attr) {\n for (var a in attr) {\n element.setAttribute(a, attr[a]);\n }\n }\n }\n var form = DOM.create((configs.form ? 'form' : 'div') + '.mm-searchfield'), field = DOM.create('div.mm-searchfield__input'), input = DOM.create('input');\n input.type = 'text';\n input.autocomplete = 'off';\n input.placeholder = this.i18n(options.placeholder);\n field.append(input);\n form.append(field);\n wrapper.prepend(form);\n //\tAdd attributes to the input\n addAttributes(input, configs.input);\n //\tAdd the clear button\n if (configs.clear) {\n var anchor = DOM.create('a.mm-btn.mm-btn_close.mm-searchfield__btn');\n anchor.setAttribute('href', '#');\n field.append(anchor);\n }\n //\tAdd attributes and submit to the form\n addAttributes(form, configs.form);\n if (configs.form && configs.submit && !configs.clear) {\n var anchor = DOM.create('a.mm-btn.mm-btn_next.mm-searchfield__btn');\n anchor.setAttribute('href', '#');\n field.append(anchor);\n }\n if (options.cancel) {\n var anchor = DOM.create('a.mm-searchfield__cancel');\n anchor.setAttribute('href', '#');\n anchor.textContent = this.i18n('cancel');\n form.append(anchor);\n }\n return form;\n};\nvar initSearching = function (form) {\n var _this = this;\n var options = this.opts.searchfield, configs = this.conf.searchfield;\n var data = {};\n //\tIn the searchpanel.\n if (form.closest('.mm-panel_search')) {\n data.panels = DOM.find(this.node.pnls, '.mm-panel');\n data.noresults = [form.closest('.mm-panel')];\n //\tIn a panel\n }\n else if (form.closest('.mm-panel')) {\n data.panels = [form.closest('.mm-panel')];\n data.noresults = data.panels;\n //\tNot in a panel, global\n }\n else {\n data.panels = DOM.find(this.node.pnls, '.mm-panel');\n data.noresults = [this.node.menu];\n }\n //\tFilter out vertical submenus\n data.panels = data.panels.filter(function (panel) { return !panel.parentElement.matches('.mm-listitem_vertical'); });\n //\tFilter out search panel\n data.panels = data.panels.filter(function (panel) { return !panel.matches('.mm-panel_search'); });\n // Find listitems and dividers.\n data.listitems = [];\n data.dividers = [];\n data.panels.forEach(function (panel) {\n var _a, _b;\n (_a = data.listitems).push.apply(_a, DOM.find(panel, '.mm-listitem'));\n (_b = data.dividers).push.apply(_b, DOM.find(panel, '.mm-divider'));\n });\n var searchpanel = DOM.children(this.node.pnls, '.mm-panel_search')[0], input = DOM.find(form, 'input')[0], cancel = DOM.find(form, '.mm-searchfield__cancel')[0];\n input['mmSearchfield'] = data;\n //\tOpen the splash panel when focussing the input.\n if (options.panel.add && options.panel.splash) {\n events.off(input, 'focus.splash');\n events.on(input, 'focus.splash', function (evnt) {\n _this.openPanel(searchpanel);\n });\n }\n if (options.cancel) {\n //\tShow the cancel button when focussing the input.\n events.off(input, 'focus.cancel');\n events.on(input, 'focus.cancel', function (evnt) {\n cancel.classList.add('mm-searchfield__cancel-active');\n });\n //\tClose the splash panel when clicking the cancel button.\n events.off(cancel, 'click.splash');\n events.on(cancel, 'click.splash', function (evnt) {\n evnt.preventDefault();\n cancel.classList.remove('mm-searchfield__cancel-active');\n if (searchpanel.matches('.mm-panel_opened')) {\n var parents = DOM.children(_this.node.pnls, '.mm-panel_opened-parent');\n if (parents.length) {\n _this.openPanel(parents[parents.length - 1]);\n }\n }\n });\n }\n //\tFocus the input in the searchpanel when opening the searchpanel.\n if (options.panel.add && options.addTo == 'panel') {\n this.bind('openPanel:finish', function (panel) {\n if (panel === searchpanel) {\n input.focus();\n }\n });\n }\n //\tSearch while typing.\n events.off(input, 'input.search');\n events.on(input, 'input.search', function (evnt) {\n switch (evnt.keyCode) {\n case 9: //\ttab\n case 16: //\tshift\n case 17: //\tcontrol\n case 18: //\talt\n case 37: //\tleft\n case 38: //\ttop\n case 39: //\tright\n case 40: //\tbottom\n break;\n default:\n _this.search(input);\n break;\n }\n });\n //\tSearch initially.\n this.search(input);\n};\nvar initNoResultsMsg = function (wrapper) {\n if (!wrapper) {\n return;\n }\n var options = this.opts.searchfield, configs = this.conf.searchfield;\n //\tNot in a panel\n if (!wrapper.closest('.mm-panel')) {\n wrapper = DOM.children(this.node.pnls, '.mm-panel')[0];\n }\n //\tOnly once\n if (DOM.children(wrapper, '.mm-panel__noresultsmsg').length) {\n return;\n }\n //\tAdd no-results message\n var message = DOM.create('div.mm-panel__noresultsmsg.mm-hidden');\n message.innerHTML = this.i18n(options.noResults);\n wrapper.append(message);\n};\nMmenu.prototype.search = function (input, query) {\n var _this = this;\n var _a;\n var options = this.opts.searchfield, configs = this.conf.searchfield;\n query = query || '' + input.value;\n query = query.toLowerCase().trim();\n var data = input['mmSearchfield'];\n var form = input.closest('.mm-searchfield'), buttons = DOM.find(form, '.mm-btn'), searchpanel = DOM.children(this.node.pnls, '.mm-panel_search')[0];\n /** The panels. */\n var panels = data.panels;\n /** The \"no results\" messages in a cloned array. */\n var noresults = data.noresults;\n /** The listitems in a cloned array. */\n var listitems = data.listitems;\n /** Tje dividers in a cloned array. */\n var dividers = data.dividers;\n //\tReset previous results\n listitems.forEach(function (listitem) {\n listitem.classList.remove('mm-listitem_nosubitems');\n listitem.classList.remove('mm-listitem_onlysubitems');\n listitem.classList.remove('mm-hidden');\n });\n if (searchpanel) {\n DOM.children(searchpanel, '.mm-listview')[0].innerHTML = '';\n }\n panels.forEach(function (panel) {\n panel.scrollTop = 0;\n });\n //\tSearch\n if (query.length) {\n //\tInitially hide all dividers.\n dividers.forEach(function (divider) {\n divider.classList.add('mm-hidden');\n });\n //\tHide listitems that do not match.\n listitems.forEach(function (listitem) {\n var text = DOM.children(listitem, '.mm-listitem__text')[0];\n var add = false;\n // The listitem should be shown if:\n // 1) The text matches the query and\n // 2a) The text is a open-button and\n // 2b) the option showSubPanels is set to true.\n // or 3a) The text is not an anchor and\n // 3b) the option showTextItems is set to true.\n // or 4) The text is an anchor.\n // 1\n if (text &&\n DOM.text(text)\n .toLowerCase()\n .indexOf(query) > -1) {\n // 2a\n if (text.matches('.mm-listitem__btn')) {\n // 2b\n if (options.showSubPanels) {\n add = true;\n }\n }\n // 3a\n else if (!text.matches('a')) {\n // 3b\n if (options.showTextItems) {\n add = true;\n }\n }\n // 4\n else {\n add = true;\n }\n }\n if (!add) {\n listitem.classList.add('mm-hidden');\n }\n });\n /** Whether or not the query yielded results. */\n var hasResults = listitems.filter(function (listitem) { return !listitem.matches('.mm-hidden'); }).length;\n //\tShow all mached listitems in the search panel\n if (options.panel.add) {\n //\tClone all matched listitems into the search panel\n var allitems_1 = [];\n panels.forEach(function (panel) {\n var listitems = DOM.filterLI(DOM.find(panel, '.mm-listitem'));\n listitems = listitems.filter(function (listitem) { return !listitem.matches('.mm-hidden'); });\n if (listitems.length) {\n // Add a divider to indicate in what panel the listitems were.\n if (options.panel.dividers) {\n var divider = DOM.create('li.mm-divider');\n var title = DOM.find(panel, '.mm-navbar__title')[0];\n if (title) {\n divider.innerHTML = title.innerHTML;\n allitems_1.push(divider);\n }\n }\n listitems.forEach(function (listitem) {\n allitems_1.push(listitem.cloneNode(true));\n });\n }\n });\n //\tRemove toggles and checks.\n allitems_1.forEach(function (listitem) {\n listitem\n .querySelectorAll('.mm-toggle, .mm-check')\n .forEach(function (element) {\n element.remove();\n });\n });\n //\tAdd to the search panel.\n (_a = DOM.children(searchpanel, '.mm-listview')[0]).append.apply(_a, allitems_1);\n //\tOpen the search panel.\n this.openPanel(searchpanel);\n }\n else {\n //\tAlso show listitems in sub-panels for matched listitems\n if (options.showSubPanels) {\n panels.forEach(function (panel) {\n var listitems = DOM.find(panel, '.mm-listitem');\n DOM.filterLI(listitems).forEach(function (listitem) {\n var child = listitem['mmChild'];\n if (child) {\n DOM.find(child, '.mm-listitem').forEach(function (listitem) {\n listitem.classList.remove('mm-hidden');\n });\n }\n });\n });\n }\n //\tUpdate parent for sub-panel\n // .reverse() mutates the original array, therefor we \"clone\" it first using [...panels].\n panels.slice().reverse().forEach(function (panel, p) {\n var parent = panel['mmParent'];\n if (parent) {\n //\tThe current panel has mached listitems\n var listitems_1 = DOM.find(panel, '.mm-listitem');\n if (DOM.filterLI(listitems_1).length) {\n //\tShow parent\n if (parent.matches('.mm-hidden')) {\n parent.classList.remove('mm-hidden');\n }\n parent.classList.add('mm-listitem_onlysubitems');\n }\n else if (!input.closest('.mm-panel')) {\n if (panel.matches('.mm-panel_opened') ||\n panel.matches('.mm-panel_opened-parent')) {\n //\tCompensate the timeout for the opening animation\n setTimeout(function () {\n _this.openPanel(parent.closest('.mm-panel'));\n }, (p + 1) * (_this.conf.openingInterval * 1.5));\n }\n parent.classList.add('mm-listitem_nosubitems');\n }\n }\n });\n //\tShow first preceeding divider of parent\n panels.forEach(function (panel) {\n var listitems = DOM.find(panel, '.mm-listitem');\n DOM.filterLI(listitems).forEach(function (listitem) {\n var divider = DOM.prevAll(listitem, '.mm-divider')[0];\n if (divider) {\n divider.classList.remove('mm-hidden');\n }\n });\n });\n }\n //\tShow submit / clear button\n buttons.forEach(function (button) { return button.classList.remove('mm-hidden'); });\n //\tShow/hide no results message\n noresults.forEach(function (wrapper) {\n DOM.find(wrapper, '.mm-panel__noresultsmsg').forEach(function (message) {\n return message.classList[hasResults ? 'add' : 'remove']('mm-hidden');\n });\n });\n if (options.panel.add) {\n //\tHide splash\n if (options.panel.splash) {\n DOM.find(searchpanel, '.mm-panel__content').forEach(function (splash) {\n return splash.classList.add('mm-hidden');\n });\n }\n //\tRe-show original listitems when in search panel\n listitems.forEach(function (listitem) {\n return listitem.classList.remove('mm-hidden');\n });\n dividers.forEach(function (divider) { return divider.classList.remove('mm-hidden'); });\n }\n //\tDon't search\n }\n else {\n //\tShow all items\n listitems.forEach(function (listitem) { return listitem.classList.remove('mm-hidden'); });\n dividers.forEach(function (divider) { return divider.classList.remove('mm-hidden'); });\n //\tHide submit / clear button\n buttons.forEach(function (button) { return button.classList.add('mm-hidden'); });\n //\tHide no results message\n noresults.forEach(function (wrapper) {\n DOM.find(wrapper, '.mm-panel__noresultsmsg').forEach(function (message) {\n return message.classList.add('mm-hidden');\n });\n });\n if (options.panel.add) {\n //\tShow splash\n if (options.panel.splash) {\n DOM.find(searchpanel, '.mm-panel__content').forEach(function (splash) {\n return splash.classList.remove('mm-hidden');\n });\n //\tClose panel\n }\n else if (!input.closest('.mm-panel_search')) {\n var opened = DOM.children(this.node.pnls, '.mm-panel_opened-parent');\n this.openPanel(opened.slice(-1)[0]);\n }\n }\n }\n //\tUpdate for other addons\n this.trigger('updateListview');\n};\n","var options = {\n add: false,\n addTo: 'panels'\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n add: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n;\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport * as support from '../../_modules/support';\nimport { extend } from '../../_modules/helpers';\n// Add the options.\nMmenu.options.sectionIndexer = options;\nexport default function () {\n var _this = this;\n var options = extendShorthandOptions(this.opts.sectionIndexer);\n this.opts.sectionIndexer = extend(options, Mmenu.options.sectionIndexer);\n if (!options.add) {\n return;\n }\n this.bind('initPanels:after', function () {\n //\tAdd the indexer, only if it does not allready excists\n if (!_this.node.indx) {\n var buttons_1 = '';\n 'abcdefghijklmnopqrstuvwxyz'.split('').forEach(function (letter) {\n buttons_1 += '' + letter + '';\n });\n var indexer = DOM.create('div.mm-sectionindexer');\n indexer.innerHTML = buttons_1;\n _this.node.pnls.prepend(indexer);\n _this.node.indx = indexer;\n //\tPrevent default behavior when clicking an anchor\n _this.node.indx.addEventListener('click', function (evnt) {\n var anchor = evnt.target;\n if (anchor.matches('a')) {\n evnt.preventDefault();\n }\n });\n //\tScroll onMouseOver / onTouchStart\n var mouseOverEvent = function (evnt) {\n if (!evnt.target.matches('a')) {\n return;\n }\n var letter = evnt.target.textContent, panel = DOM.children(_this.node.pnls, '.mm-panel_opened')[0];\n var newTop = -1, oldTop = panel.scrollTop;\n panel.scrollTop = 0;\n DOM.find(panel, '.mm-divider')\n .filter(function (divider) { return !divider.matches('.mm-hidden'); })\n .forEach(function (divider) {\n if (newTop < 0 &&\n letter ==\n divider.textContent\n .trim()\n .slice(0, 1)\n .toLowerCase()) {\n newTop = divider.offsetTop;\n }\n });\n panel.scrollTop = newTop > -1 ? newTop : oldTop;\n };\n if (support.touch) {\n _this.node.indx.addEventListener('touchstart', mouseOverEvent);\n _this.node.indx.addEventListener('touchmove', mouseOverEvent);\n }\n else {\n _this.node.indx.addEventListener('mouseover', mouseOverEvent);\n }\n }\n //\tShow or hide the indexer\n _this.bind('openPanel:start', function (panel) {\n var active = DOM.find(panel, '.mm-divider').filter(function (divider) { return !divider.matches('.mm-hidden'); }).length;\n _this.node.indx.classList[active ? 'add' : 'remove']('mm-sectionindexer_active');\n });\n });\n}\n","var options = {\n current: true,\n hover: false,\n parent: false\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n hover: options,\n parent: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n;\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport { extend } from '../../_modules/helpers';\n//\tAdd the options.\nMmenu.options.setSelected = options;\nexport default function () {\n var _this = this;\n var options = extendShorthandOptions(this.opts.setSelected);\n this.opts.setSelected = extend(options, Mmenu.options.setSelected);\n //\tFind current by URL\n if (options.current == 'detect') {\n var findCurrent_1 = function (url) {\n url = url.split('?')[0].split('#')[0];\n var anchor = _this.node.menu.querySelector('a[href=\"' + url + '\"], a[href=\"' + url + '/\"]');\n if (anchor) {\n _this.setSelected(anchor.parentElement);\n }\n else {\n var arr = url.split('/').slice(0, -1);\n if (arr.length) {\n findCurrent_1(arr.join('/'));\n }\n }\n };\n this.bind('initMenu:after', function () {\n findCurrent_1.call(_this, window.location.href);\n });\n //\tRemove current selected item\n }\n else if (!options.current) {\n this.bind('initListview:after', function (listview) {\n DOM.children(listview, '.mm-listitem_selected').forEach(function (listitem) {\n listitem.classList.remove('mm-listitem_selected');\n });\n });\n }\n //\tAdd :hover effect on items\n if (options.hover) {\n this.bind('initMenu:after', function () {\n _this.node.menu.classList.add('mm-menu_selected-hover');\n });\n }\n //\tSet parent item selected for submenus\n if (options.parent) {\n this.bind('openPanel:finish', function (panel) {\n //\tRemove all\n DOM.find(_this.node.pnls, '.mm-listitem_selected-parent').forEach(function (listitem) {\n listitem.classList.remove('mm-listitem_selected-parent');\n });\n //\tMove up the DOM tree\n var parent = panel['mmParent'];\n while (parent) {\n if (!parent.matches('.mm-listitem_vertical')) {\n parent.classList.add('mm-listitem_selected-parent');\n }\n parent = parent.closest('.mm-panel');\n parent = parent['mmParent'];\n }\n });\n this.bind('initMenu:after', function () {\n _this.node.menu.classList.add('mm-menu_selected-parent');\n });\n }\n}\n","var options = {\n collapsed: {\n use: false,\n blockMenu: true,\n hideDivider: false,\n hideNavbar: true\n },\n expanded: {\n use: false,\n initial: 'open'\n }\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'string' ||\n (typeof options == 'boolean' && options) ||\n typeof options == 'number') {\n options = {\n expanded: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n //\tExtend collapsed shorthand options.\n if (typeof options.collapsed == 'boolean' && options.collapsed) {\n options.collapsed = {\n use: true\n };\n }\n if (typeof options.collapsed == 'string' ||\n typeof options.collapsed == 'number') {\n options.collapsed = {\n use: options.collapsed\n };\n }\n if (typeof options.collapsed != 'object') {\n options.collapsed = {};\n }\n //\tExtend expanded shorthand options.\n if (typeof options.expanded == 'boolean' && options.expanded) {\n options.expanded = {\n use: true\n };\n }\n if (typeof options.expanded == 'string' ||\n typeof options.expanded == 'number') {\n options.expanded = {\n use: options.expanded\n };\n }\n if (typeof options.expanded != 'object') {\n options.expanded = {};\n }\n return options;\n}\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport * as media from '../../_modules/matchmedia';\nimport { extend } from '../../_modules/helpers';\n// Add the options.\nMmenu.options.sidebar = options;\nexport default function () {\n var _this = this;\n if (!this.opts.offCanvas) {\n return;\n }\n var options = extendShorthandOptions(this.opts.sidebar);\n this.opts.sidebar = extend(options, Mmenu.options.sidebar);\n //\tCollapsed\n if (options.collapsed.use) {\n //\tMake the menu collapsable.\n this.bind('initMenu:after', function () {\n _this.node.menu.classList.add('mm-menu_sidebar-collapsed');\n if (options.collapsed.blockMenu &&\n _this.opts.offCanvas &&\n !DOM.children(_this.node.menu, '.mm-menu__blocker')[0]) {\n var anchor = DOM.create('a.mm-menu__blocker');\n anchor.setAttribute('href', '#' + _this.node.menu.id);\n _this.node.menu.prepend(anchor);\n }\n if (options.collapsed.hideNavbar) {\n _this.node.menu.classList.add('mm-menu_hidenavbar');\n }\n if (options.collapsed.hideDivider) {\n _this.node.menu.classList.add('mm-menu_hidedivider');\n }\n });\n //\tEn-/disable the collapsed sidebar.\n var enable = function () {\n _this.node.wrpr.classList.add('mm-wrapper_sidebar-collapsed');\n };\n var disable = function () {\n _this.node.wrpr.classList.remove('mm-wrapper_sidebar-collapsed');\n };\n if (typeof options.collapsed.use == 'boolean') {\n this.bind('initMenu:after', enable);\n }\n else {\n media.add(options.collapsed.use, enable, disable);\n }\n }\n //\tExpanded\n if (options.expanded.use) {\n //\tMake the menu expandable\n this.bind('initMenu:after', function () {\n _this.node.menu.classList.add('mm-menu_sidebar-expanded');\n });\n //\tEn-/disable the expanded sidebar.\n var enable = function () {\n _this.node.wrpr.classList.add('mm-wrapper_sidebar-expanded');\n if (!_this.node.wrpr.matches('.mm-wrapper_sidebar-closed')) {\n _this.open();\n }\n };\n var disable = function () {\n _this.node.wrpr.classList.remove('mm-wrapper_sidebar-expanded');\n _this.close();\n };\n if (typeof options.expanded.use == 'boolean') {\n this.bind('initMenu:after', enable);\n }\n else {\n media.add(options.expanded.use, enable, disable);\n }\n // Manually en-/disable the expanded sidebar (open / close the menu)\n this.bind('close:start', function () {\n if (_this.node.wrpr.matches('.mm-wrapper_sidebar-expanded')) {\n _this.node.wrpr.classList.add('mm-wrapper_sidebar-closed');\n if (options.expanded.initial == 'remember') {\n window.localStorage.setItem('mmenuExpandedState', 'closed');\n }\n }\n });\n this.bind('open:start', function () {\n if (_this.node.wrpr.matches('.mm-wrapper_sidebar-expanded')) {\n _this.node.wrpr.classList.remove('mm-wrapper_sidebar-closed');\n if (options.expanded.initial == 'remember') {\n window.localStorage.setItem('mmenuExpandedState', 'open');\n }\n }\n });\n // Set the initial state\n var initialState = options.expanded.initial;\n if (options.expanded.initial == 'remember') {\n var state = window.localStorage.getItem('mmenuExpandedState');\n switch (state) {\n case 'open':\n case 'closed':\n initialState = state;\n break;\n }\n }\n if (initialState == 'closed') {\n this.bind('initMenu:after', function () {\n _this.node.wrpr.classList.add('mm-wrapper_sidebar-closed');\n });\n }\n //\tAdd click behavior.\n //\tPrevents default behavior when clicking an anchor\n this.clck.push(function (anchor, args) {\n if (args.inMenu && args.inListview) {\n if (_this.node.wrpr.matches('.mm-wrapper_sidebar-expanded')) {\n return {\n close: options.expanded.initial == 'closed'\n };\n }\n }\n });\n }\n}\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport * as DOM from '../../_modules/dom';\n//\tAdd the classnames.\nMmenu.configs.classNames.toggles = {\n toggle: 'Toggle',\n check: 'Check'\n};\nexport default function () {\n var _this = this;\n this.bind('initPanel:after', function (panel) {\n //\tRefactor toggle classes\n DOM.find(panel, 'input').forEach(function (input) {\n DOM.reClass(input, _this.conf.classNames.toggles.toggle, 'mm-toggle');\n DOM.reClass(input, _this.conf.classNames.toggles.check, 'mm-check');\n });\n });\n}\n","/*!\n * mmenu.js\n * mmenujs.com\n *\n * Copyright (c) Fred Heusschen\n * frebsite.nl\n *\n * License: CC-BY-NC-4.0\n * http://creativecommons.org/licenses/by-nc/4.0/\n */\n\n//\tCore\nimport Mmenu from '../dist/core/oncanvas/mmenu.oncanvas';\n\n//\tCore add-ons\nimport offcanvas from '../dist/core/offcanvas/mmenu.offcanvas';\nimport screenReader from '../dist/core/screenreader/mmenu.screenreader';\nimport scrollBugFix from '../dist/core/scrollbugfix/mmenu.scrollbugfix';\n\n//\tAdd-ons\nimport autoHeight from '../dist/addons/autoheight/mmenu.autoheight';\nimport backButton from '../dist/addons/backbutton/mmenu.backbutton';\nimport columns from '../dist/addons/columns/mmenu.columns';\nimport counters from '../dist/addons/counters/mmenu.counters';\nimport dividers from '../dist/addons/dividers/mmenu.dividers';\nimport drag from '../dist/addons/drag/mmenu.drag';\nimport dropdown from '../dist/addons/dropdown/mmenu.dropdown';\nimport fixedElements from '../dist/addons/fixedelements/mmenu.fixedelements';\nimport iconbar from '../dist/addons/iconbar/mmenu.iconbar';\nimport iconPanels from '../dist/addons/iconpanels/mmenu.iconpanels';\nimport keyboardNavigation from '../dist/addons/keyboardnavigation/mmenu.keyboardnavigation';\nimport lazySubmenus from '../dist/addons/lazysubmenus/mmenu.lazysubmenus';\nimport navbars from '../dist/addons/navbars/mmenu.navbars';\nimport pageScroll from '../dist/addons/pagescroll/mmenu.pagescroll';\nimport searchfield from '../dist/addons/searchfield/mmenu.searchfield';\nimport sectionIndexer from '../dist/addons/sectionindexer/mmenu.sectionindexer';\nimport setSelected from '../dist/addons/setselected/mmenu.setselected';\nimport sidebar from '../dist/addons/sidebar/mmenu.sidebar';\nimport toggles from '../dist/addons/toggles/mmenu.toggles';\n\n//\tWrappers\nimport angular from '../dist/wrappers/angular/mmenu.angular';\nimport bootstrap from '../dist/wrappers/bootstrap/mmenu.bootstrap';\nimport olark from '../dist/wrappers/olark/mmenu.olark';\nimport turbolinks from '../dist/wrappers/turbolinks/mmenu.turbolinks';\nimport wordpress from '../dist/wrappers/wordpress/mmenu.wordpress';\n\nMmenu.addons = {\n //\tCore add-ons\n offcanvas,\n screenReader,\n scrollBugFix,\n\n //\tAdd-ons\n autoHeight,\n backButton,\n columns,\n counters,\n dividers,\n drag,\n dropdown,\n fixedElements,\n iconbar,\n iconPanels,\n keyboardNavigation,\n lazySubmenus,\n navbars,\n pageScroll,\n searchfield,\n sectionIndexer,\n setSelected,\n sidebar,\n toggles\n};\n\n//\tWrappers\nMmenu.wrappers = {\n angular,\n bootstrap,\n olark,\n turbolinks,\n wordpress\n};\n\n// Export module\nexport default Mmenu;\n\n//\tGlobal namespace\nwindow.Mmenu = Mmenu;\n\n//\tjQuery plugin\n(function($) {\n if ($) {\n $.fn.mmenu = function(options, configs) {\n var $result = $();\n\n this.each(function(e, element) {\n //\tDon't proceed if the element already is a mmenu.\n if (element['mmApi']) {\n return;\n }\n\n let menu = new Mmenu(element, options, configs),\n $menu = $(menu.node.menu);\n\n //\tStore the API.\n $menu.data('mmenu', menu.API);\n\n $result = $result.add($menu);\n });\n\n return $result;\n };\n }\n})(window.jQuery || window.Zepto || null);\n","export default function () {\n this.opts.onClick = {\n close: true,\n preventDefault: false,\n setSelected: true\n };\n}\n;\n","import * as DOM from '../../_modules/dom';\nexport default function () {\n var _this = this;\n //\tCreate the menu\n if (this.node.menu.matches('.navbar-collapse')) {\n //\tNo need for cloning the menu...\n if (this.conf.offCanvas) {\n this.conf.offCanvas.clone = false;\n }\n //\t... We'll create a new menu\n var nav = DOM.create('nav'), panel = DOM.create('div');\n nav.append(panel);\n DOM.children(this.node.menu).forEach(function (child) {\n switch (true) {\n case child.matches('.navbar-nav'):\n panel.append(cloneNav(child));\n break;\n case child.matches('.dropdown-menu'):\n panel.append(cloneDropdown(child));\n break;\n case child.matches('.form-inline'):\n _this.conf.searchfield.form = {\n action: child.getAttribute('action') || null,\n method: child.getAttribute('method') || null\n };\n _this.conf.searchfield.input = {\n name: child.querySelector('input').getAttribute('name') ||\n null\n };\n _this.conf.searchfield.clear = false;\n _this.conf.searchfield.submit = true;\n break;\n default:\n panel.append(child.cloneNode(true));\n break;\n }\n });\n //\tSet the menu\n this.bind('initMenu:before', function () {\n document.body.prepend(nav);\n _this.node.menu = nav;\n });\n //\tHijack the toggler.\n var parent_1 = this.node.menu.parentElement;\n if (parent_1) {\n var toggler = parent_1.querySelector('.navbar-toggler');\n if (toggler) {\n // toggler.removeAttribute('data-target');\n delete toggler.dataset.target;\n toggler.removeAttribute('aria-controls');\n //\tRemove all bound events.\n toggler.outerHTML = toggler.outerHTML;\n toggler = parent_1.querySelector('.navbar-toggler');\n // Open the menu on-click.\n toggler.addEventListener('click', function (evnt) {\n evnt.preventDefault();\n evnt.stopImmediatePropagation();\n _this[_this.vars.opened ? 'close' : 'open']();\n });\n }\n }\n }\n function cloneLink(anchor) {\n var link = DOM.create(anchor.matches('a') ? 'a' : 'span');\n //\tCopy attributes\n var attr = ['href', 'title', 'target'];\n for (var a = 0; a < attr.length; a++) {\n if (typeof anchor.getAttribute(attr[a]) != 'undefined') {\n link.setAttribute(attr[a], anchor.getAttribute(attr[a]));\n }\n }\n //\tCopy contents\n link.innerHTML = anchor.innerHTML;\n //\tRemove Screen reader text.\n DOM.find(link, '.sr-only').forEach(function (sro) {\n sro.remove();\n });\n return link;\n }\n function cloneDropdown(dropdown) {\n var list = DOM.create('ul');\n DOM.children(dropdown).forEach(function (anchor) {\n var item = DOM.create('li');\n if (anchor.matches('.dropdown-divider')) {\n item.classList.add('Divider');\n }\n else if (anchor.matches('.dropdown-item')) {\n item.append(cloneLink(anchor));\n }\n list.append(item);\n });\n return list;\n }\n function cloneNav(nav) {\n var list = DOM.create('ul');\n DOM.find(nav, '.nav-item').forEach(function (anchor) {\n var item = DOM.create('li');\n if (anchor.matches('.active')) {\n item.classList.add('Selected');\n }\n if (!anchor.matches('.nav-link')) {\n var dropdown = DOM.children(anchor, '.dropdown-menu')[0];\n if (dropdown) {\n item.append(cloneDropdown(dropdown));\n }\n anchor = DOM.children(anchor, '.nav-link')[0];\n }\n item.prepend(cloneLink(anchor));\n list.append(item);\n });\n return list;\n }\n}\n","export default function () {\n this.conf.offCanvas.page.noSelector.push('#olark');\n}\n;\n","export default function () {\n var classnames;\n document.addEventListener('turbolinks:before-visit', function (evnt) {\n classnames = document\n .querySelector('.mm-wrapper')\n .className.split(' ')\n .filter(function (name) { return /mm-/.test(name); });\n });\n document.addEventListener('turbolinks:load', function (evnt) {\n if (typeof classnames === 'undefined') {\n return;\n }\n document.querySelector('.mm-wrapper').className = classnames;\n });\n}\n","export default function () {\n this.conf.classNames.selected = 'current-menu-item';\n var wpadminbar = document.getElementById('wpadminbar');\n if (wpadminbar) {\n wpadminbar.style.position = 'fixed';\n wpadminbar.classList.add('mm-slideout');\n }\n}\n"],"sourceRoot":""}