{"version":3,"file":"js/mmenu.js","mappings":"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","sources":["webpack://clienti-baseline-webpack/./node_modules/core-js/internals/a-callable.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/an-object.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/array-for-each.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/array-iteration.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/array-method-is-strict.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/array-species-constructor.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/array-species-create.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/classof-raw.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/classof.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/create-property-descriptor.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/descriptors.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/document-create-element.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/dom-iterables.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/dom-token-list-prototype.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/engine-user-agent.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/engine-v8-version.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/fails.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/function-bind-context.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/function-call.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/function-name.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/function-uncurry-this.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/get-built-in.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/get-method.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/global.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/has-own-property.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/hidden-keys.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/ie8-dom-define.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/indexed-object.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/inspect-source.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/internal-state.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/is-array.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/is-callable.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/is-constructor.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/is-object.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/is-pure.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/is-symbol.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/length-of-array-like.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/native-symbol.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/native-weak-map.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/object-define-property.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/object-to-string.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/redefine.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/require-object-coercible.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/set-global.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/shared-key.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/shared-store.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/shared.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/to-length.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/to-object.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/to-primitive.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/to-property-key.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/to-string-tag-support.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/try-to-string.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/uid.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/well-known-symbol.js","webpack://clienti-baseline-webpack/./node_modules/core-js/modules/es.object.to-string.js","webpack://clienti-baseline-webpack/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://clienti-baseline-webpack/webpack/bootstrap","webpack://clienti-baseline-webpack/webpack/runtime/global","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/oncanvas/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/oncanvas/_configs.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/_modules/helpers.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/_modules/i18n.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/oncanvas/translations/nl.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/oncanvas/translations/fa.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/oncanvas/translations/de.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/oncanvas/translations/ru.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/_modules/dom.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/_modules/matchmedia.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/oncanvas/translations/translate.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/oncanvas/mmenu.oncanvas.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/offcanvas/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/offcanvas/_configs.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/_modules/eventlisteners.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/offcanvas/mmenu.offcanvas.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/screenreader/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/screenreader/_configs.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/screenreader/translations/fa.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/screenreader/translations/de.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/screenreader/translations/ru.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/screenreader/mmenu.screenreader.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/screenreader/translations/translate.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/screenreader/translations/nl.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/scrollbugfix/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/_modules/support.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/scrollbugfix/mmenu.scrollbugfix.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/autoheight/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/autoheight/mmenu.autoheight.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/backbutton/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/backbutton/mmenu.backbutton.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/columns/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/columns/mmenu.columns.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/counters/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/counters/mmenu.counters.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/dividers/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/dividers/mmenu.dividers.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/drag/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/_modules/dragevents/_support.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/_modules/dragevents/_defaults.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/_modules/dragevents/_settings.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/_modules/dragevents/_helpers.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/_modules/dragevents/index.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/drag/_drag.open.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/drag/mmenu.drag.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/dropdown/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/dropdown/_configs.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/dropdown/mmenu.dropdown.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/fixedelements/_configs.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/fixedelements/mmenu.fixedelements.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/iconbar/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/iconbar/mmenu.iconbar.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/iconpanels/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/iconpanels/mmenu.iconpanels.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/keyboardnavigation/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/keyboardnavigation/mmenu.keyboardnavigation.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/lazysubmenus/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/lazysubmenus/mmenu.lazysubmenus.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/navbars/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/navbars/_configs.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/navbars/mmenu.navbars.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/navbars/_navbar.breadcrumbs.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/navbars/_navbar.close.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/navbars/_navbar.prev.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/navbars/_navbar.searchfield.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/navbars/_navbar.title.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/navbars/_navbar.tabs.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/pagescroll/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/pagescroll/_configs.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/pagescroll/mmenu.pagescroll.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/searchfield/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/searchfield/_configs.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/searchfield/translations/fa.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/searchfield/translations/de.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/searchfield/translations/ru.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/searchfield/mmenu.searchfield.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/searchfield/translations/translate.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/searchfield/translations/nl.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/sectionindexer/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/sectionindexer/mmenu.sectionindexer.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/setselected/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/setselected/mmenu.setselected.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/sidebar/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/sidebar/mmenu.sidebar.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/toggles/mmenu.toggles.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/src/mmenu.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/wrappers/angular/mmenu.angular.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/wrappers/bootstrap/mmenu.bootstrap.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/wrappers/olark/mmenu.olark.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/wrappers/turbolinks/mmenu.turbolinks.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/wrappers/wordpress/mmenu.wordpress.js","webpack://clienti-baseline-webpack/./src/scripts/mmenu.js","webpack://clienti-baseline-webpack/./src/scripts/partials/mmenu.js"],"sourcesContent":["var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_REJECT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var global = require('../internals/global');\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Object = global.Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : bind ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var call = Function.prototype.call;\n\nmodule.exports = call.bind ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar callBind = bind && bind.bind(call);\n\nmodule.exports = bind ? function (fn) {\n return fn && callBind(call, fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function (argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function (argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n // we can't check .prototype since constructors produced by .bind haven't it\n } return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n};\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Object = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar TypeError = global.TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var name = options && options.name !== undefined ? options.name : key;\n var state;\n if (isCallable(value)) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n createNonEnumerableProperty(value, 'name', name);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.19.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TypeError = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","var options = {\n hooks: {},\n extensions: [],\n wrappers: [],\n navbar: {\n add: true,\n sticky: true,\n title: 'Menu',\n titleLink: 'parent'\n },\n onClick: {\n close: null,\n preventDefault: null,\n setSelected: true\n },\n slidingSubmenus: true\n};\nexport default options;\n","var configs = {\n classNames: {\n inset: 'Inset',\n nolistview: 'NoListview',\n nopanel: 'NoPanel',\n panel: 'Panel',\n selected: 'Selected',\n vertical: 'Vertical'\n },\n language: null,\n openingInterval: 25,\n panelNodetype: ['ul', 'ol', 'div'],\n transitionDuration: 400\n};\nexport default configs;\n","/**\n * Deep extend an object with the given defaults.\n * Note that the extended object is not a clone, meaning the original object will also be updated.\n *\n * @param \t{object}\torignl\tThe object to extend to.\n * @param \t{object}\tdfault\tThe object to extend from.\n * @return\t{object}\t\t\tThe extended \"orignl\" object.\n */\nexport function extend(orignl, dfault) {\n if (type(orignl) != 'object') {\n orignl = {};\n }\n if (type(dfault) != 'object') {\n dfault = {};\n }\n for (var k in dfault) {\n if (!dfault.hasOwnProperty(k)) {\n continue;\n }\n if (typeof orignl[k] == 'undefined') {\n orignl[k] = dfault[k];\n }\n else if (type(orignl[k]) == 'object') {\n extend(orignl[k], dfault[k]);\n }\n }\n return orignl;\n}\n/**\n * Detect the touch / dragging direction on a touch device.\n *\n * @param {HTMLElement} surface The element to monitor for touch events.\n * @return {object} Object with \"get\" function.\n */\nexport function touchDirection(surface) {\n var direction = '';\n surface.addEventListener('touchmove', function (evnt) {\n direction = '';\n if (evnt.movementY > 0) {\n direction = 'down';\n }\n else if (evnt.movementY < 0) {\n direction = 'up';\n }\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\n ? children.filter(function (child) { return child.matches(filter); })\n : 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\n ? parents.filter(function (parent) { return parent.matches(filter); })\n : 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 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.getAttribute('data-mm-parent')) {\n parentPanel = DOM.find(this.node.pnls, panel.getAttribute('data-mm-parent'))[0];\n }\n // if (panel.dataset.mmParent) { // IE10 has no dataset\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 var titleText = DOM.create('span');\n title.append(titleText);\n titleText.innerHTML =\n // panel.dataset.mmTitle || // IE10 has no dataset :(\n panel.getAttribute('data-mm-title') ||\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 /**\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 //\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 _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 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', (panel: HTMLElement) => {\n // DOM.find(panel, '.mm-btn').forEach(button => {\n // Mmenu.sr_aria(button, 'haspopup', true);\n // let 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","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","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 wrapper = evnt.target.closest('.mm-panel, .mm-iconbar__top, .mm-iconbar__bottom');\n if (wrapper && wrapper.closest('.mm-listitem_vertical')) {\n wrapper = DOM.parents(wrapper, '.mm-panel').pop();\n }\n if (wrapper) {\n // When dragging a non-scrollable panel,\n // we can simple preventDefault and stopPropagation.\n if (wrapper.scrollHeight === wrapper.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 (wrapper.scrollTop == 0 && touchDir.get() == 'down') ||\n // When scrolled down and dragging up\n (wrapper.scrollHeight ==\n wrapper.scrollTop + wrapper.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 if (panel) {\n panel.scrollTop = 0;\n }\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 if (panel) {\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}\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 if (parent.classList.contains('mm-listitem_vertical')) {\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 if (panel) {\n /** The parent panel. */\n var parent_1 = panel['mmParent'];\n if (parent_1 &&\n parent_1.classList.contains('mm-listitem_vertical')) {\n return;\n }\n }\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 this.currentPosition = {\n x: event.touches ? event.touches[0].pageX : event.pageX || 0,\n y: event.touches ? event.touches[0].pageY : event.pageY || 0\n };\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 (this.currentPosition.y < 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 (this.currentPosition.x > 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 (this.currentPosition.y > 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 (this.currentPosition.x < left) {\n return;\n }\n }\n //\tStore the start x- and y-position.\n this.startPosition = {\n x: this.currentPosition.x,\n y: this.currentPosition.y\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 var position = {\n x: event.changedTouches\n ? event.touches[0].pageX\n : event.pageX || 0,\n y: event.changedTouches\n ? event.touches[0].pageY\n : event.pageY || 0\n };\n this.movement = {\n x: position.x - this.currentPosition.x,\n y: position.y - this.currentPosition.y\n };\n this.distance = {\n x: position.x - this.startPosition.x,\n y: position.y - this.startPosition.y\n };\n this.currentPosition = {\n x: position.x,\n y: position.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('initPanels:before', 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 //\tre-enable the default opened panel to be initialized.\n this.bind('initPanels: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 console.log(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 }\n });\n //\tinitPanel for current- and sub panels before openPanel\n this.bind('openPanel:before', function (panel) {\n var panels = DOM.find(panel, '.mm-panel_lazysubmenu').filter(function (panel) {\n return !panel.matches('.mm-panel_lazysubmenu .mm-panel_lazysubmenu');\n });\n if (panel.matches('.mm-panel_lazysubmenu')) {\n panels.unshift(panel);\n }\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 // child.classList.remove(...classnames);\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 panelPrev: 'Prev',\n panelTitle: 'Title'\n};\nimport breadcrumbs from './_navbar.breadcrumbs';\nimport close from './_navbar.close';\nimport prev from './_navbar.prev';\nimport searchfield from './_navbar.searchfield';\nimport title from './_navbar.title';\nNavbars.navbarContents = {\n breadcrumbs: breadcrumbs,\n close: close,\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 span')[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 });\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 var titleText = DOM.create('span');\n title.append(titleText);\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 span');\n }\n //\tGet the URL for the title.\n _url =\n original && original.closest('a')\n ? original.closest('a').getAttribute('href')\n : '';\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 titleText.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","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport 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.setAttribute('data-mm-title', options.panel.title);\n // searchpanel.dataset.mmTitle = options.panel.title; // IE10 has no dataset :(\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 search panel\n data.panels = data.panels.filter(function (panel) { return !panel.matches('.mm-panel_search'); });\n //\tFilter out vertical submenus\n data.panels = data.panels.filter(function (panel) { return !panel.parentElement.matches('.mm-listitem_vertical'); });\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 _a;\n var _this = this;\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 __spreadArrays(panels).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 parent panels of vertical submenus\n panels.forEach(function (panel) {\n var listitems = DOM.find(panel, '.mm-listitem');\n DOM.filterLI(listitems).forEach(function (listitem) {\n DOM.parents(listitem, '.mm-listitem_vertical').forEach(function (parent) {\n if (parent.matches('.mm-hidden')) {\n parent.classList.remove('mm-hidden');\n parent.classList.add('mm-listitem_onlysubitems');\n }\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","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","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\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\nif (window) {\n window.Mmenu = Mmenu;\n}\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 var menu = new Mmenu(element, options, configs),\n $menu = $(menu.node.menu);\n\n //\tStore the API for backward compat.\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; // IE10 has no dataset :(\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 (anchor.getAttribute(attr[a])) {\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","/*************************************************/\r\n/* Partials */\r\n/*************************************************/\r\nimport { mmenu } from \"./partials/mmenu.js\";\r\n\r\n/*************************************************/\r\n/* Init */\r\n/*************************************************/\r\n\r\nconst ready = callback => {\r\n if (document.readyState != 'loading') callback();\r\n else document.addEventListener('DOMContentLoaded', callback);\r\n}\r\n\r\nready(() => {\r\n mmenu();\r\n});\r\n","/*************************************************/\r\n/* MMENU */\r\n/*************************************************/\r\nimport Mmenu from 'mmenu-js';\r\n\r\nexport function mmenu() {\r\n let mobileMenu,\r\n mobileMenuTrigger,\r\n breakpointMaxM = 768,\r\n resizeTimer;\r\n\r\n const mobileMenuSelector = '#mobile-menu',\r\n mainContentSelector = '#mainContent';\r\n\r\n const init = function () {\r\n mobileMenu = document.querySelector(mobileMenuSelector);\r\n mobileMenuTrigger = document.querySelector('.mm-trigger');\r\n breakpointMaxM = 768;\r\n const deactivated = document.querySelectorAll('.mobile-menu__deactivated-link');\r\n\r\n const menu = new Mmenu(mobileMenuSelector, {\r\n \"slidingSubmenus\": false,\r\n // options\r\n 'extensions': [\r\n 'position-right',\r\n 'pagedim-black',\r\n 'border-full'\r\n ]\r\n }, {\r\n // configuration\r\n offCanvas: {\r\n page: {\r\n nodetype: 'main',\r\n selector:mainContentSelector\r\n }\r\n },\r\n classNames: {\r\n selected: 'custom-mm-selected',\r\n panel: 'custom-mm-panel'\r\n }\r\n });\r\n\r\n // Init mmenu api\r\n const mmenuApi = menu.API;\r\n\r\n // Open menu\r\n mobileMenuTrigger.addEventListener('click', () => {\r\n if (mmenuApi) {\r\n mobileMenu.setAttribute('style', '');\r\n deactivated.forEach(event => {\r\n event.addEventListener('click', () => {\r\n event.nextElementSibling.click();\r\n })\r\n event.nextElementSibling.click();\r\n })\r\n mmenuApi.open();\r\n }\r\n });\r\n\r\n // Close mmenu if screen width gets over breakpointMaxM (768px)\r\n window.addEventListener('resize', e => {\r\n clearTimeout(resizeTimer);\r\n resizeTimer = setTimeout(function () {\r\n const width = document.body.clientWidth;\r\n const mmIsOpened = document.querySelector('body').classList.contains('mm-wrapper_opening');\r\n if (mmenuApi && mmIsOpened && width > breakpointMaxM) {\r\n mmenuApi.close();\r\n }\r\n }, 250);\r\n });\r\n };\r\n\r\n init();\r\n}\r\n"],"names":["global","isCallable","tryToString","TypeError","module","exports","argument","isObject","String","$forEach","STRICT_METHOD","arrayMethodIsStrict","forEach","callbackfn","this","arguments","length","undefined","bind","uncurryThis","IndexedObject","toObject","lengthOfArrayLike","arraySpeciesCreate","push","createMethod","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","$this","that","specificCreate","value","result","O","self","boundFunction","index","create","target","map","filter","some","every","find","findIndex","filterReject","fails","METHOD_NAME","method","call","isArray","isConstructor","SPECIES","wellKnownSymbol","Array","originalArray","C","constructor","prototype","arraySpeciesConstructor","toString","stringSlice","slice","it","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","Object","CORRECT_ARGUMENTS","tag","key","error","tryGet","callee","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","object","f","bitmap","enumerable","configurable","writable","defineProperty","get","document","EXISTS","createElement","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","classList","documentCreateElement","DOMTokenListPrototype","getBuiltIn","match","version","userAgent","process","Deno","versions","v8","split","exec","aCallable","fn","apply","Function","hasOwn","FunctionPrototype","getDescriptor","getOwnPropertyDescriptor","PROPER","name","CONFIGURABLE","callBind","namespace","V","P","func","check","Math","globalThis","window","g","hasOwnProperty","a","classof","propertyIsEnumerable","store","functionToString","inspectSource","set","has","NATIVE_WEAK_MAP","createNonEnumerableProperty","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","state","wmget","wmhas","wmset","metadata","facade","STATE","enforce","getterFor","type","noop","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","called","isPrototypeOf","USE_SYMBOL_AS_UID","$Symbol","toLength","obj","V8_VERSION","getOwnPropertySymbols","symbol","Symbol","sham","test","IE8_DOM_DEFINE","anObject","toPropertyKey","$defineProperty","Attributes","input","pref","val","valueOf","setGlobal","InternalStateModule","CONFIGURABLE_FUNCTION_NAME","getInternalState","enforceInternalState","TEMPLATE","options","unsafe","simple","noTargetGet","replace","source","join","uid","keys","SHARED","IS_PURE","mode","copyright","ceil","floor","number","toIntegerOrInfinity","min","requireObjectCoercible","isSymbol","getMethod","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","toPrimitive","id","postfix","random","NATIVE_SYMBOL","iterator","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","description","redefine","DOMIterables","handlePrototype","CollectionPrototype","COLLECTION_NAME","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","e","hooks","extensions","wrappers","navbar","add","sticky","title","titleLink","onClick","close","preventDefault","setSelected","slidingSubmenus","classNames","inset","nolistview","nopanel","panel","selected","vertical","language","openingInterval","panelNodetype","transitionDuration","extend","orignl","dfault","k","variable","toLowerCase","valueOrFn","element","option","transitionend","duration","_ended","_fn","evnt","removeEventListener","addEventListener","setTimeout","uniqueId","__id","originalId","translations","text","selector","args","elem","shift","classname","querySelectorAll","children","child","matches","parents","parent","parentElement","filterLI","listitems","listitem","filterLIA","anchors","anchor","reClass","oldClass","newClass","remove","listeners","query","yes","no","fire","mqlist","m","fa","de","ru","Mmenu","menu","configs","opts","conf","_api","node","vars","hook","clck","querySelector","_deprecatedWarnings","_initWrappers","_initAddons","_initExtensions","_initHooks","_initAPI","_initMenu","_initPanels","_initOpened","_initAnchors","_loop_1","matchMedia","onchange","openPanel","animation","_this","trigger","closest","panels","pnls","current_1","parent_1","hidden","openPanelStart_1","openPanelFinish_1","closePanel","li","closeAllPanels","opened","togglePanel","h","l","API","re","w","wrpr","addon","addons","all","classnames","extension","indexOf","nodeName","append","inMenu","href","getAttribute","err","initPanel","_initPanel","children_1","listview","removeAttribute","wrapper","before","item","button","setAttribute","innerHTML","insertBefore","nextElementSibling","_initNavbar","initListview","parentListitem","parentPanel","prev","opener","titleText","textContent","i18n","prepend","lastitem","current","inListview","toExternal","c","click","offCanvas","blockUI","moveBackground","clone","insertMethod","insertSelector","page","nodetype","noSelector","ucFirst","word","charAt","toUpperCase","on","handler","evntParts","off","_openSetup","_openStart","closeAllOthers","force","clsn","body","api","pages","wrapper_1","initWindow","keyCode","initBlocker","blck","closeMenu","stopPropagation","aria","closeSubmenu","openSubmenu","toggleSubmenu","attr","fix","touch","navigator","msMaxTouchPoints","height","open","visible","max","addTo","count","counter","top","right","bottom","left","start","swipe","directionNames","x","y","percentage2number","position","size","parseInt","DragEvents","surface","area","treshold","stop","move","event","currentPosition","touches","pageX","pageY","width","clientWidth","clientHeight","startPosition","dragDirection","_dragDirection","detail","_eventDetail","_dispatchEvents","abs","movement","axis","swipeDirection","_swipeDirection","direction","changedTouches","distance","distX","distY","movementX","movementY","distanceX","distanceY","eventName","CustomEvent","dispatchEvent","dragInstance","dragNode","maxDistance","moving","addMatchMedia","queries","getPositionVars","zposition","slideOutNodes","style","open_1","pos","drop","fitViewport","tip","offset","viewport","fixed","use","blockPanel","hideDivider","hideNavbar","enable","enhance","next","focus","Event","api_1","load","breadcrumbs","separator","removeFirst","Navbars","navs","navbars","content","ctnt","navbarContents","navbarTypes","panelPrev","panelTitle","crumbs","first","unshift","screenReader","org","_url","_txt","searchfield","original","btn","tabs","stopImmediatePropagation","selectTab","scroll","update","scrollOffset","updateOffset","cancel","noResults","placeholder","dividers","fx","splash","search","showTextItems","showSubPanels","clear","form","submit","Search","__spreadArrays","s","i","il","r","j","jl","initSearchPanel","searchpanel","initSearchfield","addAttributes","field","autocomplete","initSearching","data","noresults","_a","_b","initNoResultsMsg","message","trim","buttons","scrollTop","divider","childNodes","nodeType","hasResults","allitems_1","cloneNode","reverse","p","previous","previousElementSibling","hover","collapsed","blockMenu","expanded","initial","toggle","offcanvas","extendShorthandOptions","setPage","hash","location","hide","scrollBugFix","touchDir","passive","pop","scrollHeight","offsetHeight","autoHeight","measurablePanel","setHeight","highest","_hgh","_dif","backButton","_menu","states","setStates","history","pushState","back","pathname","columns","colm","colp","rmvc","contains","className","colnr","counters","cntrclss","lastletter","letter","drag","dropdown","of","events","getPosition","dir","css","cls","_outerSize","_startPos","_stopPos","_size","_winSize","_maxSize","_position","startPos","getBoundingClientRect","stopPos","windowSize","offs","fixedElements","_fixd","wrppr","fxd","iconbar","n","part","classname_1","selectTab_1","iconPanels","keepFirst","classnames_1","panelAdded_1","blocker","keyboardNavigation","menuStart_1","menuEnd_1","blockerEnd_1","focusable_1","setFocus","activeElement","elements_1","tabber","lazySubmenus","console","log","pageScroll","section","scrollTo","scrollingElement","behavior","anchorInPage","scts_1","_selected_1","scrollY","offsetTop","blur","sectionIndexer","indx","buttons_1","indexer","mouseOverEvent","newTop","oldTop","active","findCurrent_1","url","arr","sidebar","disable","localStorage","setItem","initialState","getItem","toggles","angular","bootstrap","nav","list","cloneDropdown","cloneLink","cloneNav","action","toggler","outerHTML","link","sro","olark","turbolinks","wordpress","wpadminbar","getElementById","$","jQuery","Zepto","mmenu","$result","each","mmApi","$menu","callback","mobileMenu","mobileMenuTrigger","resizeTimer","breakpointMaxM","mobileMenuSelector","deactivated","mmenuApi","clearTimeout","mmIsOpened","init","readyState"],"sourceRoot":""}