UNPKG

40.4 kBSource Map (JSON)View Raw
1{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.box\"],\"amd\":\"./foundation.util.box\",\"commonjs\":\"./foundation.util.box\",\"commonjs2\":\"./foundation.util.box\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.nest\"],\"amd\":\"./foundation.util.nest\",\"commonjs\":\"./foundation.util.nest\",\"commonjs2\":\"./foundation.util.nest\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.drilldown.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.drilldown.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_util_box__","__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__","__WEBPACK_EXTERNAL_MODULE__foundation_util_nest__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_drilldown__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Drilldown","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_nest__WEBPACK_IMPORTED_MODULE_2__","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__","_foundation_util_box__WEBPACK_IMPORTED_MODULE_4__","Plugin","element","options","this","$element","$","extend","defaults","data","className","_init","Keyboard","register","ENTER","SPACE","ARROW_RIGHT","ARROW_UP","ARROW_DOWN","ARROW_LEFT","ESCAPE","TAB","SHIFT_TAB","Nest","Feather","autoApplyClass","addClass","attr","role","aria-multiselectable","$submenuAnchors","find","children","$submenus","parent","$menuItems","not","$currentMenu","GetYoDigits","_prepareMenu","_registerEvents","_keyboardEvents","_this","each","$link","$sub","parentLink","clone","prependTo","wrap","removeAttr","aria-hidden","tabindex","_events","$menu","length","backButtonPosition","append","backButton","prepend","console","error","_back","autoHeight","hasClass","$wrapper","wrapper","animateHeight","css","_getMaxDims","max-width","min-height","$elem","off","on","e","target","parentsUntil","preventDefault","_show","closeOnClick","$body","contains","_hideAll","scrollTop","_bindHandler","_scrollTop","bind","_resize","$scrollTopElement","scrollTopElement","scrollPos","parseInt","offset","top","scrollTopOffset","stop","animate","animationDuration","animationEasing","trigger","add","$prevElement","$nextElement","$elements","i","is","eq","Math","max","min","handleKey","next","one","transitionend","first","focus","previous","_hide","setTimeout","up","down","close","siblings","open","handled","_this2","calcHeight","closest","height","removeClass","parentSubMenu","autoFocus","index","_setHideSubMenuClasses","isLastChild","_setShowSubMenuClasses","$submenu","blur","maxHeight","result","Box","GetDimensions","concat","getBoundingClientRect","width","Burn","unwrap","remove","end","detach","removeData","c","name","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","object","property","prototype","hasOwnProperty","call","p","s","moduleId","l","modules"],"mappings":"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","file":"foundation.drilldown.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.util.box\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.nest\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.box\", \"./foundation.util.keyboard\", \"./foundation.util.nest\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.drilldown\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.box\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.nest\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.drilldown\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.nest\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_box__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_util_nest__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_box__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_nest__;","import { Foundation } from './foundation.core';\n\nimport { Drilldown } from '../../foundation.drilldown';\nFoundation.plugin(Drilldown, 'Drilldown');\n\nexport { Foundation, Drilldown };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { Nest } from './foundation.util.nest';\nimport { GetYoDigits, transitionend } from './foundation.core.utils';\nimport { Box } from './foundation.util.box';\nimport { Plugin } from './foundation.core.plugin';\n\n/**\n * Drilldown module.\n * @module foundation.drilldown\n * @requires foundation.util.keyboard\n * @requires foundation.util.nest\n * @requires foundation.util.box\n */\n\nclass Drilldown extends Plugin {\n /**\n * Creates a new instance of a drilldown menu.\n * @class\n * @name Drilldown\n * @param {jQuery} element - jQuery object to make into an accordion menu.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Drilldown.defaults, this.$element.data(), options);\n this.className = 'Drilldown'; // ie9 back compat\n\n this._init();\n\n Keyboard.register('Drilldown', {\n 'ENTER': 'open',\n 'SPACE': 'open',\n 'ARROW_RIGHT': 'next',\n 'ARROW_UP': 'up',\n 'ARROW_DOWN': 'down',\n 'ARROW_LEFT': 'previous',\n 'ESCAPE': 'close',\n 'TAB': 'down',\n 'SHIFT_TAB': 'up'\n });\n }\n\n /**\n * Initializes the drilldown by creating jQuery collections of elements\n * @private\n */\n _init() {\n Nest.Feather(this.$element, 'drilldown');\n\n if(this.options.autoApplyClass) {\n this.$element.addClass('drilldown');\n }\n\n this.$element.attr({\n 'role': 'tree',\n 'aria-multiselectable': false\n });\n this.$submenuAnchors = this.$element.find('li.is-drilldown-submenu-parent').children('a');\n this.$submenus = this.$submenuAnchors.parent('li').children('[data-submenu]').attr('role', 'group');\n this.$menuItems = this.$element.find('li').not('.js-drilldown-back').attr('role', 'treeitem').find('a');\n\n // Set the main menu as current by default (unless a submenu is selected)\n // Used to set the wrapper height when the drilldown is closed/reopened from any (sub)menu\n this.$currentMenu = this.$element;\n\n this.$element.attr('data-mutate', (this.$element.attr('data-drilldown') || GetYoDigits(6, 'drilldown')));\n\n this._prepareMenu();\n this._registerEvents();\n\n this._keyboardEvents();\n }\n\n /**\n * prepares drilldown menu by setting attributes to links and elements\n * sets a min height to prevent content jumping\n * wraps the element if not already wrapped\n * @private\n * @function\n */\n _prepareMenu() {\n var _this = this;\n // if(!this.options.holdOpen){\n // this._menuLinkEvents();\n // }\n this.$submenuAnchors.each(function(){\n var $link = $(this);\n var $sub = $link.parent();\n if(_this.options.parentLink){\n $link.clone().prependTo($sub.children('[data-submenu]')).wrap('<li data-is-parent-link class=\"is-submenu-parent-item is-submenu-item is-drilldown-submenu-item\" role=\"none\"></li>');\n }\n $link.data('savedHref', $link.attr('href')).removeAttr('href').attr('tabindex', 0);\n $link.children('[data-submenu]')\n .attr({\n 'aria-hidden': true,\n 'tabindex': 0,\n 'role': 'group'\n });\n _this._events($link);\n });\n this.$submenus.each(function(){\n var $menu = $(this),\n $back = $menu.find('.js-drilldown-back');\n if(!$back.length){\n switch (_this.options.backButtonPosition) {\n case \"bottom\":\n $menu.append(_this.options.backButton);\n break;\n case \"top\":\n $menu.prepend(_this.options.backButton);\n break;\n default:\n console.error(\"Unsupported backButtonPosition value '\" + _this.options.backButtonPosition + \"'\");\n }\n }\n _this._back($menu);\n });\n\n this.$submenus.addClass('invisible');\n if(!this.options.autoHeight) {\n this.$submenus.addClass('drilldown-submenu-cover-previous');\n }\n\n // create a wrapper on element if it doesn't exist.\n if(!this.$element.parent().hasClass('is-drilldown')){\n this.$wrapper = $(this.options.wrapper).addClass('is-drilldown');\n if(this.options.animateHeight) this.$wrapper.addClass('animate-height');\n this.$element.wrap(this.$wrapper);\n }\n // set wrapper\n this.$wrapper = this.$element.parent();\n this.$wrapper.css(this._getMaxDims());\n }\n\n _resize() {\n this.$wrapper.css({'max-width': 'none', 'min-height': 'none'});\n // _getMaxDims has side effects (boo) but calling it should update all other necessary heights & widths\n this.$wrapper.css(this._getMaxDims());\n }\n\n /**\n * Adds event handlers to elements in the menu.\n * @function\n * @private\n * @param {jQuery} $elem - the current menu item to add handlers to.\n */\n _events($elem) {\n var _this = this;\n\n $elem.off('click.zf.drilldown')\n .on('click.zf.drilldown', function(e){\n if($(e.target).parentsUntil('ul', 'li').hasClass('is-drilldown-submenu-parent')){\n e.preventDefault();\n }\n\n // if(e.target !== e.currentTarget.firstElementChild){\n // return false;\n // }\n _this._show($elem.parent('li'));\n\n if(_this.options.closeOnClick){\n var $body = $('body');\n $body.off('.zf.drilldown').on('click.zf.drilldown', function(e){\n if (e.target === _this.$element[0] || $.contains(_this.$element[0], e.target)) { return; }\n e.preventDefault();\n _this._hideAll();\n $body.off('.zf.drilldown');\n });\n }\n });\n }\n\n /**\n * Adds event handlers to the menu element.\n * @function\n * @private\n */\n _registerEvents() {\n if(this.options.scrollTop){\n this._bindHandler = this._scrollTop.bind(this);\n this.$element.on('open.zf.drilldown hide.zf.drilldown close.zf.drilldown closed.zf.drilldown',this._bindHandler);\n }\n this.$element.on('mutateme.zf.trigger', this._resize.bind(this));\n }\n\n /**\n * Scroll to Top of Element or data-scroll-top-element\n * @function\n * @fires Drilldown#scrollme\n */\n _scrollTop() {\n var _this = this;\n var $scrollTopElement = _this.options.scrollTopElement!=''?$(_this.options.scrollTopElement):_this.$element,\n scrollPos = parseInt($scrollTopElement.offset().top+_this.options.scrollTopOffset, 10);\n $('html, body').stop(true).animate({ scrollTop: scrollPos }, _this.options.animationDuration, _this.options.animationEasing,function(){\n /**\n * Fires after the menu has scrolled\n * @event Drilldown#scrollme\n */\n if(this===$('html')[0])_this.$element.trigger('scrollme.zf.drilldown');\n });\n }\n\n /**\n * Adds keydown event listener to `li`'s in the menu.\n * @private\n */\n _keyboardEvents() {\n var _this = this;\n\n this.$menuItems.add(this.$element.find('.js-drilldown-back > a, .is-submenu-parent-item > a')).on('keydown.zf.drilldown', function(e){\n var $element = $(this),\n $elements = $element.parent('li').parent('ul').children('li').children('a'),\n $prevElement,\n $nextElement;\n\n $elements.each(function(i) {\n if ($(this).is($element)) {\n $prevElement = $elements.eq(Math.max(0, i-1));\n $nextElement = $elements.eq(Math.min(i+1, $elements.length-1));\n return;\n }\n });\n\n Keyboard.handleKey(e, 'Drilldown', {\n next: function() {\n if ($element.is(_this.$submenuAnchors)) {\n _this._show($element.parent('li'));\n $element.parent('li').one(transitionend($element), function(){\n $element.parent('li').find('ul li a').not('.js-drilldown-back a').first().focus();\n });\n return true;\n }\n },\n previous: function() {\n _this._hide($element.parent('li').parent('ul'));\n $element.parent('li').parent('ul').one(transitionend($element), function(){\n setTimeout(function() {\n $element.parent('li').parent('ul').parent('li').children('a').first().focus();\n }, 1);\n });\n return true;\n },\n up: function() {\n $prevElement.focus();\n // Don't tap focus on first element in root ul\n return !$element.is(_this.$element.find('> li:first-child > a'));\n },\n down: function() {\n $nextElement.focus();\n // Don't tap focus on last element in root ul\n return !$element.is(_this.$element.find('> li:last-child > a'));\n },\n close: function() {\n // Don't close on element in root ul\n if (!$element.is(_this.$element.find('> li > a'))) {\n _this._hide($element.parent().parent());\n $element.parent().parent().siblings('a').focus();\n }\n },\n open: function() {\n if (_this.options.parentLink && $element.attr('href')) { // Link with href\n return false;\n } else if (!$element.is(_this.$menuItems)) { // not menu item means back button\n _this._hide($element.parent('li').parent('ul'));\n $element.parent('li').parent('ul').one(transitionend($element), function(){\n setTimeout(function() {\n $element.parent('li').parent('ul').parent('li').children('a').first().focus();\n }, 1);\n });\n return true;\n } else if ($element.is(_this.$submenuAnchors)) { // Sub menu item\n _this._show($element.parent('li'));\n $element.parent('li').one(transitionend($element), function(){\n $element.parent('li').find('ul li a').not('.js-drilldown-back a').first().focus();\n });\n return true;\n }\n },\n handled: function(preventDefault) {\n if (preventDefault) {\n e.preventDefault();\n }\n }\n });\n }); // end keyboardAccess\n }\n\n /**\n * Closes all open elements, and returns to root menu.\n * @function\n * @fires Drilldown#close\n * @fires Drilldown#closed\n */\n _hideAll() {\n var $elem = this.$element.find('.is-drilldown-submenu.is-active')\n $elem.addClass('is-closing');\n\n if (this.options.autoHeight) {\n const calcHeight = $elem.parent().closest('ul').data('calcHeight');\n this.$wrapper.css({ height: calcHeight });\n }\n\n /**\n * Fires when the menu is closing.\n * @event Drilldown#close\n */\n this.$element.trigger('close.zf.drilldown');\n\n $elem.one(transitionend($elem), () => {\n $elem.removeClass('is-active is-closing');\n\n /**\n * Fires when the menu is fully closed.\n * @event Drilldown#closed\n */\n this.$element.trigger('closed.zf.drilldown');\n });\n }\n\n /**\n * Adds event listener for each `back` button, and closes open menus.\n * @function\n * @fires Drilldown#back\n * @param {jQuery} $elem - the current sub-menu to add `back` event.\n */\n _back($elem) {\n var _this = this;\n $elem.off('click.zf.drilldown');\n $elem.children('.js-drilldown-back')\n .on('click.zf.drilldown', function(e){\n // console.log('mouseup on back');\n _this._hide($elem);\n\n // If there is a parent submenu, call show\n let parentSubMenu = $elem.parent('li').parent('ul').parent('li');\n if (parentSubMenu.length) {\n _this._show(parentSubMenu);\n }\n });\n }\n\n /**\n * Adds event listener to menu items w/o submenus to close open menus on click.\n * @function\n * @private\n */\n _menuLinkEvents() {\n var _this = this;\n this.$menuItems.not('.is-drilldown-submenu-parent')\n .off('click.zf.drilldown')\n .on('click.zf.drilldown', function(e){\n setTimeout(function(){\n _this._hideAll();\n }, 0);\n });\n }\n\n /**\n * Sets the CSS classes for submenu to show it.\n * @function\n * @private\n * @param {jQuery} $elem - the target submenu (`ul` tag)\n * @param {boolean} trigger - trigger drilldown event\n */\n _setShowSubMenuClasses($elem, trigger) {\n $elem.addClass('is-active').removeClass('invisible').attr('aria-hidden', false);\n $elem.parent('li').attr('aria-expanded', true);\n if (trigger === true) {\n this.$element.trigger('open.zf.drilldown', [$elem]);\n }\n }\n\n /**\n * Sets the CSS classes for submenu to hide it.\n * @function\n * @private\n * @param {jQuery} $elem - the target submenu (`ul` tag)\n * @param {boolean} trigger - trigger drilldown event\n */\n _setHideSubMenuClasses($elem, trigger) {\n $elem.removeClass('is-active').addClass('invisible').attr('aria-hidden', true);\n $elem.parent('li').attr('aria-expanded', false);\n if (trigger === true) {\n $elem.trigger('hide.zf.drilldown', [$elem]);\n }\n }\n\n /**\n * Opens a specific drilldown (sub)menu no matter which (sub)menu in it is currently visible.\n * Compared to _show() this lets you jump into any submenu without clicking through every submenu on the way to it.\n * @function\n * @fires Drilldown#open\n * @param {jQuery} $elem - the target (sub)menu (`ul` tag)\n * @param {boolean} autoFocus - if true the first link in the target (sub)menu gets auto focused\n */\n _showMenu($elem, autoFocus) {\n\n var _this = this;\n\n // Reset drilldown\n var $expandedSubmenus = this.$element.find('li[aria-expanded=\"true\"] > ul[data-submenu]');\n $expandedSubmenus.each(function(index) {\n _this._setHideSubMenuClasses($(this));\n });\n\n // Save the menu as the currently displayed one.\n this.$currentMenu = $elem;\n\n // If target menu is root, focus first link & exit\n if ($elem.is('[data-drilldown]')) {\n if (autoFocus === true) $elem.find('li[role=\"treeitem\"] > a').first().focus();\n if (this.options.autoHeight) this.$wrapper.css('height', $elem.data('calcHeight'));\n return;\n }\n\n // Find all submenus on way to root incl. the element itself\n var $submenus = $elem.children().first().parentsUntil('[data-drilldown]', '[data-submenu]');\n\n // Open target menu and all submenus on its way to root\n $submenus.each(function(index) {\n\n // Update height of first child (target menu) if autoHeight option true\n if (index === 0 && _this.options.autoHeight) {\n _this.$wrapper.css('height', $(this).data('calcHeight'));\n }\n\n var isLastChild = index == $submenus.length - 1;\n\n // Add transitionsend listener to last child (root due to reverse order) to open target menu's first link\n // Last child makes sure the event gets always triggered even if going through several menus\n if (isLastChild === true) {\n $(this).one(transitionend($(this)), () => {\n if (autoFocus === true) {\n $elem.find('li[role=\"treeitem\"] > a').first().focus();\n }\n });\n }\n\n _this._setShowSubMenuClasses($(this), isLastChild);\n });\n }\n\n /**\n * Opens a submenu.\n * @function\n * @fires Drilldown#open\n * @param {jQuery} $elem - the current element with a submenu to open, i.e. the `li` tag.\n */\n _show($elem) {\n const $submenu = $elem.children('[data-submenu]');\n\n $elem.attr('aria-expanded', true);\n\n this.$currentMenu = $submenu;\n $submenu.addClass('is-active').removeClass('invisible').attr('aria-hidden', false);\n if (this.options.autoHeight) {\n this.$wrapper.css({ height: $submenu.data('calcHeight') });\n }\n\n /**\n * Fires when the submenu has opened.\n * @event Drilldown#open\n */\n this.$element.trigger('open.zf.drilldown', [$elem]);\n }\n\n /**\n * Hides a submenu\n * @function\n * @fires Drilldown#hide\n * @param {jQuery} $elem - the current sub-menu to hide, i.e. the `ul` tag.\n */\n _hide($elem) {\n if(this.options.autoHeight) this.$wrapper.css({height:$elem.parent().closest('ul').data('calcHeight')});\n var _this = this;\n $elem.parent('li').attr('aria-expanded', false);\n $elem.attr('aria-hidden', true);\n $elem.addClass('is-closing')\n .one(transitionend($elem), function(){\n $elem.removeClass('is-active is-closing');\n $elem.blur().addClass('invisible');\n });\n /**\n * Fires when the submenu has closed.\n * @event Drilldown#hide\n */\n $elem.trigger('hide.zf.drilldown', [$elem]);\n }\n\n /**\n * Iterates through the nested menus to calculate the min-height, and max-width for the menu.\n * Prevents content jumping.\n * @function\n * @private\n */\n _getMaxDims() {\n var maxHeight = 0, result = {}, _this = this;\n\n // Recalculate menu heights and total max height\n this.$submenus.add(this.$element).each(function(){\n var numOfElems = $(this).children('li').length;\n var height = Box.GetDimensions(this).height;\n\n maxHeight = height > maxHeight ? height : maxHeight;\n\n if(_this.options.autoHeight) {\n $(this).data('calcHeight',height);\n }\n });\n\n if (this.options.autoHeight)\n result['height'] = this.$currentMenu.data('calcHeight');\n else\n result['min-height'] = `${maxHeight}px`;\n\n result['max-width'] = `${this.$element[0].getBoundingClientRect().width}px`;\n\n return result;\n }\n\n /**\n * Destroys the Drilldown Menu\n * @function\n */\n _destroy() {\n if(this.options.scrollTop) this.$element.off('.zf.drilldown',this._bindHandler);\n this._hideAll();\n\t this.$element.off('mutateme.zf.trigger');\n Nest.Burn(this.$element, 'drilldown');\n this.$element.unwrap()\n .find('.js-drilldown-back, .is-submenu-parent-item').remove()\n .end().find('.is-active, .is-closing, .is-drilldown-submenu').removeClass('is-active is-closing is-drilldown-submenu')\n .end().find('[data-submenu]').removeAttr('aria-hidden tabindex role');\n this.$submenuAnchors.each(function() {\n $(this).off('.zf.drilldown');\n });\n\n this.$element.find('[data-is-parent-link]').detach();\n this.$submenus.removeClass('drilldown-submenu-cover-previous invisible');\n\n this.$element.find('a').each(function(){\n var $link = $(this);\n $link.removeAttr('tabindex');\n if($link.data('savedHref')){\n $link.attr('href', $link.data('savedHref')).removeData('savedHref');\n }else{ return; }\n });\n };\n}\n\nDrilldown.defaults = {\n /**\n * Drilldowns depend on styles in order to function properly; in the default build of Foundation these are\n * on the `drilldown` class. This option auto-applies this class to the drilldown upon initialization.\n * @option\n * @type {boolean}\n * @default true\n */\n autoApplyClass: true,\n /**\n * Markup used for JS generated back button. Prepended or appended (see backButtonPosition) to submenu lists and deleted on `destroy` method, 'js-drilldown-back' class required. Remove the backslash (`\\`) if copy and pasting.\n * @option\n * @type {string}\n * @default '<li class=\"js-drilldown-back\"><a tabindex=\"0\">Back</a></li>'\n */\n backButton: '<li class=\"js-drilldown-back\"><a tabindex=\"0\">Back</a></li>',\n /**\n * Position the back button either at the top or bottom of drilldown submenus. Can be `'left'` or `'bottom'`.\n * @option\n * @type {string}\n * @default top\n */\n backButtonPosition: 'top',\n /**\n * Markup used to wrap drilldown menu. Use a class name for independent styling; the JS applied class: `is-drilldown` is required. Remove the backslash (`\\`) if copy and pasting.\n * @option\n * @type {string}\n * @default '<div></div>'\n */\n wrapper: '<div></div>',\n /**\n * Adds the parent link to the submenu.\n * @option\n * @type {boolean}\n * @default false\n */\n parentLink: false,\n /**\n * Allow the menu to return to root list on body click.\n * @option\n * @type {boolean}\n * @default false\n */\n closeOnClick: false,\n /**\n * Allow the menu to auto adjust height.\n * @option\n * @type {boolean}\n * @default false\n */\n autoHeight: false,\n /**\n * Animate the auto adjust height.\n * @option\n * @type {boolean}\n * @default false\n */\n animateHeight: false,\n /**\n * Scroll to the top of the menu after opening a submenu or navigating back using the menu back button\n * @option\n * @type {boolean}\n * @default false\n */\n scrollTop: false,\n /**\n * String jquery selector (for example 'body') of element to take offset().top from, if empty string the drilldown menu offset().top is taken\n * @option\n * @type {string}\n * @default ''\n */\n scrollTopElement: '',\n /**\n * ScrollTop offset\n * @option\n * @type {number}\n * @default 0\n */\n scrollTopOffset: 0,\n /**\n * Scroll animation duration\n * @option\n * @type {number}\n * @default 500\n */\n animationDuration: 500,\n /**\n * Scroll animation easing. Can be `'swing'` or `'linear'`.\n * @option\n * @type {string}\n * @see {@link https://api.jquery.com/animate|JQuery animate}\n * @default 'swing'\n */\n animationEasing: 'swing'\n // holdOpen: false\n};\n\nexport {Drilldown};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]}
\No newline at end of file