{"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.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.accordionMenu.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.accordionMenu.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","plugin","AccordionMenu","element","options","$element","$","extend","defaults","data","className","_init","Keyboard","register","Nest","Feather","_this","find","not","slideUp","attr","multiOpen","$menuLinks","each","linkId","id","GetYoDigits","$elem","$sub","children","subId","isActive","hasClass","parentLink","$anchor","clone","prependTo","wrap","submenuToggle","addClass","after","submenuToggleText","initPanes","length","down","_events","$submenu","off","on","e","toggle","preventDefault","$elements","parent","$prevElement","$nextElement","$target","i","is","eq","Math","max","first","min","parents","next","handleKey","open","focus","close","up","closeAll","hideAll","handled","$targetBranch","parentsUntil","add","$othersActiveSubmenus","prev","slideDown","slideSpeed","trigger","$submenus","$allmenus","removeClass","css","detach","remove","Burn","Plugin"],"mappings":"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","file":"foundation.accordionMenu.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.keyboard\"), require(\"./foundation.util.nest\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.keyboard\", \"./foundation.util.nest\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.accordionMenu\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.nest\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.accordionMenu\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], 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_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 = 2);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_nest__;","import { Foundation } from './foundation.core';\n\nimport { AccordionMenu } from '../../foundation.accordionMenu';\nFoundation.plugin(AccordionMenu, 'AccordionMenu');\n\nexport { Foundation, AccordionMenu };\n","'use strict';\n\n\nimport $ from 'jquery';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { Nest } from './foundation.util.nest';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Plugin } from './foundation.core.plugin';\n\n/**\n * AccordionMenu module.\n * @module foundation.accordionMenu\n * @requires foundation.util.keyboard\n * @requires foundation.util.nest\n */\n\nclass AccordionMenu extends Plugin {\n  /**\n   * Creates a new instance of an accordion menu.\n   * @class\n   * @name AccordionMenu\n   * @fires AccordionMenu#init\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({}, AccordionMenu.defaults, this.$element.data(), options);\n    this.className = 'AccordionMenu'; // ie9 back compat\n\n    this._init();\n\n    Keyboard.register('AccordionMenu', {\n      'ENTER': 'toggle',\n      'SPACE': 'toggle',\n      'ARROW_RIGHT': 'open',\n      'ARROW_UP': 'up',\n      'ARROW_DOWN': 'down',\n      'ARROW_LEFT': 'close',\n      'ESCAPE': 'closeAll'\n    });\n  }\n\n\n\n  /**\n   * Initializes the accordion menu by hiding all nested menus.\n   * @private\n   */\n  _init() {\n    Nest.Feather(this.$element, 'accordion');\n\n    var _this = this;\n\n    this.$element.find('[data-submenu]').not('.is-active').slideUp(0);//.find('a').css('padding-left', '1rem');\n    this.$element.attr({\n      'role': 'tree',\n      'aria-multiselectable': this.options.multiOpen\n    });\n\n    this.$menuLinks = this.$element.find('.is-accordion-submenu-parent');\n    this.$menuLinks.each(function() {\n      var linkId = this.id || GetYoDigits(6, 'acc-menu-link'),\n          $elem = $(this),\n          $sub = $elem.children('[data-submenu]'),\n          subId = $sub[0].id || GetYoDigits(6, 'acc-menu'),\n          isActive = $sub.hasClass('is-active');\n\n      if (_this.options.parentLink) {\n        let $anchor = $elem.children('a');\n        $anchor.clone().prependTo($sub).wrap('<li data-is-parent-link class=\"is-submenu-parent-item is-submenu-item is-accordion-submenu-item\"></li>');\n      }\n\n      if (_this.options.submenuToggle) {\n        $elem.addClass('has-submenu-toggle');\n        $elem.children('a').after('<button id=\"' + linkId + '\" class=\"submenu-toggle\" aria-controls=\"' + subId + '\" aria-expanded=\"' + isActive + '\" title=\"' + _this.options.submenuToggleText + '\"><span class=\"submenu-toggle-text\">' + _this.options.submenuToggleText + '</span></button>');\n      } else {\n        $elem.attr({\n          'aria-controls': subId,\n          'aria-expanded': isActive,\n          'id': linkId\n        });\n      }\n      $sub.attr({\n        'aria-labelledby': linkId,\n        'aria-hidden': !isActive,\n        'role': 'group',\n        'id': subId\n      });\n    });\n    this.$element.find('li').attr({\n      'role': 'treeitem'\n    });\n    var initPanes = this.$element.find('.is-active');\n    if (initPanes.length) {\n      initPanes.each(function() {\n        _this.down($(this));\n      });\n    }\n    this._events();\n  }\n\n  /**\n   * Adds event handlers for items within the menu.\n   * @private\n   */\n  _events() {\n    var _this = this;\n\n    this.$element.find('li').each(function() {\n      var $submenu = $(this).children('[data-submenu]');\n\n      if ($submenu.length) {\n        if (_this.options.submenuToggle) {\n          $(this).children('.submenu-toggle').off('click.zf.accordionMenu').on('click.zf.accordionMenu', function(e) {\n            _this.toggle($submenu);\n          });\n        } else {\n            $(this).children('a').off('click.zf.accordionMenu').on('click.zf.accordionMenu', function(e) {\n              e.preventDefault();\n              _this.toggle($submenu);\n            });\n        }\n      }\n    }).on('keydown.zf.accordionMenu', function(e) {\n      var $element = $(this),\n          $elements = $element.parent('ul').children('li'),\n          $prevElement,\n          $nextElement,\n          $target = $element.children('[data-submenu]');\n\n      $elements.each(function(i) {\n        if ($(this).is($element)) {\n          $prevElement = $elements.eq(Math.max(0, i-1)).find('a').first();\n          $nextElement = $elements.eq(Math.min(i+1, $elements.length-1)).find('a').first();\n\n          if ($(this).children('[data-submenu]:visible').length) { // has open sub menu\n            $nextElement = $element.find('li:first-child').find('a').first();\n          }\n          if ($(this).is(':first-child')) { // is first element of sub menu\n            $prevElement = $element.parents('li').first().find('a').first();\n          } else if ($prevElement.parents('li').first().children('[data-submenu]:visible').length) { // if previous element has open sub menu\n            $prevElement = $prevElement.parents('li').find('li:last-child').find('a').first();\n          }\n          if ($(this).is(':last-child')) { // is last element of sub menu\n            $nextElement = $element.parents('li').first().next('li').find('a').first();\n          }\n\n          return;\n        }\n      });\n\n      Keyboard.handleKey(e, 'AccordionMenu', {\n        open: function() {\n          if ($target.is(':hidden')) {\n            _this.down($target);\n            $target.find('li').first().find('a').first().focus();\n          }\n        },\n        close: function() {\n          if ($target.length && !$target.is(':hidden')) { // close active sub of this item\n            _this.up($target);\n          } else if ($element.parent('[data-submenu]').length) { // close currently open sub\n            _this.up($element.parent('[data-submenu]'));\n            $element.parents('li').first().find('a').first().focus();\n          }\n        },\n        up: function() {\n          $prevElement.focus();\n          return true;\n        },\n        down: function() {\n          $nextElement.focus();\n          return true;\n        },\n        toggle: function() {\n          if (_this.options.submenuToggle) {\n            return false;\n          }\n          if ($element.children('[data-submenu]').length) {\n            _this.toggle($element.children('[data-submenu]'));\n            return true;\n          }\n        },\n        closeAll: function() {\n          _this.hideAll();\n        },\n        handled: function(preventDefault) {\n          if (preventDefault) {\n            e.preventDefault();\n          }\n        }\n      });\n    });//.attr('tabindex', 0);\n  }\n\n  /**\n   * Closes all panes of the menu.\n   * @function\n   */\n  hideAll() {\n    this.up(this.$element.find('[data-submenu]'));\n  }\n\n  /**\n   * Opens all panes of the menu.\n   * @function\n   */\n  showAll() {\n    this.down(this.$element.find('[data-submenu]'));\n  }\n\n  /**\n   * Toggles the open/close state of a submenu.\n   * @function\n   * @param {jQuery} $target - the submenu to toggle\n   */\n  toggle($target) {\n    if (!$target.is(':animated')) {\n      if (!$target.is(':hidden')) {\n        this.up($target);\n      }\n      else {\n        this.down($target);\n      }\n    }\n  }\n\n  /**\n   * Opens the sub-menu defined by `$target`.\n   * @param {jQuery} $target - Sub-menu to open.\n   * @fires AccordionMenu#down\n   */\n  down($target) {\n    // If having multiple submenus active is disabled, close all the submenus\n    // that are not parents or children of the targeted submenu.\n    if (!this.options.multiOpen) {\n      // The \"branch\" of the targetted submenu, from the component root to\n      // the active submenus nested in it.\n      const $targetBranch = $target.parentsUntil(this.$element)\n        .add($target)\n        .add($target.find('.is-active'));\n      // All the active submenus that are not in the branch.\n      const $othersActiveSubmenus = this.$element.find('.is-active').not($targetBranch);\n\n      this.up($othersActiveSubmenus);\n    }\n\n    $target\n      .addClass('is-active')\n      .attr({ 'aria-hidden': false });\n\n    if (this.options.submenuToggle) {\n      $target.prev('.submenu-toggle').attr({'aria-expanded': true});\n    }\n    else {\n      $target.parent('.is-accordion-submenu-parent').attr({'aria-expanded': true});\n    }\n\n    $target.slideDown(this.options.slideSpeed, () => {\n      /**\n       * Fires when the menu is done opening.\n       * @event AccordionMenu#down\n       */\n      this.$element.trigger('down.zf.accordionMenu', [$target]);\n    });\n  }\n\n  /**\n   * Closes the sub-menu defined by `$target`. All sub-menus inside the target will be closed as well.\n   * @param {jQuery} $target - Sub-menu to close.\n   * @fires AccordionMenu#up\n   */\n  up($target) {\n    const $submenus = $target.find('[data-submenu]');\n    const $allmenus = $target.add($submenus);\n\n    $submenus.slideUp(0);\n    $allmenus\n      .removeClass('is-active')\n      .attr('aria-hidden', true);\n\n    if (this.options.submenuToggle) {\n      $allmenus.prev('.submenu-toggle').attr('aria-expanded', false);\n    }\n    else {\n      $allmenus.parent('.is-accordion-submenu-parent').attr('aria-expanded', false);\n    }\n\n    $target.slideUp(this.options.slideSpeed, () => {\n      /**\n       * Fires when the menu is done collapsing up.\n       * @event AccordionMenu#up\n       */\n      this.$element.trigger('up.zf.accordionMenu', [$target]);\n    });\n  }\n\n  /**\n   * Destroys an instance of accordion menu.\n   * @fires AccordionMenu#destroyed\n   */\n  _destroy() {\n    this.$element.find('[data-submenu]').slideDown(0).css('display', '');\n    this.$element.find('a').off('click.zf.accordionMenu');\n    this.$element.find('[data-is-parent-link]').detach();\n\n    if (this.options.submenuToggle) {\n      this.$element.find('.has-submenu-toggle').removeClass('has-submenu-toggle');\n      this.$element.find('.submenu-toggle').remove();\n    }\n\n    Nest.Burn(this.$element, 'accordion');\n  }\n}\n\nAccordionMenu.defaults = {\n  /**\n   * Adds the parent link to the submenu.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  parentLink: false,\n  /**\n   * Amount of time to animate the opening of a submenu in ms.\n   * @option\n   * @type {number}\n   * @default 250\n   */\n  slideSpeed: 250,\n  /**\n   * Adds a separate submenu toggle button. This allows the parent item to have a link.\n   * @option\n   * @example true\n   */\n  submenuToggle: false,\n  /**\n   * The text used for the submenu toggle if enabled. This is used for screen readers only.\n   * @option\n   * @example true\n   */\n  submenuToggleText: 'Toggle menu',\n  /**\n   * Allow the menu to have multiple open panes.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  multiOpen: true\n};\n\nexport { AccordionMenu };\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""}