foundation-rails 6.6.2.0 → 6.9.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (217) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/.travis.yml +2 -0
  4. data/Appraisals +4 -0
  5. data/Gemfile +1 -1
  6. data/Gemfile.lock +198 -145
  7. data/bower.json +3 -3
  8. data/foundation-rails.gemspec +4 -4
  9. data/gemfiles/rails_7.1.gemfile +10 -0
  10. data/gemfiles/rails_7.1.gemfile.lock +261 -0
  11. data/lib/foundation/rails/version.rb +1 -1
  12. data/lib/generators/foundation/templates/_settings.scss +32 -28
  13. data/vendor/assets/js/foundation.cjs.js +1996 -3162
  14. data/vendor/assets/js/foundation.cjs.js.map +1 -1
  15. data/vendor/assets/js/foundation.es6.js +385 -292
  16. data/vendor/assets/js/foundation.es6.js.map +1 -1
  17. data/vendor/assets/js/foundation.esm.js +1663 -2832
  18. data/vendor/assets/js/foundation.esm.js.map +1 -1
  19. data/vendor/assets/js/foundation.js +2440 -3870
  20. data/vendor/assets/js/foundation.js.map +1 -1
  21. data/vendor/assets/js/foundation.min.js +1 -1
  22. data/vendor/assets/js/foundation.min.js.map +1 -1
  23. data/vendor/assets/js/plugins/foundation.abide.js +238 -344
  24. data/vendor/assets/js/plugins/foundation.abide.js.map +1 -1
  25. data/vendor/assets/js/plugins/foundation.abide.min.js +1 -1
  26. data/vendor/assets/js/plugins/foundation.abide.min.js.map +1 -1
  27. data/vendor/assets/js/plugins/foundation.accordion.js +197 -275
  28. data/vendor/assets/js/plugins/foundation.accordion.js.map +1 -1
  29. data/vendor/assets/js/plugins/foundation.accordion.min.js +1 -1
  30. data/vendor/assets/js/plugins/foundation.accordion.min.js.map +1 -1
  31. data/vendor/assets/js/plugins/foundation.accordionMenu.js +174 -260
  32. data/vendor/assets/js/plugins/foundation.accordionMenu.js.map +1 -1
  33. data/vendor/assets/js/plugins/foundation.accordionMenu.min.js +1 -1
  34. data/vendor/assets/js/plugins/foundation.accordionMenu.min.js.map +1 -1
  35. data/vendor/assets/js/plugins/foundation.core.js +308 -447
  36. data/vendor/assets/js/plugins/foundation.core.js.map +1 -1
  37. data/vendor/assets/js/plugins/foundation.core.min.js +1 -1
  38. data/vendor/assets/js/plugins/foundation.core.min.js.map +1 -1
  39. data/vendor/assets/js/plugins/foundation.drilldown.js +258 -358
  40. data/vendor/assets/js/plugins/foundation.drilldown.js.map +1 -1
  41. data/vendor/assets/js/plugins/foundation.drilldown.min.js +1 -1
  42. data/vendor/assets/js/plugins/foundation.drilldown.min.js.map +1 -1
  43. data/vendor/assets/js/plugins/foundation.dropdown.js +289 -457
  44. data/vendor/assets/js/plugins/foundation.dropdown.js.map +1 -1
  45. data/vendor/assets/js/plugins/foundation.dropdown.min.js +1 -1
  46. data/vendor/assets/js/plugins/foundation.dropdown.min.js.map +1 -1
  47. data/vendor/assets/js/plugins/foundation.dropdownMenu.js +246 -346
  48. data/vendor/assets/js/plugins/foundation.dropdownMenu.js.map +1 -1
  49. data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js +1 -1
  50. data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js.map +1 -1
  51. data/vendor/assets/js/plugins/foundation.equalizer.js +178 -261
  52. data/vendor/assets/js/plugins/foundation.equalizer.js.map +1 -1
  53. data/vendor/assets/js/plugins/foundation.equalizer.min.js +1 -1
  54. data/vendor/assets/js/plugins/foundation.equalizer.min.js.map +1 -1
  55. data/vendor/assets/js/plugins/foundation.interchange.js +227 -326
  56. data/vendor/assets/js/plugins/foundation.interchange.js.map +1 -1
  57. data/vendor/assets/js/plugins/foundation.interchange.min.js +1 -1
  58. data/vendor/assets/js/plugins/foundation.interchange.min.js.map +1 -1
  59. data/vendor/assets/js/plugins/foundation.magellan.js +225 -336
  60. data/vendor/assets/js/plugins/foundation.magellan.js.map +1 -1
  61. data/vendor/assets/js/plugins/foundation.magellan.min.js +1 -1
  62. data/vendor/assets/js/plugins/foundation.magellan.min.js.map +1 -1
  63. data/vendor/assets/js/plugins/foundation.offcanvas.js +326 -471
  64. data/vendor/assets/js/plugins/foundation.offcanvas.js.map +1 -1
  65. data/vendor/assets/js/plugins/foundation.offcanvas.min.js +1 -1
  66. data/vendor/assets/js/plugins/foundation.offcanvas.min.js.map +1 -1
  67. data/vendor/assets/js/plugins/foundation.orbit.js +244 -347
  68. data/vendor/assets/js/plugins/foundation.orbit.js.map +1 -1
  69. data/vendor/assets/js/plugins/foundation.orbit.min.js +1 -1
  70. data/vendor/assets/js/plugins/foundation.orbit.min.js.map +1 -1
  71. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js +203 -278
  72. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js.map +1 -1
  73. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js +1 -1
  74. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js.map +1 -1
  75. data/vendor/assets/js/plugins/foundation.responsiveMenu.js +205 -255
  76. data/vendor/assets/js/plugins/foundation.responsiveMenu.js.map +1 -1
  77. data/vendor/assets/js/plugins/foundation.responsiveMenu.min.js +1 -1
  78. data/vendor/assets/js/plugins/foundation.responsiveMenu.min.js.map +1 -1
  79. data/vendor/assets/js/plugins/foundation.responsiveToggle.js +170 -226
  80. data/vendor/assets/js/plugins/foundation.responsiveToggle.js.map +1 -1
  81. data/vendor/assets/js/plugins/foundation.responsiveToggle.min.js +1 -1
  82. data/vendor/assets/js/plugins/foundation.responsiveToggle.min.js.map +1 -1
  83. data/vendor/assets/js/plugins/foundation.reveal.js +284 -444
  84. data/vendor/assets/js/plugins/foundation.reveal.js.map +1 -1
  85. data/vendor/assets/js/plugins/foundation.reveal.min.js +1 -1
  86. data/vendor/assets/js/plugins/foundation.reveal.min.js.map +1 -1
  87. data/vendor/assets/js/plugins/foundation.slider.js +322 -483
  88. data/vendor/assets/js/plugins/foundation.slider.js.map +1 -1
  89. data/vendor/assets/js/plugins/foundation.slider.min.js +1 -1
  90. data/vendor/assets/js/plugins/foundation.slider.min.js.map +1 -1
  91. data/vendor/assets/js/plugins/foundation.smoothScroll.js +138 -188
  92. data/vendor/assets/js/plugins/foundation.smoothScroll.js.map +1 -1
  93. data/vendor/assets/js/plugins/foundation.smoothScroll.min.js +1 -1
  94. data/vendor/assets/js/plugins/foundation.smoothScroll.min.js.map +1 -1
  95. data/vendor/assets/js/plugins/foundation.sticky.js +253 -394
  96. data/vendor/assets/js/plugins/foundation.sticky.js.map +1 -1
  97. data/vendor/assets/js/plugins/foundation.sticky.min.js +1 -1
  98. data/vendor/assets/js/plugins/foundation.sticky.min.js.map +1 -1
  99. data/vendor/assets/js/plugins/foundation.tabs.js +228 -317
  100. data/vendor/assets/js/plugins/foundation.tabs.js.map +1 -1
  101. data/vendor/assets/js/plugins/foundation.tabs.min.js +1 -1
  102. data/vendor/assets/js/plugins/foundation.tabs.min.js.map +1 -1
  103. data/vendor/assets/js/plugins/foundation.toggler.js +207 -294
  104. data/vendor/assets/js/plugins/foundation.toggler.js.map +1 -1
  105. data/vendor/assets/js/plugins/foundation.toggler.min.js +1 -1
  106. data/vendor/assets/js/plugins/foundation.toggler.min.js.map +1 -1
  107. data/vendor/assets/js/plugins/foundation.tooltip.js +275 -434
  108. data/vendor/assets/js/plugins/foundation.tooltip.js.map +1 -1
  109. data/vendor/assets/js/plugins/foundation.tooltip.min.js +1 -1
  110. data/vendor/assets/js/plugins/foundation.tooltip.min.js.map +1 -1
  111. data/vendor/assets/js/plugins/foundation.util.box.js +130 -186
  112. data/vendor/assets/js/plugins/foundation.util.box.js.map +1 -1
  113. data/vendor/assets/js/plugins/foundation.util.box.min.js +1 -1
  114. data/vendor/assets/js/plugins/foundation.util.box.min.js.map +1 -1
  115. data/vendor/assets/js/plugins/foundation.util.imageLoader.js +110 -150
  116. data/vendor/assets/js/plugins/foundation.util.imageLoader.js.map +1 -1
  117. data/vendor/assets/js/plugins/foundation.util.imageLoader.min.js +1 -1
  118. data/vendor/assets/js/plugins/foundation.util.imageLoader.min.js.map +1 -1
  119. data/vendor/assets/js/plugins/foundation.util.keyboard.js +157 -172
  120. data/vendor/assets/js/plugins/foundation.util.keyboard.js.map +1 -1
  121. data/vendor/assets/js/plugins/foundation.util.keyboard.min.js +1 -1
  122. data/vendor/assets/js/plugins/foundation.util.keyboard.min.js.map +1 -1
  123. data/vendor/assets/js/plugins/foundation.util.mediaQuery.js +167 -233
  124. data/vendor/assets/js/plugins/foundation.util.mediaQuery.js.map +1 -1
  125. data/vendor/assets/js/plugins/foundation.util.mediaQuery.min.js +1 -1
  126. data/vendor/assets/js/plugins/foundation.util.mediaQuery.min.js.map +1 -1
  127. data/vendor/assets/js/plugins/foundation.util.motion.js +123 -161
  128. data/vendor/assets/js/plugins/foundation.util.motion.js.map +1 -1
  129. data/vendor/assets/js/plugins/foundation.util.motion.min.js +1 -1
  130. data/vendor/assets/js/plugins/foundation.util.motion.min.js.map +1 -1
  131. data/vendor/assets/js/plugins/foundation.util.nest.js +123 -160
  132. data/vendor/assets/js/plugins/foundation.util.nest.js.map +1 -1
  133. data/vendor/assets/js/plugins/foundation.util.nest.min.js +1 -1
  134. data/vendor/assets/js/plugins/foundation.util.nest.min.js.map +1 -1
  135. data/vendor/assets/js/plugins/foundation.util.timer.js +116 -171
  136. data/vendor/assets/js/plugins/foundation.util.timer.js.map +1 -1
  137. data/vendor/assets/js/plugins/foundation.util.timer.min.js +1 -1
  138. data/vendor/assets/js/plugins/foundation.util.timer.min.js.map +1 -1
  139. data/vendor/assets/js/plugins/foundation.util.touch.js +172 -228
  140. data/vendor/assets/js/plugins/foundation.util.touch.js.map +1 -1
  141. data/vendor/assets/js/plugins/foundation.util.touch.min.js +1 -1
  142. data/vendor/assets/js/plugins/foundation.util.touch.min.js.map +1 -1
  143. data/vendor/assets/js/plugins/foundation.util.triggers.js +158 -222
  144. data/vendor/assets/js/plugins/foundation.util.triggers.js.map +1 -1
  145. data/vendor/assets/js/plugins/foundation.util.triggers.min.js +1 -1
  146. data/vendor/assets/js/plugins/foundation.util.triggers.min.js.map +1 -1
  147. data/vendor/assets/scss/_global.scss +18 -5
  148. data/vendor/assets/scss/components/_accordion-menu.scss +2 -2
  149. data/vendor/assets/scss/components/_badge.scss +1 -1
  150. data/vendor/assets/scss/components/_breadcrumbs.scss +2 -1
  151. data/vendor/assets/scss/components/_button-group.scss +13 -8
  152. data/vendor/assets/scss/components/_button.scss +13 -13
  153. data/vendor/assets/scss/components/_callout.scss +2 -2
  154. data/vendor/assets/scss/components/_close-button.scss +5 -4
  155. data/vendor/assets/scss/components/_dropdown-menu.scss +1 -1
  156. data/vendor/assets/scss/components/_label.scss +1 -1
  157. data/vendor/assets/scss/components/_menu.scss +54 -19
  158. data/vendor/assets/scss/components/_off-canvas.scss +18 -16
  159. data/vendor/assets/scss/components/_orbit.scss +3 -3
  160. data/vendor/assets/scss/components/_pagination.scss +1 -1
  161. data/vendor/assets/scss/components/_progress-bar.scss +1 -1
  162. data/vendor/assets/scss/components/_responsive-embed.scss +1 -1
  163. data/vendor/assets/scss/components/_reveal.scss +8 -3
  164. data/vendor/assets/scss/components/_slider.scss +5 -2
  165. data/vendor/assets/scss/components/_switch.scss +25 -2
  166. data/vendor/assets/scss/components/_table.scss +8 -7
  167. data/vendor/assets/scss/components/_tabs.scss +2 -2
  168. data/vendor/assets/scss/components/_top-bar.scss +7 -5
  169. data/vendor/assets/scss/components/_visibility.scss +45 -2
  170. data/vendor/assets/scss/forms/_label.scss +2 -1
  171. data/vendor/assets/scss/forms/_progress.scss +1 -1
  172. data/vendor/assets/scss/forms/_range.scss +1 -1
  173. data/vendor/assets/scss/forms/_select.scss +5 -4
  174. data/vendor/assets/scss/forms/_text.scss +2 -2
  175. data/vendor/assets/scss/foundation.scss +1 -1
  176. data/vendor/assets/scss/grid/_classes.scss +1 -1
  177. data/vendor/assets/scss/grid/_column.scss +3 -2
  178. data/vendor/assets/scss/grid/_flex-grid.scss +7 -6
  179. data/vendor/assets/scss/grid/_gutter.scss +1 -1
  180. data/vendor/assets/scss/grid/_layout.scss +5 -5
  181. data/vendor/assets/scss/grid/_position.scss +4 -4
  182. data/vendor/assets/scss/grid/_row.scss +1 -1
  183. data/vendor/assets/scss/motion-ui/util/_animation.scss +1 -1
  184. data/vendor/assets/scss/motion-ui/util/_series.scss +1 -1
  185. data/vendor/assets/scss/motion-ui/util/_unit.scss +54 -1
  186. data/vendor/assets/scss/prototype/_border-none.scss +1 -1
  187. data/vendor/assets/scss/prototype/_font-styling.scss +2 -2
  188. data/vendor/assets/scss/prototype/_overflow.scss +9 -0
  189. data/vendor/assets/scss/prototype/_rotate.scss +7 -5
  190. data/vendor/assets/scss/prototype/_separator.scss +5 -5
  191. data/vendor/assets/scss/prototype/_shadow.scss +1 -2
  192. data/vendor/assets/scss/prototype/_spacing.scss +33 -33
  193. data/vendor/assets/scss/prototype/_text-transformation.scss +3 -3
  194. data/vendor/assets/scss/settings/_settings.scss +32 -28
  195. data/vendor/assets/scss/typography/_base.scss +6 -6
  196. data/vendor/assets/scss/typography/_helpers.scss +10 -2
  197. data/vendor/assets/scss/typography/_print.scss +2 -2
  198. data/vendor/assets/scss/util/_breakpoint.scss +21 -18
  199. data/vendor/assets/scss/util/_color.scss +20 -8
  200. data/vendor/assets/scss/util/_direction.scss +1 -1
  201. data/vendor/assets/scss/util/_flex.scss +1 -1
  202. data/vendor/assets/scss/util/_math.scss +61 -9
  203. data/vendor/assets/scss/util/_mixins.scss +18 -14
  204. data/vendor/assets/scss/util/_selector.scss +1 -15
  205. data/vendor/assets/scss/util/_typography.scss +6 -6
  206. data/vendor/assets/scss/util/_unit.scss +14 -8
  207. data/vendor/assets/scss/util/_value.scss +3 -18
  208. data/vendor/assets/scss/vendor/normalize.scss +19 -2
  209. data/vendor/assets/scss/xy-grid/_cell.scss +16 -5
  210. data/vendor/assets/scss/xy-grid/_classes.scss +8 -8
  211. data/vendor/assets/scss/xy-grid/_frame.scss +12 -0
  212. data/vendor/assets/scss/xy-grid/_grid.scss +2 -2
  213. data/vendor/assets/scss/xy-grid/_gutters.scss +2 -2
  214. data/vendor/assets/scss/xy-grid/_layout.scss +1 -1
  215. data/vendor/assets/scss/xy-grid/_position.scss +12 -7
  216. data/vendor/assets/scss/xy-grid/_xy-grid.scss +2 -2
  217. metadata +21 -19
@@ -1 +1 @@
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":["Foundation","plugin","Drilldown","element","options","$element","$","extend","defaults","data","className","_init","Keyboard","register","Nest","Feather","autoApplyClass","addClass","attr","$submenuAnchors","find","children","$submenus","parent","$menuItems","not","$currentMenu","GetYoDigits","_prepareMenu","_registerEvents","_keyboardEvents","_this","each","$link","$sub","parentLink","clone","prependTo","wrap","removeAttr","_events","$menu","$back","length","backButtonPosition","append","backButton","prepend","console","error","_back","autoHeight","hasClass","$wrapper","wrapper","animateHeight","css","_getMaxDims","$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","$elements","$prevElement","$nextElement","i","is","eq","Math","max","min","handleKey","next","one","transitionend","first","focus","previous","_hide","setTimeout","up","down","close","siblings","open","handled","calcHeight","closest","height","removeClass","parentSubMenu","autoFocus","$expandedSubmenus","index","_setHideSubMenuClasses","isLastChild","_setShowSubMenuClasses","$submenu","blur","maxHeight","result","numOfElems","Box","GetDimensions","getBoundingClientRect","width","Burn","unwrap","remove","end","detach","removeData","Plugin"],"mappings":"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","file":"foundation.drilldown.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__;"],"sourceRoot":""}
1
+ {"version":3,"file":"foundation.drilldown.js","mappings":"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","sources":["webpack://__FOUNDATION_EXTERNAL__/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__/./js/foundation.drilldown.js","webpack://__FOUNDATION_EXTERNAL__/external umd {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__/external umd {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.box\"],\"amd\":\"./foundation.util.box\",\"commonjs\":\"./foundation.util.box\",\"commonjs2\":\"./foundation.util.box\"}","webpack://__FOUNDATION_EXTERNAL__/external umd {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"}","webpack://__FOUNDATION_EXTERNAL__/external umd {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.nest\"],\"amd\":\"./foundation.util.nest\",\"commonjs\":\"./foundation.util.nest\",\"commonjs2\":\"./foundation.util.nest\"}","webpack://__FOUNDATION_EXTERNAL__/external umd {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}","webpack://__FOUNDATION_EXTERNAL__/webpack/bootstrap","webpack://__FOUNDATION_EXTERNAL__/webpack/runtime/compat get default export","webpack://__FOUNDATION_EXTERNAL__/webpack/runtime/define property getters","webpack://__FOUNDATION_EXTERNAL__/webpack/runtime/hasOwnProperty shorthand","webpack://__FOUNDATION_EXTERNAL__/webpack/runtime/make namespace object","webpack://__FOUNDATION_EXTERNAL__/./js/entries/plugins/foundation.drilldown.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.nest\"), require(\"./foundation.util.box\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\", \"./foundation.util.keyboard\", \"./foundation.util.nest\", \"./foundation.util.box\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"__FOUNDATION_EXTERNAL__\"] = factory(require(\"./foundation.core\"), require(\"jquery\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.nest\"), require(\"./foundation.util.box\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.drilldown\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.nest\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_util_nest__, __WEBPACK_EXTERNAL_MODULE__foundation_util_box__) {\nreturn ","import $ 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 });\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 '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').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(ev) {\n if (ev.target === _this.$element[0] || $.contains(_this.$element[0], ev.target)) { return; }\n ev.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 $elem.parent().closest('ul').removeClass('invisible');\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() {\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 else {\n _this.$currentMenu = _this.$element;\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() {\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() {\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 > 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 > 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\n //hide drilldown parent menu when submenu is open\n // this removes it from the dom so that the tab key will take the user to the next visible element\n $elem.parent().closest('ul').addClass('invisible');\n\n // add visible class to submenu to override invisible class above\n $submenu.addClass('is-active visible').removeClass('invisible').attr('aria-hidden', false);\n\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 $elem.parent().closest('ul').removeClass('invisible');\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 visible');\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 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 $('body').off('.zf.drilldown');\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').off('transitionend otransitionend webkitTransitionEnd')\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__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__;","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;","// 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","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { Foundation } from './foundation.core';\n\nimport { Drilldown } from '../../foundation.drilldown';\nFoundation.plugin(Drilldown, 'Drilldown');\n\nexport { Foundation, Drilldown };\n"],"names":["$","Keyboard","Nest","GetYoDigits","transitionend","Box","Plugin","Drilldown","_Plugin","_classCallCheck","_callSuper","arguments","_inherits","_createClass","key","value","_setup","element","options","$element","extend","defaults","data","className","_init","register","Feather","autoApplyClass","addClass","attr","$submenuAnchors","find","children","$submenus","parent","$menuItems","not","$currentMenu","_prepareMenu","_registerEvents","_keyboardEvents","_this","each","$link","$sub","parentLink","clone","prependTo","wrap","removeAttr","_events","$menu","$back","length","backButtonPosition","append","backButton","prepend","console","error","_back","autoHeight","hasClass","$wrapper","wrapper","animateHeight","css","_getMaxDims","_resize","$elem","off","on","e","target","parentsUntil","preventDefault","_show","closeOnClick","$body","ev","contains","_hideAll","scrollTop","_bindHandler","_scrollTop","bind","$scrollTopElement","scrollTopElement","scrollPos","parseInt","offset","top","scrollTopOffset","stop","animate","animationDuration","animationEasing","trigger","add","$elements","$prevElement","$nextElement","i","is","eq","Math","max","min","handleKey","next","one","first","focus","previous","_hide","setTimeout","up","down","close","siblings","open","handled","_this2","closest","removeClass","calcHeight","height","parentSubMenu","_menuLinkEvents","_setShowSubMenuClasses","_setHideSubMenuClasses","_showMenu","autoFocus","$expandedSubmenus","index","isLastChild","$submenu","blur","maxHeight","result","GetDimensions","concat","getBoundingClientRect","width","_destroy","Burn","unwrap","remove","end","detach","removeData","Foundation","plugin"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("./foundation.core"),require("./foundation.util.box"),require("./foundation.util.keyboard"),require("./foundation.util.nest"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.util.box","./foundation.util.keyboard","./foundation.util.nest","jquery"],t):"object"==typeof exports?exports["foundation.drilldown"]=t(require("./foundation.core"),require("./foundation.util.box"),require("./foundation.util.keyboard"),require("./foundation.util.nest"),require("jquery")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.drilldown"]=t(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.__FOUNDATION_EXTERNAL__["foundation.util.box"],e.__FOUNDATION_EXTERNAL__["foundation.util.keyboard"],e.__FOUNDATION_EXTERNAL__["foundation.util.nest"],e.jQuery))}(window,function(n,i,o,r,s){return u={},a.m=l={"./foundation.core":function(e,t){e.exports=n},"./foundation.util.box":function(e,t){e.exports=i},"./foundation.util.keyboard":function(e,t){e.exports=o},"./foundation.util.nest":function(e,t){e.exports=r},"./js/entries/plugins/foundation.drilldown.js":function(e,t,n){"use strict";n.r(t);var i=n("./foundation.core");n.d(t,"Foundation",function(){return i.Foundation});var o=n("./js/foundation.drilldown.js");n.d(t,"Drilldown",function(){return o.Drilldown}),i.Foundation.plugin(o.Drilldown,"Drilldown")},"./js/foundation.drilldown.js":function(e,t,n){"use strict";n.r(t),n.d(t,"Drilldown",function(){return p});var i=n("jquery"),s=n.n(i),a=n("./foundation.util.keyboard"),o=n("./foundation.util.nest"),l=n("./foundation.core"),r=n("./foundation.util.box");function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function d(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function c(e,t){return!t||"object"!==u(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var p=function(){function n(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),c(this,f(n).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}(n,l["Plugin"]),function(e,t,n){t&&d(e.prototype,t),n&&d(e,n)}(n,[{key:"_setup",value:function(e,t){this.$element=e,this.options=s.a.extend({},n.defaults,this.$element.data(),t),this.className="Drilldown",this._init(),a.Keyboard.register("Drilldown",{ENTER:"open",SPACE:"open",ARROW_RIGHT:"next",ARROW_UP:"up",ARROW_DOWN:"down",ARROW_LEFT:"previous",ESCAPE:"close",TAB:"down",SHIFT_TAB:"up"})}},{key:"_init",value:function(){o.Nest.Feather(this.$element,"drilldown"),this.options.autoApplyClass&&this.$element.addClass("drilldown"),this.$element.attr({role:"tree","aria-multiselectable":!1}),this.$submenuAnchors=this.$element.find("li.is-drilldown-submenu-parent").children("a"),this.$submenus=this.$submenuAnchors.parent("li").children("[data-submenu]").attr("role","group"),this.$menuItems=this.$element.find("li").not(".js-drilldown-back").attr("role","treeitem").find("a"),this.$currentMenu=this.$element,this.$element.attr("data-mutate",this.$element.attr("data-drilldown")||Object(l.GetYoDigits)(6,"drilldown")),this._prepareMenu(),this._registerEvents(),this._keyboardEvents()}},{key:"_prepareMenu",value:function(){var n=this;this.$submenuAnchors.each(function(){var e=s()(this),t=e.parent();n.options.parentLink&&e.clone().prependTo(t.children("[data-submenu]")).wrap('<li data-is-parent-link class="is-submenu-parent-item is-submenu-item is-drilldown-submenu-item" role="none"></li>'),e.data("savedHref",e.attr("href")).removeAttr("href").attr("tabindex",0),e.children("[data-submenu]").attr({"aria-hidden":!0,tabindex:0,role:"group"}),n._events(e)}),this.$submenus.each(function(){var e=s()(this);if(!e.find(".js-drilldown-back").length)switch(n.options.backButtonPosition){case"bottom":e.append(n.options.backButton);break;case"top":e.prepend(n.options.backButton);break;default:console.error("Unsupported backButtonPosition value '"+n.options.backButtonPosition+"'")}n._back(e)}),this.$submenus.addClass("invisible"),this.options.autoHeight||this.$submenus.addClass("drilldown-submenu-cover-previous"),this.$element.parent().hasClass("is-drilldown")||(this.$wrapper=s()(this.options.wrapper).addClass("is-drilldown"),this.options.animateHeight&&this.$wrapper.addClass("animate-height"),this.$element.wrap(this.$wrapper)),this.$wrapper=this.$element.parent(),this.$wrapper.css(this._getMaxDims())}},{key:"_resize",value:function(){this.$wrapper.css({"max-width":"none","min-height":"none"}),this.$wrapper.css(this._getMaxDims())}},{key:"_events",value:function(n){var i=this;n.off("click.zf.drilldown").on("click.zf.drilldown",function(e){if(s()(e.target).parentsUntil("ul","li").hasClass("is-drilldown-submenu-parent")&&e.preventDefault(),i._show(n.parent("li")),i.options.closeOnClick){var t=s()("body");t.off(".zf.drilldown").on("click.zf.drilldown",function(e){e.target===i.$element[0]||s.a.contains(i.$element[0],e.target)||(e.preventDefault(),i._hideAll(),t.off(".zf.drilldown"))})}})}},{key:"_registerEvents",value:function(){this.options.scrollTop&&(this._bindHandler=this._scrollTop.bind(this),this.$element.on("open.zf.drilldown hide.zf.drilldown close.zf.drilldown closed.zf.drilldown",this._bindHandler)),this.$element.on("mutateme.zf.trigger",this._resize.bind(this))}},{key:"_scrollTop",value:function(){var e=this,t=""!=e.options.scrollTopElement?s()(e.options.scrollTopElement):e.$element,n=parseInt(t.offset().top+e.options.scrollTopOffset,10);s()("html, body").stop(!0).animate({scrollTop:n},e.options.animationDuration,e.options.animationEasing,function(){this===s()("html")[0]&&e.$element.trigger("scrollme.zf.drilldown")})}},{key:"_keyboardEvents",value:function(){var e=this;this.$menuItems.add(this.$element.find(".js-drilldown-back > a, .is-submenu-parent-item > a")).on("keydown.zf.drilldown",function(t){var n,i,o=s()(this),r=o.parent("li").parent("ul").children("li").children("a");r.each(function(e){if(s()(this).is(o))return n=r.eq(Math.max(0,e-1)),void(i=r.eq(Math.min(e+1,r.length-1)))}),a.Keyboard.handleKey(t,"Drilldown",{next:function(){if(o.is(e.$submenuAnchors))return e._show(o.parent("li")),o.parent("li").one(Object(l.transitionend)(o),function(){o.parent("li").find("ul li a").not(".js-drilldown-back a").first().focus()}),!0},previous:function(){return e._hide(o.parent("li").parent("ul")),o.parent("li").parent("ul").one(Object(l.transitionend)(o),function(){setTimeout(function(){o.parent("li").parent("ul").parent("li").children("a").first().focus()},1)}),!0},up:function(){return n.focus(),!o.is(e.$element.find("> li:first-child > a"))},down:function(){return i.focus(),!o.is(e.$element.find("> li:last-child > a"))},close:function(){o.is(e.$element.find("> li > a"))||(e._hide(o.parent().parent()),o.parent().parent().siblings("a").focus())},open:function(){return(!e.options.parentLink||!o.attr("href"))&&(o.is(e.$menuItems)?o.is(e.$submenuAnchors)?(e._show(o.parent("li")),o.parent("li").one(Object(l.transitionend)(o),function(){o.parent("li").find("ul li a").not(".js-drilldown-back a").first().focus()}),!0):void 0:(e._hide(o.parent("li").parent("ul")),o.parent("li").parent("ul").one(Object(l.transitionend)(o),function(){setTimeout(function(){o.parent("li").parent("ul").parent("li").children("a").first().focus()},1)}),!0))},handled:function(e){e&&t.preventDefault()}})})}},{key:"_hideAll",value:function(){var e=this,t=this.$element.find(".is-drilldown-submenu.is-active");if(t.addClass("is-closing"),this.options.autoHeight){var n=t.parent().closest("ul").data("calcHeight");this.$wrapper.css({height:n})}this.$element.trigger("close.zf.drilldown"),t.one(Object(l.transitionend)(t),function(){t.removeClass("is-active is-closing"),e.$element.trigger("closed.zf.drilldown")})}},{key:"_back",value:function(n){var i=this;n.off("click.zf.drilldown"),n.children(".js-drilldown-back").on("click.zf.drilldown",function(e){i._hide(n);var t=n.parent("li").parent("ul").parent("li");t.length&&i._show(t)})}},{key:"_menuLinkEvents",value:function(){var t=this;this.$menuItems.not(".is-drilldown-submenu-parent").off("click.zf.drilldown").on("click.zf.drilldown",function(e){setTimeout(function(){t._hideAll()},0)})}},{key:"_setShowSubMenuClasses",value:function(e,t){e.addClass("is-active").removeClass("invisible").attr("aria-hidden",!1),e.parent("li").attr("aria-expanded",!0),!0===t&&this.$element.trigger("open.zf.drilldown",[e])}},{key:"_setHideSubMenuClasses",value:function(e,t){e.removeClass("is-active").addClass("invisible").attr("aria-hidden",!0),e.parent("li").attr("aria-expanded",!1),!0===t&&e.trigger("hide.zf.drilldown",[e])}},{key:"_showMenu",value:function(n,i){var o=this;if(this.$element.find('li[aria-expanded="true"] > ul[data-submenu]').each(function(e){o._setHideSubMenuClasses(s()(this))}),(this.$currentMenu=n).is("[data-drilldown]"))return!0===i&&n.find('li[role="treeitem"] > a').first().focus(),void(this.options.autoHeight&&this.$wrapper.css("height",n.data("calcHeight")));var r=n.children().first().parentsUntil("[data-drilldown]","[data-submenu]");r.each(function(e){0===e&&o.options.autoHeight&&o.$wrapper.css("height",s()(this).data("calcHeight"));var t=e==r.length-1;!0==t&&s()(this).one(Object(l.transitionend)(s()(this)),function(){!0===i&&n.find('li[role="treeitem"] > a').first().focus()}),o._setShowSubMenuClasses(s()(this),t)})}},{key:"_show",value:function(e){var t=e.children("[data-submenu]");e.attr("aria-expanded",!0),(this.$currentMenu=t).addClass("is-active").removeClass("invisible").attr("aria-hidden",!1),this.options.autoHeight&&this.$wrapper.css({height:t.data("calcHeight")}),this.$element.trigger("open.zf.drilldown",[e])}},{key:"_hide",value:function(e){this.options.autoHeight&&this.$wrapper.css({height:e.parent().closest("ul").data("calcHeight")});e.parent("li").attr("aria-expanded",!1),e.attr("aria-hidden",!0),e.addClass("is-closing").one(Object(l.transitionend)(e),function(){e.removeClass("is-active is-closing"),e.blur().addClass("invisible")}),e.trigger("hide.zf.drilldown",[e])}},{key:"_getMaxDims",value:function(){var t=0,e={},n=this;return this.$submenus.add(this.$element).each(function(){s()(this).children("li").length;var e=r.Box.GetDimensions(this).height;t=t<e?e:t,n.options.autoHeight&&s()(this).data("calcHeight",e)}),this.options.autoHeight?e.height=this.$currentMenu.data("calcHeight"):e["min-height"]="".concat(t,"px"),e["max-width"]="".concat(this.$element[0].getBoundingClientRect().width,"px"),e}},{key:"_destroy",value:function(){this.options.scrollTop&&this.$element.off(".zf.drilldown",this._bindHandler),this._hideAll(),this.$element.off("mutateme.zf.trigger"),o.Nest.Burn(this.$element,"drilldown"),this.$element.unwrap().find(".js-drilldown-back, .is-submenu-parent-item").remove().end().find(".is-active, .is-closing, .is-drilldown-submenu").removeClass("is-active is-closing is-drilldown-submenu").end().find("[data-submenu]").removeAttr("aria-hidden tabindex role"),this.$submenuAnchors.each(function(){s()(this).off(".zf.drilldown")}),this.$element.find("[data-is-parent-link]").detach(),this.$submenus.removeClass("drilldown-submenu-cover-previous invisible"),this.$element.find("a").each(function(){var e=s()(this);e.removeAttr("tabindex"),e.data("savedHref")&&e.attr("href",e.data("savedHref")).removeData("savedHref")})}}]),n}();p.defaults={autoApplyClass:!0,backButton:'<li class="js-drilldown-back"><a tabindex="0">Back</a></li>',backButtonPosition:"top",wrapper:"<div></div>",parentLink:!1,closeOnClick:!1,autoHeight:!1,animateHeight:!1,scrollTop:!1,scrollTopElement:"",scrollTopOffset:0,animationDuration:500,animationEasing:"swing"}},3:function(e,t,n){e.exports=n("./js/entries/plugins/foundation.drilldown.js")},jquery:function(e,t){e.exports=s}},a.c=u,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(t,e){if(1&e&&(t=a(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(a.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)a.d(n,i,function(e){return t[e]}.bind(null,i));return n},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=3);function a(e){if(u[e])return u[e].exports;var t=u[e]={i:e,l:!1,exports:{}};return l[e].call(t.exports,t,t.exports,a),t.l=!0,t.exports}var l,u});
1
+ ((e,t)=>{"object"==typeof exports&&"object"==typeof module?module.exports=t(require("./foundation.core"),require("jquery"),require("./foundation.util.keyboard"),require("./foundation.util.nest"),require("./foundation.util.box")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery","./foundation.util.keyboard","./foundation.util.nest","./foundation.util.box"],t):"object"==typeof exports?exports.__FOUNDATION_EXTERNAL__=t(require("./foundation.core"),require("jquery"),require("./foundation.util.keyboard"),require("./foundation.util.nest"),require("./foundation.util.box")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.drilldown"]=t(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.jQuery,e.__FOUNDATION_EXTERNAL__["foundation.util.keyboard"],e.__FOUNDATION_EXTERNAL__["foundation.util.nest"],e.__FOUNDATION_EXTERNAL__["foundation.util.box"]))})(self,function(t,n,i,o,r){return a={"./js/foundation.drilldown.js":function(e,t,n){n.r(t),n.d(t,{Drilldown:function(){return i}});var t=n("jquery"),s=n.n(t),a=n("./foundation.util.keyboard"),o=n("./foundation.util.nest"),l=n("./foundation.core"),r=n("./foundation.util.box");function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function d(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(e=>(e=((e,t)=>{if("object"!=u(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);if("object"!=u(n=n.call(e,t||"default")))return n;throw new TypeError("@@toPrimitive must return a primitive value.")})(e,"string"),"symbol"==u(e)?e:e+""))(i.key),i)}}function c(e,t,n){t=h(t);var i=e,t=f()?Reflect.construct(t,n||[],h(e).constructor):t.apply(e,n);if(!t||"object"!=u(t)&&"function"!=typeof t){if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0===(t=i))throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return t}function f(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(f=function(){return!!e})()}function h(e){return(h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function p(e,t){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var i=(e=>{function n(){var e=this,t=n;if(e instanceof t)return c(this,n,arguments);throw new TypeError("Cannot call a class as a function")}var t,i=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");return i.prototype=Object.create(e&&e.prototype,{constructor:{value:i,writable:!0,configurable:!0}}),Object.defineProperty(i,"prototype",{writable:!1}),e&&p(i,e),i=n,(e=[{key:"_setup",value:function(e,t){this.$element=e,this.options=s().extend({},n.defaults,this.$element.data(),t),this.className="Drilldown",this._init(),a.Keyboard.register("Drilldown",{ENTER:"open",SPACE:"open",ARROW_RIGHT:"next",ARROW_UP:"up",ARROW_DOWN:"down",ARROW_LEFT:"previous",ESCAPE:"close"})}},{key:"_init",value:function(){o.Nest.Feather(this.$element,"drilldown"),this.options.autoApplyClass&&this.$element.addClass("drilldown"),this.$element.attr({"aria-multiselectable":!1}),this.$submenuAnchors=this.$element.find("li.is-drilldown-submenu-parent").children("a"),this.$submenus=this.$submenuAnchors.parent("li").children("[data-submenu]").attr("role","group"),this.$menuItems=this.$element.find("li").not(".js-drilldown-back").find("a"),this.$currentMenu=this.$element,this.$element.attr("data-mutate",this.$element.attr("data-drilldown")||(0,l.GetYoDigits)(6,"drilldown")),this._prepareMenu(),this._registerEvents(),this._keyboardEvents()}},{key:"_prepareMenu",value:function(){var n=this;this.$submenuAnchors.each(function(){var e=s()(this),t=e.parent();n.options.parentLink&&e.clone().prependTo(t.children("[data-submenu]")).wrap('<li data-is-parent-link class="is-submenu-parent-item is-submenu-item is-drilldown-submenu-item" role="none"></li>'),e.data("savedHref",e.attr("href")).removeAttr("href").attr("tabindex",0),e.children("[data-submenu]").attr({"aria-hidden":!0,tabindex:0,role:"group"}),n._events(e)}),this.$submenus.each(function(){var e=s()(this);if(!e.find(".js-drilldown-back").length)switch(n.options.backButtonPosition){case"bottom":e.append(n.options.backButton);break;case"top":e.prepend(n.options.backButton);break;default:console.error("Unsupported backButtonPosition value '"+n.options.backButtonPosition+"'")}n._back(e)}),this.$submenus.addClass("invisible"),this.options.autoHeight||this.$submenus.addClass("drilldown-submenu-cover-previous"),this.$element.parent().hasClass("is-drilldown")||(this.$wrapper=s()(this.options.wrapper).addClass("is-drilldown"),this.options.animateHeight&&this.$wrapper.addClass("animate-height"),this.$element.wrap(this.$wrapper)),this.$wrapper=this.$element.parent(),this.$wrapper.css(this._getMaxDims())}},{key:"_resize",value:function(){this.$wrapper.css({"max-width":"none","min-height":"none"}),this.$wrapper.css(this._getMaxDims())}},{key:"_events",value:function(n){var i=this;n.off("click.zf.drilldown").on("click.zf.drilldown",function(e){var t;s()(e.target).parentsUntil("ul","li").hasClass("is-drilldown-submenu-parent")&&e.preventDefault(),i._show(n.parent("li")),i.options.closeOnClick&&(t=s()("body")).off(".zf.drilldown").on("click.zf.drilldown",function(e){e.target===i.$element[0]||s().contains(i.$element[0],e.target)||(e.preventDefault(),i._hideAll(),t.off(".zf.drilldown"))})})}},{key:"_registerEvents",value:function(){this.options.scrollTop&&(this._bindHandler=this._scrollTop.bind(this),this.$element.on("open.zf.drilldown hide.zf.drilldown close.zf.drilldown closed.zf.drilldown",this._bindHandler)),this.$element.on("mutateme.zf.trigger",this._resize.bind(this))}},{key:"_scrollTop",value:function(){var e=this,t=""!==e.options.scrollTopElement?s()(e.options.scrollTopElement):e.$element,t=parseInt(t.offset().top+e.options.scrollTopOffset,10);s()("html, body").stop(!0).animate({scrollTop:t},e.options.animationDuration,e.options.animationEasing,function(){this===s()("html")[0]&&e.$element.trigger("scrollme.zf.drilldown")})}},{key:"_keyboardEvents",value:function(){var e=this;this.$menuItems.add(this.$element.find(".js-drilldown-back > a, .is-submenu-parent-item > a")).on("keydown.zf.drilldown",function(t){var n,i,o=s()(this),r=o.parent("li").parent("ul").children("li").children("a");r.each(function(e){s()(this).is(o)&&(n=r.eq(Math.max(0,e-1)),i=r.eq(Math.min(e+1,r.length-1)))}),a.Keyboard.handleKey(t,"Drilldown",{next:function(){if(o.is(e.$submenuAnchors))return e._show(o.parent("li")),o.parent("li").one((0,l.transitionend)(o),function(){o.parent("li").find("ul li a").not(".js-drilldown-back a").first().focus()}),!0},previous:function(){return e._hide(o.parent("li").parent("ul")),o.parent("li").parent("ul").one((0,l.transitionend)(o),function(){setTimeout(function(){o.parent("li").parent("ul").parent("li").children("a").first().focus()},1)}),!0},up:function(){return n.focus(),!o.is(e.$element.find("> li:first-child > a"))},down:function(){return i.focus(),!o.is(e.$element.find("> li:last-child > a"))},close:function(){o.is(e.$element.find("> li > a"))||(e._hide(o.parent().parent()),o.parent().parent().siblings("a").focus())},open:function(){return(!e.options.parentLink||!o.attr("href"))&&(o.is(e.$menuItems)?o.is(e.$submenuAnchors)?(e._show(o.parent("li")),o.parent("li").one((0,l.transitionend)(o),function(){o.parent("li").find("ul li a").not(".js-drilldown-back a").first().focus()}),!0):void 0:(e._hide(o.parent("li").parent("ul")),o.parent("li").parent("ul").one((0,l.transitionend)(o),function(){setTimeout(function(){o.parent("li").parent("ul").parent("li").children("a").first().focus()},1)}),!0))},handled:function(e){e&&t.preventDefault()}})})}},{key:"_hideAll",value:function(){var e,t=this,n=this.$element.find(".is-drilldown-submenu.is-active");n.addClass("is-closing"),n.parent().closest("ul").removeClass("invisible"),this.options.autoHeight&&(e=n.parent().closest("ul").data("calcHeight"),this.$wrapper.css({height:e})),this.$element.trigger("close.zf.drilldown"),n.one((0,l.transitionend)(n),function(){n.removeClass("is-active is-closing"),t.$element.trigger("closed.zf.drilldown")})}},{key:"_back",value:function(t){var n=this;t.off("click.zf.drilldown"),t.children(".js-drilldown-back").on("click.zf.drilldown",function(){n._hide(t);var e=t.parent("li").parent("ul").parent("li");e.length?n._show(e):n.$currentMenu=n.$element})}},{key:"_menuLinkEvents",value:function(){var e=this;this.$menuItems.not(".is-drilldown-submenu-parent").off("click.zf.drilldown").on("click.zf.drilldown",function(){setTimeout(function(){e._hideAll()},0)})}},{key:"_setShowSubMenuClasses",value:function(e,t){e.addClass("is-active").removeClass("invisible").attr("aria-hidden",!1),e.parent("li").attr("aria-expanded",!0),!0===t&&this.$element.trigger("open.zf.drilldown",[e])}},{key:"_setHideSubMenuClasses",value:function(e,t){e.removeClass("is-active").addClass("invisible").attr("aria-hidden",!0),e.parent("li").attr("aria-expanded",!1),!0===t&&e.trigger("hide.zf.drilldown",[e])}},{key:"_showMenu",value:function(t,n){var i,o=this;this.$element.find('li[aria-expanded="true"] > ul[data-submenu]').each(function(){o._setHideSubMenuClasses(s()(this))}),(this.$currentMenu=t).is("[data-drilldown]")?(!0===n&&t.find("li > a").first().focus(),this.options.autoHeight&&this.$wrapper.css("height",t.data("calcHeight"))):(i=t.children().first().parentsUntil("[data-drilldown]","[data-submenu]")).each(function(e){0===e&&o.options.autoHeight&&o.$wrapper.css("height",s()(this).data("calcHeight"));e=e===i.length-1;!0==e&&s()(this).one((0,l.transitionend)(s()(this)),function(){!0===n&&t.find("li > a").first().focus()}),o._setShowSubMenuClasses(s()(this),e)})}},{key:"_show",value:function(e){var t=e.children("[data-submenu]");e.attr("aria-expanded",!0),this.$currentMenu=t,e.parent().closest("ul").addClass("invisible"),t.addClass("is-active visible").removeClass("invisible").attr("aria-hidden",!1),this.options.autoHeight&&this.$wrapper.css({height:t.data("calcHeight")}),this.$element.trigger("open.zf.drilldown",[e])}},{key:"_hide",value:function(e){this.options.autoHeight&&this.$wrapper.css({height:e.parent().closest("ul").data("calcHeight")}),e.parent().closest("ul").removeClass("invisible"),e.parent("li").attr("aria-expanded",!1),e.attr("aria-hidden",!0),e.addClass("is-closing").one((0,l.transitionend)(e),function(){e.removeClass("is-active is-closing visible"),e.blur().addClass("invisible")}),e.trigger("hide.zf.drilldown",[e])}},{key:"_getMaxDims",value:function(){var t=0,e={},n=this;return this.$submenus.add(this.$element).each(function(){var e=r.Box.GetDimensions(this).height;t=t<e?e:t,n.options.autoHeight&&s()(this).data("calcHeight",e)}),this.options.autoHeight?e.height=this.$currentMenu.data("calcHeight"):e["min-height"]="".concat(t,"px"),e["max-width"]="".concat(this.$element[0].getBoundingClientRect().width,"px"),e}},{key:"_destroy",value:function(){s()("body").off(".zf.drilldown"),this.options.scrollTop&&this.$element.off(".zf.drilldown",this._bindHandler),this._hideAll(),this.$element.off("mutateme.zf.trigger"),o.Nest.Burn(this.$element,"drilldown"),this.$element.unwrap().find(".js-drilldown-back, .is-submenu-parent-item").remove().end().find(".is-active, .is-closing, .is-drilldown-submenu").removeClass("is-active is-closing is-drilldown-submenu").off("transitionend otransitionend webkitTransitionEnd").end().find("[data-submenu]").removeAttr("aria-hidden tabindex role"),this.$submenuAnchors.each(function(){s()(this).off(".zf.drilldown")}),this.$element.find("[data-is-parent-link]").detach(),this.$submenus.removeClass("drilldown-submenu-cover-previous invisible"),this.$element.find("a").each(function(){var e=s()(this);e.removeAttr("tabindex"),e.data("savedHref")&&e.attr("href",e.data("savedHref")).removeData("savedHref")})}}])&&d(i.prototype,e),t&&d(i,t),Object.defineProperty(i,"prototype",{writable:!1}),i})(l.Plugin);i.defaults={autoApplyClass:!0,backButton:'<li class="js-drilldown-back"><a tabindex="0">Back</a></li>',backButtonPosition:"top",wrapper:"<div></div>",parentLink:!1,closeOnClick:!1,autoHeight:!1,animateHeight:!1,scrollTop:!1,scrollTopElement:"",scrollTopOffset:0,animationDuration:500,animationEasing:"swing"}},"./foundation.core":function(e){e.exports=t},"./foundation.util.box":function(e){e.exports=r},"./foundation.util.keyboard":function(e){e.exports=i},"./foundation.util.nest":function(e){e.exports=o},jquery:function(e){e.exports=n}},l={},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,{a:t}),t},s.d=function(e,t){for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},d={},(s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})})(d),s.d(d,{Drilldown:function(){return u.Drilldown},Foundation:function(){return e.Foundation}}),e=s("./foundation.core"),u=s("./js/foundation.drilldown.js"),e.Foundation.plugin(u.Drilldown,"Drilldown"),d;function s(e){var t=l[e];return void 0!==t||(t=l[e]={exports:{}},a[e](t,t.exports,s)),t.exports}var a,l,e,u,d});
2
2
  //# sourceMappingURL=foundation.drilldown.min.js.map
@@ -1 +1 @@
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=\"menuitem\"></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__;"]}
1
+ {"version":3,"file":"foundation.drilldown.min.js","sources":["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(\"jquery\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.nest\"), require(\"./foundation.util.box\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\", \"./foundation.util.keyboard\", \"./foundation.util.nest\", \"./foundation.util.box\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"__FOUNDATION_EXTERNAL__\"] = factory(require(\"./foundation.core\"), require(\"jquery\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.nest\"), require(\"./foundation.util.box\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.drilldown\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.nest\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_util_nest__, __WEBPACK_EXTERNAL_MODULE__foundation_util_box__) {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ \"./js/foundation.drilldown.js\":\n/*!************************************!*\\\n !*** ./js/foundation.drilldown.js ***!\n \\************************************/\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Drilldown: function() { return /* binding */ Drilldown; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.util.keyboard */ \"./foundation.util.keyboard\");\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _foundation_util_nest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.nest */ \"./foundation.util.nest\");\n/* harmony import */ var _foundation_util_nest__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_nest__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./foundation.core\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _foundation_util_box__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.util.box */ \"./foundation.util.box\");\n/* harmony import */ var _foundation_util_box__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_box__WEBPACK_IMPORTED_MODULE_4__);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\n\n\n\n\n\n\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 */\nvar Drilldown = /*#__PURE__*/function (_Plugin) {\n function Drilldown() {\n _classCallCheck(this, Drilldown);\n return _callSuper(this, Drilldown, arguments);\n }\n _inherits(Drilldown, _Plugin);\n return _createClass(Drilldown, [{\n key: \"_setup\",\n value:\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 function _setup(element, options) {\n this.$element = element;\n this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, Drilldown.defaults, this.$element.data(), options);\n this.className = 'Drilldown'; // ie9 back compat\n\n this._init();\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__.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 });\n }\n\n /**\n * Initializes the drilldown by creating jQuery collections of elements\n * @private\n */\n }, {\n key: \"_init\",\n value: function _init() {\n _foundation_util_nest__WEBPACK_IMPORTED_MODULE_2__.Nest.Feather(this.$element, 'drilldown');\n if (this.options.autoApplyClass) {\n this.$element.addClass('drilldown');\n }\n this.$element.attr({\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').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 this.$element.attr('data-mutate', this.$element.attr('data-drilldown') || (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.GetYoDigits)(6, 'drilldown'));\n this._prepareMenu();\n this._registerEvents();\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 }, {\n key: \"_prepareMenu\",\n value: function _prepareMenu() {\n var _this = this;\n // if(!this.options.holdOpen){\n // this._menuLinkEvents();\n // }\n this.$submenuAnchors.each(function () {\n var $link = jquery__WEBPACK_IMPORTED_MODULE_0___default()(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]').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 = jquery__WEBPACK_IMPORTED_MODULE_0___default()(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 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 = jquery__WEBPACK_IMPORTED_MODULE_0___default()(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 key: \"_resize\",\n value: function _resize() {\n this.$wrapper.css({\n 'max-width': 'none',\n 'min-height': 'none'\n });\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 }, {\n key: \"_events\",\n value: function _events($elem) {\n var _this = this;\n $elem.off('click.zf.drilldown').on('click.zf.drilldown', function (e) {\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(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 if (_this.options.closeOnClick) {\n var $body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body');\n $body.off('.zf.drilldown').on('click.zf.drilldown', function (ev) {\n if (ev.target === _this.$element[0] || jquery__WEBPACK_IMPORTED_MODULE_0___default().contains(_this.$element[0], ev.target)) {\n return;\n }\n ev.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 }, {\n key: \"_registerEvents\",\n value: function _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 }, {\n key: \"_scrollTop\",\n value: function _scrollTop() {\n var _this = this;\n var $scrollTopElement = _this.options.scrollTopElement !== '' ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(_this.options.scrollTopElement) : _this.$element,\n scrollPos = parseInt($scrollTopElement.offset().top + _this.options.scrollTopOffset, 10);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('html, body').stop(true).animate({\n scrollTop: scrollPos\n }, _this.options.animationDuration, _this.options.animationEasing, function () {\n /**\n * Fires after the menu has scrolled\n * @event Drilldown#scrollme\n */\n if (this === jquery__WEBPACK_IMPORTED_MODULE_0___default()('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 }, {\n key: \"_keyboardEvents\",\n value: function _keyboardEvents() {\n var _this = this;\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 = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n $elements = $element.parent('li').parent('ul').children('li').children('a'),\n $prevElement,\n $nextElement;\n $elements.each(function (i) {\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(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 _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__.Keyboard.handleKey(e, 'Drilldown', {\n next: function next() {\n if ($element.is(_this.$submenuAnchors)) {\n _this._show($element.parent('li'));\n $element.parent('li').one((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.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 previous() {\n _this._hide($element.parent('li').parent('ul'));\n $element.parent('li').parent('ul').one((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.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 up() {\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 down() {\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 close() {\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 open() {\n if (_this.options.parentLink && $element.attr('href')) {\n // Link with href\n return false;\n } else if (!$element.is(_this.$menuItems)) {\n // not menu item means back button\n _this._hide($element.parent('li').parent('ul'));\n $element.parent('li').parent('ul').one((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.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)) {\n // Sub menu item\n _this._show($element.parent('li'));\n $element.parent('li').one((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.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 handled(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 }, {\n key: \"_hideAll\",\n value: function _hideAll() {\n var _this2 = this;\n var $elem = this.$element.find('.is-drilldown-submenu.is-active');\n $elem.addClass('is-closing');\n $elem.parent().closest('ul').removeClass('invisible');\n if (this.options.autoHeight) {\n var calcHeight = $elem.parent().closest('ul').data('calcHeight');\n this.$wrapper.css({\n height: calcHeight\n });\n }\n\n /**\n * Fires when the menu is closing.\n * @event Drilldown#close\n */\n this.$element.trigger('close.zf.drilldown');\n $elem.one((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.transitionend)($elem), function () {\n $elem.removeClass('is-active is-closing');\n\n /**\n * Fires when the menu is fully closed.\n * @event Drilldown#closed\n */\n _this2.$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 }, {\n key: \"_back\",\n value: function _back($elem) {\n var _this = this;\n $elem.off('click.zf.drilldown');\n $elem.children('.js-drilldown-back').on('click.zf.drilldown', function () {\n _this._hide($elem);\n\n // If there is a parent submenu, call show\n var parentSubMenu = $elem.parent('li').parent('ul').parent('li');\n if (parentSubMenu.length) {\n _this._show(parentSubMenu);\n } else {\n _this.$currentMenu = _this.$element;\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 }, {\n key: \"_menuLinkEvents\",\n value: function _menuLinkEvents() {\n var _this = this;\n this.$menuItems.not('.is-drilldown-submenu-parent').off('click.zf.drilldown').on('click.zf.drilldown', function () {\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 }, {\n key: \"_setShowSubMenuClasses\",\n value: function _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 }, {\n key: \"_setHideSubMenuClasses\",\n value: function _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 }, {\n key: \"_showMenu\",\n value: function _showMenu($elem, autoFocus) {\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 () {\n _this._setHideSubMenuClasses(jquery__WEBPACK_IMPORTED_MODULE_0___default()(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 > 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 // Update height of first child (target menu) if autoHeight option true\n if (index === 0 && _this.options.autoHeight) {\n _this.$wrapper.css('height', jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('calcHeight'));\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 jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).one((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.transitionend)(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)), function () {\n if (autoFocus === true) {\n $elem.find('li > a').first().focus();\n }\n });\n }\n _this._setShowSubMenuClasses(jquery__WEBPACK_IMPORTED_MODULE_0___default()(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 }, {\n key: \"_show\",\n value: function _show($elem) {\n var $submenu = $elem.children('[data-submenu]');\n $elem.attr('aria-expanded', true);\n this.$currentMenu = $submenu;\n\n //hide drilldown parent menu when submenu is open\n // this removes it from the dom so that the tab key will take the user to the next visible element\n $elem.parent().closest('ul').addClass('invisible');\n\n // add visible class to submenu to override invisible class above\n $submenu.addClass('is-active visible').removeClass('invisible').attr('aria-hidden', false);\n if (this.options.autoHeight) {\n this.$wrapper.css({\n height: $submenu.data('calcHeight')\n });\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 }, {\n key: \"_hide\",\n value: function _hide($elem) {\n if (this.options.autoHeight) this.$wrapper.css({\n height: $elem.parent().closest('ul').data('calcHeight')\n });\n $elem.parent().closest('ul').removeClass('invisible');\n $elem.parent('li').attr('aria-expanded', false);\n $elem.attr('aria-hidden', true);\n $elem.addClass('is-closing').one((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.transitionend)($elem), function () {\n $elem.removeClass('is-active is-closing visible');\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 }, {\n key: \"_getMaxDims\",\n value: function _getMaxDims() {\n var maxHeight = 0,\n result = {},\n _this = this;\n\n // Recalculate menu heights and total max height\n this.$submenus.add(this.$element).each(function () {\n var height = _foundation_util_box__WEBPACK_IMPORTED_MODULE_4__.Box.GetDimensions(this).height;\n maxHeight = height > maxHeight ? height : maxHeight;\n if (_this.options.autoHeight) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('calcHeight', height);\n }\n });\n if (this.options.autoHeight) result.height = this.$currentMenu.data('calcHeight');else result['min-height'] = \"\".concat(maxHeight, \"px\");\n result['max-width'] = \"\".concat(this.$element[0].getBoundingClientRect().width, \"px\");\n return result;\n }\n\n /**\n * Destroys the Drilldown Menu\n * @function\n */\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').off('.zf.drilldown');\n if (this.options.scrollTop) this.$element.off('.zf.drilldown', this._bindHandler);\n this._hideAll();\n this.$element.off('mutateme.zf.trigger');\n _foundation_util_nest__WEBPACK_IMPORTED_MODULE_2__.Nest.Burn(this.$element, 'drilldown');\n this.$element.unwrap().find('.js-drilldown-back, .is-submenu-parent-item').remove().end().find('.is-active, .is-closing, .is-drilldown-submenu').removeClass('is-active is-closing is-drilldown-submenu').off('transitionend otransitionend webkitTransitionEnd').end().find('[data-submenu]').removeAttr('aria-hidden tabindex role');\n this.$submenuAnchors.each(function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).off('.zf.drilldown');\n });\n this.$element.find('[data-is-parent-link]').detach();\n this.$submenus.removeClass('drilldown-submenu-cover-previous invisible');\n this.$element.find('a').each(function () {\n var $link = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n $link.removeAttr('tabindex');\n if ($link.data('savedHref')) {\n $link.attr('href', $link.data('savedHref')).removeData('savedHref');\n } else {\n return;\n }\n });\n }\n }]);\n}(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.Plugin);\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\n\n/***/ }),\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./foundation.util.box\":\n/*!********************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.box\"],\"amd\":\"./foundation.util.box\",\"commonjs\":\"./foundation.util.box\",\"commonjs2\":\"./foundation.util.box\"} ***!\n \\********************************************************************************************************************************************************************************/\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_box__;\n\n/***/ }),\n\n/***/ \"./foundation.util.keyboard\":\n/*!****************************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"} ***!\n \\****************************************************************************************************************************************************************************************************/\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;\n\n/***/ }),\n\n/***/ \"./foundation.util.nest\":\n/*!************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.nest\"],\"amd\":\"./foundation.util.nest\",\"commonjs\":\"./foundation.util.nest\",\"commonjs2\":\"./foundation.util.nest\"} ***!\n \\************************************************************************************************************************************************************************************/\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_nest__;\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t!function() {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = function(exports) {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n!function() {\n/*!****************************************************!*\\\n !*** ./js/entries/plugins/foundation.drilldown.js ***!\n \\****************************************************/\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Drilldown: function() { return /* reexport safe */ _foundation_drilldown__WEBPACK_IMPORTED_MODULE_1__.Drilldown; },\n/* harmony export */ Foundation: function() { return /* reexport safe */ _foundation_core__WEBPACK_IMPORTED_MODULE_0__.Foundation; }\n/* harmony export */ });\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_drilldown__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.drilldown */ \"./js/foundation.drilldown.js\");\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__.Foundation.plugin(_foundation_drilldown__WEBPACK_IMPORTED_MODULE_1__.Drilldown, 'Drilldown');\n\n}();\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=foundation.drilldown.js.map"],"names":["root","factory","exports","module","require","define","amd","self","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__","__WEBPACK_EXTERNAL_MODULE__foundation_util_nest__","__WEBPACK_EXTERNAL_MODULE__foundation_util_box__","__webpack_modules__","./js/foundation.drilldown.js","__unused_webpack_module","__webpack_exports__","__webpack_require__","r","d","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__","_typeof","o","Symbol","iterator","constructor","prototype","_defineProperties","e","t","length","enumerable","configurable","writable","Object","defineProperty","i","toPrimitive","String","Number","call","TypeError","key","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","apply","ReferenceError","Boolean","valueOf","setPrototypeOf","getPrototypeOf","bind","__proto__","_setPrototypeOf","_Plugin","_classCallCheck","a","this","arguments","_inherits","create","value","element","options","$element","extend","defaults","data","className","_init","Keyboard","register","ENTER","SPACE","ARROW_RIGHT","ARROW_UP","ARROW_DOWN","ARROW_LEFT","ESCAPE","Nest","Feather","autoApplyClass","addClass","attr","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","role","_events","$menu","backButtonPosition","append","backButton","prepend","console","error","_back","autoHeight","hasClass","$wrapper","wrapper","animateHeight","css","_getMaxDims","max-width","min-height","$elem","off","on","$body","target","parentsUntil","preventDefault","_show","closeOnClick","ev","contains","_hideAll","scrollTop","_bindHandler","_scrollTop","_resize","$scrollTopElement","scrollTopElement","scrollPos","parseInt","offset","top","scrollTopOffset","stop","animate","animationDuration","animationEasing","trigger","add","$prevElement","$nextElement","$elements","is","eq","Math","max","min","handleKey","next","one","transitionend","first","focus","previous","_hide","setTimeout","up","down","close","siblings","open","handled","calcHeight","_this2","closest","removeClass","height","parentSubMenu","autoFocus","_setHideSubMenuClasses","index","isLastChild","_setShowSubMenuClasses","$submenu","blur","maxHeight","result","Box","GetDimensions","concat","getBoundingClientRect","width","Burn","unwrap","remove","end","detach","removeData","Plugin","./foundation.core","./foundation.util.box","./foundation.util.keyboard","./foundation.util.nest","jquery","__webpack_module_cache__","getter","__esModule","definition","get","obj","prop","hasOwnProperty","toStringTag","_foundation_drilldown__WEBPACK_IMPORTED_MODULE_1__","Foundation","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","plugin","moduleId","cachedModule","undefined"],"mappings":"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"}