UNPKG

25 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.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":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__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_accordionMenu__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","AccordionMenu","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__","Plugin","element","options","this","$element","$","extend","defaults","data","className","_init","Keyboard","register","ENTER","SPACE","ARROW_RIGHT","ARROW_UP","ARROW_DOWN","ARROW_LEFT","ESCAPE","Nest","Feather","_this","find","not","slideUp","attr","role","aria-multiselectable","multiOpen","$menuLinks","each","linkId","id","GetYoDigits","$elem","$sub","children","subId","isActive","hasClass","parentLink","clone","prependTo","wrap","submenuToggle","addClass","after","submenuToggleText","aria-controls","aria-expanded","aria-labelledby","aria-hidden","initPanes","length","down","_events","$submenu","off","on","e","toggle","preventDefault","$prevElement","$nextElement","$elements","parent","$target","i","is","eq","Math","max","first","min","parents","next","handleKey","open","focus","close","up","closeAll","hideAll","handled","_this2","$targetBranch","parentsUntil","add","$othersActiveSubmenus","prev","slideDown","slideSpeed","trigger","_this3","$submenus","$allmenus","removeClass","css","detach","remove","Burn","c","name","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","object","property","prototype","hasOwnProperty","call","p","s","moduleId","l","modules"],"mappings":"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","file":"foundation.accordionMenu.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.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__;"]}
\No newline at end of file