foundation-rails 6.4.3.0 → 6.5.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (268) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -1
  3. data/.ruby-version +1 -1
  4. data/.travis.yml +14 -3
  5. data/Appraisals +19 -0
  6. data/Gemfile +5 -2
  7. data/Gemfile.lock +193 -0
  8. data/README.md +53 -24
  9. data/Rakefile +11 -12
  10. data/bower.json +3 -3
  11. data/foundation-rails.gemspec +5 -5
  12. data/gemfiles/rails_4.1.gemfile +10 -0
  13. data/gemfiles/rails_4.1.gemfile.lock +178 -0
  14. data/gemfiles/rails_4.2.gemfile +10 -0
  15. data/gemfiles/rails_4.2.gemfile.lock +178 -0
  16. data/gemfiles/rails_5.0.gemfile +10 -0
  17. data/gemfiles/rails_5.0.gemfile.lock +193 -0
  18. data/gemfiles/rails_5.1.gemfile +10 -0
  19. data/gemfiles/rails_5.1.gemfile.lock +193 -0
  20. data/gemfiles/rails_5.2.gemfile +10 -0
  21. data/gemfiles/rails_5.2.gemfile.lock +193 -0
  22. data/lib/foundation/rails/version.rb +1 -1
  23. data/lib/generators/foundation/install_generator.rb +1 -1
  24. data/lib/generators/foundation/templates/_settings.scss +5 -5
  25. data/spec/support/helpers.rb +1 -1
  26. data/vendor/assets/js/foundation.cjs.js +11795 -0
  27. data/vendor/assets/js/foundation.cjs.js.map +1 -0
  28. data/vendor/assets/js/foundation.es6.js +10361 -0
  29. data/vendor/assets/js/foundation.es6.js.map +1 -0
  30. data/vendor/assets/js/foundation.esm.js +11756 -0
  31. data/vendor/assets/js/foundation.esm.js.map +1 -0
  32. data/vendor/assets/js/foundation.js +13214 -31
  33. data/vendor/assets/js/foundation.js.map +1 -0
  34. data/vendor/assets/js/foundation.min.js +2 -0
  35. data/vendor/assets/js/foundation.min.js.map +1 -0
  36. data/vendor/assets/js/foundation.sprockets.js +38 -0
  37. data/vendor/assets/js/{foundation.abide.js → plugins/foundation.abide.js} +317 -138
  38. data/vendor/assets/js/plugins/foundation.abide.js.map +1 -0
  39. data/vendor/assets/js/plugins/foundation.abide.min.js +2 -0
  40. data/vendor/assets/js/plugins/foundation.abide.min.js.map +1 -0
  41. data/vendor/assets/js/plugins/foundation.accordion.js +676 -0
  42. data/vendor/assets/js/plugins/foundation.accordion.js.map +1 -0
  43. data/vendor/assets/js/plugins/foundation.accordion.min.js +2 -0
  44. data/vendor/assets/js/plugins/foundation.accordion.min.js.map +1 -0
  45. data/vendor/assets/js/plugins/foundation.accordionMenu.js +637 -0
  46. data/vendor/assets/js/plugins/foundation.accordionMenu.js.map +1 -0
  47. data/vendor/assets/js/plugins/foundation.accordionMenu.min.js +2 -0
  48. data/vendor/assets/js/plugins/foundation.accordionMenu.min.js.map +1 -0
  49. data/vendor/assets/js/plugins/foundation.core.js +1072 -0
  50. data/vendor/assets/js/plugins/foundation.core.js.map +1 -0
  51. data/vendor/assets/js/plugins/foundation.core.min.js +2 -0
  52. data/vendor/assets/js/plugins/foundation.core.min.js.map +1 -0
  53. data/vendor/assets/js/plugins/foundation.drilldown.js +982 -0
  54. data/vendor/assets/js/plugins/foundation.drilldown.js.map +1 -0
  55. data/vendor/assets/js/plugins/foundation.drilldown.min.js +2 -0
  56. data/vendor/assets/js/plugins/foundation.drilldown.min.js.map +1 -0
  57. data/vendor/assets/js/plugins/foundation.dropdown.js +1324 -0
  58. data/vendor/assets/js/plugins/foundation.dropdown.js.map +1 -0
  59. data/vendor/assets/js/plugins/foundation.dropdown.min.js +2 -0
  60. data/vendor/assets/js/plugins/foundation.dropdown.min.js.map +1 -0
  61. data/vendor/assets/js/plugins/foundation.dropdownMenu.js +792 -0
  62. data/vendor/assets/js/plugins/foundation.dropdownMenu.js.map +1 -0
  63. data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js +2 -0
  64. data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js.map +1 -0
  65. data/vendor/assets/js/plugins/foundation.equalizer.js +638 -0
  66. data/vendor/assets/js/plugins/foundation.equalizer.js.map +1 -0
  67. data/vendor/assets/js/plugins/foundation.equalizer.min.js +2 -0
  68. data/vendor/assets/js/plugins/foundation.equalizer.min.js.map +1 -0
  69. data/vendor/assets/js/plugins/foundation.interchange.js +471 -0
  70. data/vendor/assets/js/plugins/foundation.interchange.js.map +1 -0
  71. data/vendor/assets/js/plugins/foundation.interchange.min.js +2 -0
  72. data/vendor/assets/js/plugins/foundation.interchange.min.js.map +1 -0
  73. data/vendor/assets/js/plugins/foundation.magellan.js +551 -0
  74. data/vendor/assets/js/plugins/foundation.magellan.js.map +1 -0
  75. data/vendor/assets/js/plugins/foundation.magellan.min.js +2 -0
  76. data/vendor/assets/js/plugins/foundation.magellan.min.js.map +1 -0
  77. data/vendor/assets/js/plugins/foundation.offcanvas.js +1164 -0
  78. data/vendor/assets/js/plugins/foundation.offcanvas.js.map +1 -0
  79. data/vendor/assets/js/plugins/foundation.offcanvas.min.js +2 -0
  80. data/vendor/assets/js/plugins/foundation.offcanvas.min.js.map +1 -0
  81. data/vendor/assets/js/plugins/foundation.orbit.js +883 -0
  82. data/vendor/assets/js/plugins/foundation.orbit.js.map +1 -0
  83. data/vendor/assets/js/plugins/foundation.orbit.min.js +2 -0
  84. data/vendor/assets/js/plugins/foundation.orbit.min.js.map +1 -0
  85. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js +546 -0
  86. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js.map +1 -0
  87. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js +2 -0
  88. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js.map +1 -0
  89. data/vendor/assets/js/plugins/foundation.responsiveMenu.js +437 -0
  90. data/vendor/assets/js/plugins/foundation.responsiveMenu.js.map +1 -0
  91. data/vendor/assets/js/plugins/foundation.responsiveMenu.min.js +2 -0
  92. data/vendor/assets/js/plugins/foundation.responsiveMenu.min.js.map +1 -0
  93. data/vendor/assets/js/plugins/foundation.responsiveToggle.js +405 -0
  94. data/vendor/assets/js/plugins/foundation.responsiveToggle.js.map +1 -0
  95. data/vendor/assets/js/plugins/foundation.responsiveToggle.min.js +2 -0
  96. data/vendor/assets/js/plugins/foundation.responsiveToggle.min.js.map +1 -0
  97. data/vendor/assets/js/plugins/foundation.reveal.js +1278 -0
  98. data/vendor/assets/js/plugins/foundation.reveal.js.map +1 -0
  99. data/vendor/assets/js/plugins/foundation.reveal.min.js +2 -0
  100. data/vendor/assets/js/plugins/foundation.reveal.min.js.map +1 -0
  101. data/vendor/assets/js/{foundation.slider.js → plugins/foundation.slider.js} +405 -271
  102. data/vendor/assets/js/plugins/foundation.slider.js.map +1 -0
  103. data/vendor/assets/js/plugins/foundation.slider.min.js +2 -0
  104. data/vendor/assets/js/plugins/foundation.slider.min.js.map +1 -0
  105. data/vendor/assets/js/plugins/foundation.smoothScroll.js +382 -0
  106. data/vendor/assets/js/plugins/foundation.smoothScroll.js.map +1 -0
  107. data/vendor/assets/js/plugins/foundation.smoothScroll.min.js +2 -0
  108. data/vendor/assets/js/plugins/foundation.smoothScroll.min.js.map +1 -0
  109. data/vendor/assets/js/{foundation.sticky.js → plugins/foundation.sticky.js} +325 -203
  110. data/vendor/assets/js/plugins/foundation.sticky.js.map +1 -0
  111. data/vendor/assets/js/plugins/foundation.sticky.min.js +2 -0
  112. data/vendor/assets/js/plugins/foundation.sticky.min.js.map +1 -0
  113. data/vendor/assets/js/plugins/foundation.tabs.js +813 -0
  114. data/vendor/assets/js/plugins/foundation.tabs.js.map +1 -0
  115. data/vendor/assets/js/plugins/foundation.tabs.min.js +2 -0
  116. data/vendor/assets/js/plugins/foundation.tabs.min.js.map +1 -0
  117. data/vendor/assets/js/plugins/foundation.toggler.js +713 -0
  118. data/vendor/assets/js/plugins/foundation.toggler.js.map +1 -0
  119. data/vendor/assets/js/plugins/foundation.toggler.min.js +2 -0
  120. data/vendor/assets/js/plugins/foundation.toggler.min.js.map +1 -0
  121. data/vendor/assets/js/plugins/foundation.tooltip.js +1346 -0
  122. data/vendor/assets/js/plugins/foundation.tooltip.js.map +1 -0
  123. data/vendor/assets/js/plugins/foundation.tooltip.min.js +2 -0
  124. data/vendor/assets/js/plugins/foundation.tooltip.min.js.map +1 -0
  125. data/vendor/assets/js/{foundation.util.box.js → plugins/foundation.util.box.js} +136 -54
  126. data/vendor/assets/js/plugins/foundation.util.box.js.map +1 -0
  127. data/vendor/assets/js/plugins/foundation.util.box.min.js +2 -0
  128. data/vendor/assets/js/plugins/foundation.util.box.min.js.map +1 -0
  129. data/vendor/assets/js/plugins/foundation.util.imageLoader.js +218 -0
  130. data/vendor/assets/js/plugins/foundation.util.imageLoader.js.map +1 -0
  131. data/vendor/assets/js/plugins/foundation.util.imageLoader.min.js +2 -0
  132. data/vendor/assets/js/plugins/foundation.util.imageLoader.min.js.map +1 -0
  133. data/vendor/assets/js/plugins/foundation.util.keyboard.js +351 -0
  134. data/vendor/assets/js/plugins/foundation.util.keyboard.js.map +1 -0
  135. data/vendor/assets/js/plugins/foundation.util.keyboard.min.js +2 -0
  136. data/vendor/assets/js/plugins/foundation.util.keyboard.min.js.map +1 -0
  137. data/vendor/assets/js/plugins/foundation.util.mediaQuery.js +405 -0
  138. data/vendor/assets/js/plugins/foundation.util.mediaQuery.js.map +1 -0
  139. data/vendor/assets/js/plugins/foundation.util.mediaQuery.min.js +2 -0
  140. data/vendor/assets/js/plugins/foundation.util.mediaQuery.min.js.map +1 -0
  141. data/vendor/assets/js/plugins/foundation.util.motion.js +282 -0
  142. data/vendor/assets/js/plugins/foundation.util.motion.js.map +1 -0
  143. data/vendor/assets/js/plugins/foundation.util.motion.min.js +2 -0
  144. data/vendor/assets/js/plugins/foundation.util.motion.min.js.map +1 -0
  145. data/vendor/assets/js/plugins/foundation.util.nest.js +240 -0
  146. data/vendor/assets/js/plugins/foundation.util.nest.js.map +1 -0
  147. data/vendor/assets/js/plugins/foundation.util.nest.min.js +2 -0
  148. data/vendor/assets/js/plugins/foundation.util.nest.min.js.map +1 -0
  149. data/vendor/assets/js/plugins/foundation.util.timer.js +226 -0
  150. data/vendor/assets/js/plugins/foundation.util.timer.js.map +1 -0
  151. data/vendor/assets/js/plugins/foundation.util.timer.min.js +2 -0
  152. data/vendor/assets/js/plugins/foundation.util.timer.min.js.map +1 -0
  153. data/vendor/assets/js/plugins/foundation.util.touch.js +365 -0
  154. data/vendor/assets/js/plugins/foundation.util.touch.js.map +1 -0
  155. data/vendor/assets/js/plugins/foundation.util.touch.min.js +2 -0
  156. data/vendor/assets/js/plugins/foundation.util.touch.min.js.map +1 -0
  157. data/vendor/assets/js/plugins/foundation.util.triggers.js +480 -0
  158. data/vendor/assets/js/plugins/foundation.util.triggers.js.map +1 -0
  159. data/vendor/assets/js/plugins/foundation.util.triggers.min.js +2 -0
  160. data/vendor/assets/js/plugins/foundation.util.triggers.min.js.map +1 -0
  161. data/vendor/assets/scss/_global.scss +10 -15
  162. data/vendor/assets/scss/components/_accordion-menu.scss +6 -3
  163. data/vendor/assets/scss/components/_accordion.scss +1 -0
  164. data/vendor/assets/scss/components/_breadcrumbs.scss +8 -6
  165. data/vendor/assets/scss/components/_button-group.scss +27 -8
  166. data/vendor/assets/scss/components/_button.scss +36 -8
  167. data/vendor/assets/scss/components/_card.scss +2 -2
  168. data/vendor/assets/scss/components/_drilldown.scss +5 -6
  169. data/vendor/assets/scss/components/_dropdown-menu.scss +15 -10
  170. data/vendor/assets/scss/components/_dropdown.scss +7 -4
  171. data/vendor/assets/scss/components/_flex.scss +6 -4
  172. data/vendor/assets/scss/components/_media-object.scss +33 -33
  173. data/vendor/assets/scss/components/_menu.scss +0 -4
  174. data/vendor/assets/scss/components/_off-canvas.scss +4 -4
  175. data/vendor/assets/scss/components/_orbit.scss +1 -0
  176. data/vendor/assets/scss/components/_responsive-embed.scss +0 -13
  177. data/vendor/assets/scss/components/_reveal.scss +19 -14
  178. data/vendor/assets/scss/components/_table.scss +3 -6
  179. data/vendor/assets/scss/components/_tabs.scss +1 -4
  180. data/vendor/assets/scss/components/_thumbnail.scss +1 -1
  181. data/vendor/assets/scss/components/_visibility.scss +5 -2
  182. data/vendor/assets/scss/forms/_error.scss +1 -0
  183. data/vendor/assets/scss/forms/_input-group.scss +10 -10
  184. data/vendor/assets/scss/forms/_meter.scss +5 -5
  185. data/vendor/assets/scss/forms/_progress.scss +6 -6
  186. data/vendor/assets/scss/forms/_range.scss +5 -5
  187. data/vendor/assets/scss/forms/_text.scss +7 -7
  188. data/vendor/assets/scss/foundation.scss +74 -57
  189. data/vendor/assets/scss/grid/_column.scss +2 -6
  190. data/vendor/assets/scss/grid/_flex-grid.scss +1 -0
  191. data/vendor/assets/scss/grid/_gutter.scss +0 -15
  192. data/vendor/assets/scss/grid/_position.scss +28 -4
  193. data/vendor/assets/scss/motion-ui/_settings.scss +1 -0
  194. data/vendor/assets/scss/motion-ui/effects/_fade.scss +1 -4
  195. data/vendor/assets/scss/motion-ui/effects/_hinge.scss +4 -3
  196. data/vendor/assets/scss/motion-ui/effects/_shake.scss +1 -1
  197. data/vendor/assets/scss/motion-ui/effects/_slide.scss +4 -3
  198. data/vendor/assets/scss/motion-ui/effects/_spin.scss +4 -3
  199. data/vendor/assets/scss/motion-ui/effects/_wiggle.scss +1 -1
  200. data/vendor/assets/scss/motion-ui/effects/_zoom.scss +2 -2
  201. data/vendor/assets/scss/motion-ui/motion-ui.scss +2 -0
  202. data/vendor/assets/scss/motion-ui/transitions/_fade.scss +6 -4
  203. data/vendor/assets/scss/motion-ui/transitions/_hinge.scss +3 -2
  204. data/vendor/assets/scss/motion-ui/transitions/_slide.scss +3 -2
  205. data/vendor/assets/scss/motion-ui/transitions/_spin.scss +2 -1
  206. data/vendor/assets/scss/motion-ui/transitions/_zoom.scss +6 -4
  207. data/vendor/assets/scss/motion-ui/util/_animation.scss +1 -1
  208. data/vendor/assets/scss/motion-ui/util/_args.scss +2 -2
  209. data/vendor/assets/scss/motion-ui/util/_function.scss +94 -0
  210. data/vendor/assets/scss/motion-ui/util/_keyframe.scss +5 -5
  211. data/vendor/assets/scss/motion-ui/util/_series.scss +20 -17
  212. data/vendor/assets/scss/motion-ui/util/_string.scss +36 -0
  213. data/vendor/assets/scss/prototype/_relation.scss +1 -1
  214. data/vendor/assets/scss/prototype/_rounded.scss +3 -0
  215. data/vendor/assets/scss/prototype/_spacing.scss +94 -121
  216. data/vendor/assets/scss/settings/_settings.scss +5 -5
  217. data/vendor/assets/scss/typography/_base.scss +2 -2
  218. data/vendor/assets/scss/typography/_helpers.scss +1 -1
  219. data/vendor/assets/scss/typography/_print.scss +4 -0
  220. data/vendor/assets/scss/util/_breakpoint.scss +22 -10
  221. data/vendor/assets/scss/util/_color.scss +11 -1
  222. data/vendor/assets/scss/util/_direction.scss +1 -1
  223. data/vendor/assets/scss/util/_flex.scss +12 -7
  224. data/vendor/assets/scss/util/_mixins.scss +7 -3
  225. data/vendor/assets/scss/util/_unit.scss +3 -3
  226. data/vendor/assets/scss/vendor/normalize.scss +281 -0
  227. data/vendor/assets/scss/xy-grid/_cell.scss +33 -17
  228. data/vendor/assets/scss/xy-grid/_classes.scss +31 -11
  229. data/vendor/assets/scss/xy-grid/_collapse.scss +2 -1
  230. data/vendor/assets/scss/xy-grid/_frame.scss +2 -1
  231. data/vendor/assets/scss/xy-grid/_grid.scss +1 -0
  232. data/vendor/assets/scss/xy-grid/_gutters.scss +1 -1
  233. data/vendor/assets/scss/xy-grid/_layout.scss +2 -1
  234. data/vendor/assets/scss/xy-grid/_position.scss +5 -1
  235. metadata +172 -80
  236. data/vendor/assets/_vendor/normalize-scss/sass/_normalize.scss +0 -3
  237. data/vendor/assets/_vendor/normalize-scss/sass/normalize/_import-now.scss +0 -11
  238. data/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss +0 -676
  239. data/vendor/assets/_vendor/normalize-scss/sass/normalize/_variables.scss +0 -36
  240. data/vendor/assets/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss +0 -61
  241. data/vendor/assets/js/foundation.accordion.js +0 -511
  242. data/vendor/assets/js/foundation.accordionMenu.js +0 -527
  243. data/vendor/assets/js/foundation.core.js +0 -860
  244. data/vendor/assets/js/foundation.drilldown.js +0 -759
  245. data/vendor/assets/js/foundation.dropdown.js +0 -1151
  246. data/vendor/assets/js/foundation.dropdownMenu.js +0 -677
  247. data/vendor/assets/js/foundation.equalizer.js +0 -542
  248. data/vendor/assets/js/foundation.interchange.js +0 -399
  249. data/vendor/assets/js/foundation.magellan.js +0 -449
  250. data/vendor/assets/js/foundation.offcanvas.js +0 -1054
  251. data/vendor/assets/js/foundation.orbit.js +0 -767
  252. data/vendor/assets/js/foundation.responsiveAccordionTabs.js +0 -440
  253. data/vendor/assets/js/foundation.responsiveMenu.js +0 -362
  254. data/vendor/assets/js/foundation.responsiveToggle.js +0 -336
  255. data/vendor/assets/js/foundation.reveal.js +0 -1065
  256. data/vendor/assets/js/foundation.smoothScroll.js +0 -303
  257. data/vendor/assets/js/foundation.tabs.js +0 -678
  258. data/vendor/assets/js/foundation.toggler.js +0 -601
  259. data/vendor/assets/js/foundation.tooltip.js +0 -1194
  260. data/vendor/assets/js/foundation.util.imageLoader.js +0 -163
  261. data/vendor/assets/js/foundation.util.keyboard.js +0 -298
  262. data/vendor/assets/js/foundation.util.mediaQuery.js +0 -354
  263. data/vendor/assets/js/foundation.util.motion.js +0 -231
  264. data/vendor/assets/js/foundation.util.nest.js +0 -181
  265. data/vendor/assets/js/foundation.util.timer.js +0 -170
  266. data/vendor/assets/js/foundation.util.touch.js +0 -275
  267. data/vendor/assets/js/foundation.util.triggers.js +0 -398
  268. data/vendor/assets/scss/prototype/_typescale.scss +0 -20
@@ -0,0 +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.core\"],\"amd\":\"./foundation.core.plugin\",\"commonjs\":\"./foundation.core.plugin\",\"commonjs2\":\"./foundation.core.plugin\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core.utils\",\"commonjs\":\"./foundation.core.utils\",\"commonjs2\":\"./foundation.core.utils\"}","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","stopImmediatePropagation","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","height","closest","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.core.plugin\"), require(\"./foundation.core.utils\"), 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.core.plugin\", \"./foundation.core.utils\", \"./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.core.plugin\"), require(\"./foundation.core.utils\"), 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.core\"], 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_core_plugin__, __WEBPACK_EXTERNAL_MODULE__foundation_core_utils__, __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_core_plugin__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core_utils__;","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.stopImmediatePropagation();\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 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 e.stopImmediatePropagation();\n }\n });\n }); // end keyboardAccess\n }\n\n /**\n * Closes all open elements, and returns to root menu.\n * @function\n * @fires Drilldown#closed\n */\n _hideAll() {\n var $elem = this.$element.find('.is-drilldown-submenu.is-active').addClass('is-closing');\n if(this.options.autoHeight) this.$wrapper.css({height:$elem.parent().closest('ul').data('calcHeight')});\n $elem.one(transitionend($elem), function(e){\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 * 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 e.stopImmediatePropagation();\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 // e.stopImmediatePropagation();\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 {boolian}\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":""}
@@ -0,0 +1,2 @@
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("./foundation.core"),require("./foundation.core.plugin"),require("./foundation.core.utils"),require("./foundation.util.box"),require("./foundation.util.keyboard"),require("./foundation.util.nest"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.core.plugin","./foundation.core.utils","./foundation.util.box","./foundation.util.keyboard","./foundation.util.nest","jquery"],t):"object"==typeof exports?exports["foundation.drilldown"]=t(require("./foundation.core"),require("./foundation.core.plugin"),require("./foundation.core.utils"),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.core"],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,a,s,l){return function(n){var i={};function o(e){if(i[e])return i[e].exports;var t=i[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return o.m=n,o.c=i,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)o.d(n,i,function(e){return t[e]}.bind(null,i));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=3)}({"./foundation.core":function(e,t){e.exports=n},"./foundation.core.plugin":function(e,t){e.exports=i},"./foundation.core.utils":function(e,t){e.exports=o},"./foundation.util.box":function(e,t){e.exports=r},"./foundation.util.keyboard":function(e,t){e.exports=a},"./foundation.util.nest":function(e,t){e.exports=s},"./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 m});var i=n("jquery"),a=n.n(i),s=n("./foundation.util.keyboard"),r=n("./foundation.util.nest"),l=n("./foundation.core.utils"),u=n("./foundation.util.box"),d=n("./foundation.core.plugin");function o(e){return(o="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 c(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 f(e,t){return!t||"object"!==o(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 p(e){return(p=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 m=function(e){function n(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),f(this,p(n).apply(this,arguments))}var t,i,o;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,d["Plugin"]),t=n,(i=[{key:"_setup",value:function(e,t){this.$element=e,this.options=a.a.extend({},n.defaults,this.$element.data(),t),this.className="Drilldown",this._init(),s.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(){r.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=a()(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="menuitem"></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=a()(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=a()(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(a()(e.target).parentsUntil("ul","li").hasClass("is-drilldown-submenu-parent")&&(e.stopImmediatePropagation(),e.preventDefault()),i._show(n.parent("li")),i.options.closeOnClick){var t=a()("body");t.off(".zf.drilldown").on("click.zf.drilldown",function(e){e.target===i.$element[0]||a.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 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?a()(e.options.scrollTopElement):e.$element,n=parseInt(t.offset().top+e.options.scrollTopOffset,10);a()("html, body").stop(!0).animate({scrollTop:n},e.options.animationDuration,e.options.animationEasing,function(){this===a()("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=a()(this),r=o.parent("li").parent("ul").children("li").children("a");r.each(function(e){if(a()(this).is(o))return n=r.eq(Math.max(0,e-1)),void(i=r.eq(Math.min(e+1,r.length-1)))}),s.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(),t.stopImmediatePropagation()}})})}},{key:"_hideAll",value:function(){var t=this.$element.find(".is-drilldown-submenu.is-active").addClass("is-closing");this.options.autoHeight&&this.$wrapper.css({height:t.parent().closest("ul").data("calcHeight")}),t.one(Object(l.transitionend)(t),function(e){t.removeClass("is-active is-closing")}),this.$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){e.stopImmediatePropagation(),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(a()(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",a()(this).data("calcHeight"));var t=e==r.length-1;!0===t&&a()(this).one(Object(l.transitionend)(a()(this)),function(){!0===i&&n.find('li[role="treeitem"] > a').first().focus()}),o._setShowSubMenuClasses(a()(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(){a()(this).children("li").length;var e=u.Box.GetDimensions(this).height;t=t<e?e:t,n.options.autoHeight&&a()(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"),r.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(){a()(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=a()(this);e.removeAttr("tabindex"),e.data("savedHref")&&e.attr("href",e.data("savedHref")).removeData("savedHref")})}}])&&c(t.prototype,i),o&&c(t,o),n}();m.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=l}})});
2
+ //# sourceMappingURL=foundation.drilldown.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["foundation.drilldown.min.js"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_core_plugin__","__WEBPACK_EXTERNAL_MODULE__foundation_core_utils__","__WEBPACK_EXTERNAL_MODULE__foundation_util_box__","__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__","__WEBPACK_EXTERNAL_MODULE__foundation_util_nest__","__WEBPACK_EXTERNAL_MODULE_jquery__","modules","installedModules","__webpack_require__","moduleId","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","./foundation.core","./foundation.core.plugin","./foundation.core.utils","./foundation.util.box","./foundation.util.keyboard","./foundation.util.nest","./js/entries/plugins/foundation.drilldown.js","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","_foundation_drilldown__WEBPACK_IMPORTED_MODULE_1__","plugin","./js/foundation.drilldown.js","Drilldown","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","_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__","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_5__","_typeof","obj","iterator","constructor","_defineProperties","target","props","length","descriptor","configurable","writable","_possibleConstructorReturn","self","ReferenceError","_assertThisInitialized","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","_Plugin","instance","Constructor","TypeError","_classCallCheck","this","apply","arguments","protoProps","staticProps","subClass","superClass","_inherits","element","options","$element","a","extend","defaults","data","className","_init","register","ENTER","SPACE","ARROW_RIGHT","ARROW_UP","ARROW_DOWN","ARROW_LEFT","ESCAPE","TAB","SHIFT_TAB","Feather","autoApplyClass","addClass","attr","role","aria-multiselectable","$submenuAnchors","find","children","$submenus","parent","$menuItems","not","$currentMenu","_prepareMenu","_registerEvents","_keyboardEvents","_this","each","$link","$sub","parentLink","clone","prependTo","wrap","removeAttr","aria-hidden","tabindex","_events","$menu","backButtonPosition","append","backButton","prepend","console","error","_back","autoHeight","hasClass","$wrapper","wrapper","animateHeight","css","_getMaxDims","max-width","min-height","$elem","off","on","e","parentsUntil","stopImmediatePropagation","preventDefault","_show","closeOnClick","$body","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","first","focus","previous","_hide","setTimeout","up","down","close","siblings","open","handled","height","closest","removeClass","parentSubMenu","autoFocus","index","_setHideSubMenuClasses","isLastChild","_setShowSubMenuClasses","$submenu","blur","maxHeight","result","GetDimensions","concat","getBoundingClientRect","width","Burn","unwrap","remove","end","detach","removeData","3","jquery"],"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.core.plugin\"), require(\"./foundation.core.utils\"), 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.core.plugin\", \"./foundation.core.utils\", \"./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.core.plugin\"), require(\"./foundation.core.utils\"), 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.core\"], 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_core_plugin__, __WEBPACK_EXTERNAL_MODULE__foundation_core_utils__, __WEBPACK_EXTERNAL_MODULE__foundation_util_box__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_util_nest__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \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/******/ })\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/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./foundation.core.plugin\":\n/*!*************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core.plugin\",\"commonjs\":\"./foundation.core.plugin\",\"commonjs2\":\"./foundation.core.plugin\"} ***!\n \\*************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core_plugin__;\n\n/***/ }),\n\n/***/ \"./foundation.core.utils\":\n/*!**********************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core.utils\",\"commonjs\":\"./foundation.core.utils\",\"commonjs2\":\"./foundation.core.utils\"} ***!\n \\**********************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core_utils__;\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/*! no static exports found */\n/***/ (function(module, exports) {\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/*! no static exports found */\n/***/ (function(module, exports) {\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/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_nest__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.drilldown.js\":\n/*!****************************************************!*\\\n !*** ./js/entries/plugins/foundation.drilldown.js ***!\n \\****************************************************/\n/*! exports provided: Foundation, Drilldown */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\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 reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"]; });\n\n/* harmony import */ var _foundation_drilldown__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.drilldown */ \"./js/foundation.drilldown.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Drilldown\", function() { return _foundation_drilldown__WEBPACK_IMPORTED_MODULE_1__[\"Drilldown\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].plugin(_foundation_drilldown__WEBPACK_IMPORTED_MODULE_1__[\"Drilldown\"], 'Drilldown');\n\n\n/***/ }),\n\n/***/ \"./js/foundation.drilldown.js\":\n/*!************************************!*\\\n !*** ./js/foundation.drilldown.js ***!\n \\************************************/\n/*! exports provided: Drilldown */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Drilldown\", function() { return Drilldown; });\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.utils */ \"./foundation.core.utils\");\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__);\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./foundation.core.plugin\");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_5__);\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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 */\n\nvar Drilldown =\n/*#__PURE__*/\nfunction (_Plugin) {\n _inherits(Drilldown, _Plugin);\n\n function Drilldown() {\n _classCallCheck(this, Drilldown);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Drilldown).apply(this, arguments));\n }\n\n _createClass(Drilldown, [{\n key: \"_setup\",\n\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 value: function _setup(element, options) {\n this.$element = element;\n this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Drilldown.defaults, this.$element.data(), options);\n this.className = 'Drilldown'; // ie9 back compat\n\n this._init();\n\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 'TAB': 'down',\n 'SHIFT_TAB': 'up'\n });\n }\n /**\n * Initializes the drilldown by creating jQuery collections of elements\n * @private\n */\n\n }, {\n key: \"_init\",\n value: function _init() {\n _foundation_util_nest__WEBPACK_IMPORTED_MODULE_2__[\"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'); // 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\n this.$currentMenu = this.$element;\n this.$element.attr('data-mutate', this.$element.attr('data-drilldown') || Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"GetYoDigits\"])(6, 'drilldown'));\n\n this._prepareMenu();\n\n this._registerEvents();\n\n this._keyboardEvents();\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 }, {\n key: \"_prepareMenu\",\n value: function _prepareMenu() {\n var _this = this; // if(!this.options.holdOpen){\n // this._menuLinkEvents();\n // }\n\n\n this.$submenuAnchors.each(function () {\n var $link = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n var $sub = $link.parent();\n\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\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\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\n if (!$back.length) {\n switch (_this.options.backButtonPosition) {\n case \"bottom\":\n $menu.append(_this.options.backButton);\n break;\n\n case \"top\":\n $menu.prepend(_this.options.backButton);\n break;\n\n default:\n console.error(\"Unsupported backButtonPosition value '\" + _this.options.backButtonPosition + \"'\");\n }\n }\n\n _this._back($menu);\n });\n this.$submenus.addClass('invisible');\n\n if (!this.options.autoHeight) {\n this.$submenus.addClass('drilldown-submenu-cover-previous');\n } // create a wrapper on element if it doesn't exist.\n\n\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 } // set wrapper\n\n\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 }); // _getMaxDims has side effects (boo) but calling it should update all other necessary heights & widths\n\n this.$wrapper.css(this._getMaxDims());\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 }, {\n key: \"_events\",\n value: function _events($elem) {\n var _this = this;\n\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.stopImmediatePropagation();\n e.preventDefault();\n } // if(e.target !== e.currentTarget.firstElementChild){\n // return false;\n // }\n\n\n _this._show($elem.parent('li'));\n\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 (e) {\n if (e.target === _this.$element[0] || jquery__WEBPACK_IMPORTED_MODULE_0___default.a.contains(_this.$element[0], e.target)) {\n return;\n }\n\n e.preventDefault();\n\n _this._hideAll();\n\n $body.off('.zf.drilldown');\n });\n }\n });\n }\n /**\n * Adds event handlers to the menu element.\n * @function\n * @private\n */\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 closed.zf.drilldown', this._bindHandler);\n }\n\n this.$element.on('mutateme.zf.trigger', this._resize.bind(this));\n }\n /**\n * Scroll to Top of Element or data-scroll-top-element\n * @function\n * @fires Drilldown#scrollme\n */\n\n }, {\n key: \"_scrollTop\",\n value: function _scrollTop() {\n var _this = this;\n\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 * Adds keydown event listener to `li`'s in the menu.\n * @private\n */\n\n }, {\n key: \"_keyboardEvents\",\n value: function _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 = 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\n $element.parent('li').one(Object(_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\n $element.parent('li').parent('ul').one(Object(_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(); // Don't tap focus on first element in root ul\n\n return !$element.is(_this.$element.find('> li:first-child > a'));\n },\n down: function down() {\n $nextElement.focus(); // Don't tap focus on last element in root ul\n\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\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\n $element.parent('li').parent('ul').one(Object(_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\n $element.parent('li').one(Object(_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 e.stopImmediatePropagation();\n }\n });\n }); // end keyboardAccess\n }\n /**\n * Closes all open elements, and returns to root menu.\n * @function\n * @fires Drilldown#closed\n */\n\n }, {\n key: \"_hideAll\",\n value: function _hideAll() {\n var $elem = this.$element.find('.is-drilldown-submenu.is-active').addClass('is-closing');\n if (this.options.autoHeight) this.$wrapper.css({\n height: $elem.parent().closest('ul').data('calcHeight')\n });\n $elem.one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"transitionend\"])($elem), function (e) {\n $elem.removeClass('is-active is-closing');\n });\n /**\n * Fires when the menu is fully closed.\n * @event Drilldown#closed\n */\n\n this.$element.trigger('closed.zf.drilldown');\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 }, {\n key: \"_back\",\n value: function _back($elem) {\n var _this = this;\n\n $elem.off('click.zf.drilldown');\n $elem.children('.js-drilldown-back').on('click.zf.drilldown', function (e) {\n e.stopImmediatePropagation(); // console.log('mouseup on back');\n\n _this._hide($elem); // If there is a parent submenu, call show\n\n\n var parentSubMenu = $elem.parent('li').parent('ul').parent('li');\n\n if (parentSubMenu.length) {\n _this._show(parentSubMenu);\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 }, {\n key: \"_menuLinkEvents\",\n value: function _menuLinkEvents() {\n var _this = this;\n\n this.$menuItems.not('.is-drilldown-submenu-parent').off('click.zf.drilldown').on('click.zf.drilldown', function (e) {\n // e.stopImmediatePropagation();\n setTimeout(function () {\n _this._hideAll();\n }, 0);\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 }, {\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\n if (trigger === true) {\n this.$element.trigger('open.zf.drilldown', [$elem]);\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 }, {\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\n if (trigger === true) {\n $elem.trigger('hide.zf.drilldown', [$elem]);\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 }, {\n key: \"_showMenu\",\n value: function _showMenu($elem, autoFocus) {\n var _this = this; // Reset drilldown\n\n\n var $expandedSubmenus = this.$element.find('li[aria-expanded=\"true\"] > ul[data-submenu]');\n $expandedSubmenus.each(function (index) {\n _this._setHideSubMenuClasses(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this));\n }); // Save the menu as the currently displayed one.\n\n this.$currentMenu = $elem; // If target menu is root, focus first link & exit\n\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 } // Find all submenus on way to root incl. the element itself\n\n\n var $submenus = $elem.children().first().parentsUntil('[data-drilldown]', '[data-submenu]'); // Open target menu and all submenus on its way to root\n\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\n var isLastChild = index == $submenus.length - 1; // 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\n if (isLastChild === true) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"transitionend\"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)), function () {\n if (autoFocus === true) {\n $elem.find('li[role=\"treeitem\"] > a').first().focus();\n }\n });\n }\n\n _this._setShowSubMenuClasses(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), isLastChild);\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 }, {\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 $submenu.addClass('is-active').removeClass('invisible').attr('aria-hidden', false);\n\n if (this.options.autoHeight) {\n this.$wrapper.css({\n height: $submenu.data('calcHeight')\n });\n }\n /**\n * Fires when the submenu has opened.\n * @event Drilldown#open\n */\n\n\n this.$element.trigger('open.zf.drilldown', [$elem]);\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 }, {\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\n var _this = this;\n\n $elem.parent('li').attr('aria-expanded', false);\n $elem.attr('aria-hidden', true);\n $elem.addClass('is-closing').one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"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\n $elem.trigger('hide.zf.drilldown', [$elem]);\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 }, {\n key: \"_getMaxDims\",\n value: function _getMaxDims() {\n var maxHeight = 0,\n result = {},\n _this = this; // Recalculate menu heights and total max height\n\n\n this.$submenus.add(this.$element).each(function () {\n var numOfElems = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('li').length;\n var height = _foundation_util_box__WEBPACK_IMPORTED_MODULE_4__[\"Box\"].GetDimensions(this).height;\n maxHeight = height > maxHeight ? height : maxHeight;\n\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 * Destroys the Drilldown Menu\n * @function\n */\n\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n if (this.options.scrollTop) this.$element.off('.zf.drilldown', this._bindHandler);\n\n this._hideAll();\n\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').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\n if ($link.data('savedHref')) {\n $link.attr('href', $link.data('savedHref')).removeData('savedHref');\n } else {\n return;\n }\n });\n }\n }]);\n\n return Drilldown;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_5__[\"Plugin\"]);\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 {boolian}\n * @default true\n */\n autoApplyClass: true,\n\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 /**\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 /**\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 /**\n * Adds the parent link to the submenu.\n * @option\n * @type {boolean}\n * @default false\n */\n parentLink: false,\n\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 /**\n * Allow the menu to auto adjust height.\n * @option\n * @type {boolean}\n * @default false\n */\n autoHeight: false,\n\n /**\n * Animate the auto adjust height.\n * @option\n * @type {boolean}\n * @default false\n */\n animateHeight: false,\n\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 /**\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 /**\n * ScrollTop offset\n * @option\n * @type {number}\n * @default 0\n */\n scrollTopOffset: 0,\n\n /**\n * Scroll animation duration\n * @option\n * @type {number}\n * @default 500\n */\n animationDuration: 500,\n\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' // holdOpen: false\n\n};\n\n\n/***/ }),\n\n/***/ 3:\n/*!**********************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.drilldown.js ***!\n \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/ncoden/Documents/Documents/Projects/Programmation/Web/2016/Foundation/foundation-sites/js/entries/plugins/foundation.drilldown.js */\"./js/entries/plugins/foundation.drilldown.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.drilldown.js.map"]}
@@ -0,0 +1,1324 @@
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if(typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory(require("./foundation.core.utils"), require("./foundation.core"), require("jquery"), require("./foundation.util.keyboard"), require("./foundation.util.box"), require("./foundation.core.plugin"), require("./foundation.util.motion"));
4
+ else if(typeof define === 'function' && define.amd)
5
+ define(["./foundation.core.utils", "./foundation.core", "jquery", "./foundation.util.keyboard", "./foundation.util.box", "./foundation.core.plugin", "./foundation.util.motion"], factory);
6
+ else if(typeof exports === 'object')
7
+ exports["foundation.dropdown"] = factory(require("./foundation.core.utils"), require("./foundation.core"), require("jquery"), require("./foundation.util.keyboard"), require("./foundation.util.box"), require("./foundation.core.plugin"), require("./foundation.util.motion"));
8
+ else
9
+ root["__FOUNDATION_EXTERNAL__"] = root["__FOUNDATION_EXTERNAL__"] || {}, root["__FOUNDATION_EXTERNAL__"]["foundation.dropdown"] = factory(root["__FOUNDATION_EXTERNAL__"]["foundation.core"], root["__FOUNDATION_EXTERNAL__"]["foundation.core"], root["jQuery"], root["__FOUNDATION_EXTERNAL__"]["foundation.util.keyboard"], root["__FOUNDATION_EXTERNAL__"]["foundation.util.box"], root["__FOUNDATION_EXTERNAL__"]["foundation.core"], root["__FOUNDATION_EXTERNAL__"]["foundation.util.motion"]);
10
+ })(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core_utils__, __WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_util_box__, __WEBPACK_EXTERNAL_MODULE__foundation_core_plugin__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__) {
11
+ return /******/ (function(modules) { // webpackBootstrap
12
+ /******/ // The module cache
13
+ /******/ var installedModules = {};
14
+ /******/
15
+ /******/ // The require function
16
+ /******/ function __webpack_require__(moduleId) {
17
+ /******/
18
+ /******/ // Check if module is in cache
19
+ /******/ if(installedModules[moduleId]) {
20
+ /******/ return installedModules[moduleId].exports;
21
+ /******/ }
22
+ /******/ // Create a new module (and put it into the cache)
23
+ /******/ var module = installedModules[moduleId] = {
24
+ /******/ i: moduleId,
25
+ /******/ l: false,
26
+ /******/ exports: {}
27
+ /******/ };
28
+ /******/
29
+ /******/ // Execute the module function
30
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
31
+ /******/
32
+ /******/ // Flag the module as loaded
33
+ /******/ module.l = true;
34
+ /******/
35
+ /******/ // Return the exports of the module
36
+ /******/ return module.exports;
37
+ /******/ }
38
+ /******/
39
+ /******/
40
+ /******/ // expose the modules object (__webpack_modules__)
41
+ /******/ __webpack_require__.m = modules;
42
+ /******/
43
+ /******/ // expose the module cache
44
+ /******/ __webpack_require__.c = installedModules;
45
+ /******/
46
+ /******/ // define getter function for harmony exports
47
+ /******/ __webpack_require__.d = function(exports, name, getter) {
48
+ /******/ if(!__webpack_require__.o(exports, name)) {
49
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
50
+ /******/ }
51
+ /******/ };
52
+ /******/
53
+ /******/ // define __esModule on exports
54
+ /******/ __webpack_require__.r = function(exports) {
55
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
56
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
57
+ /******/ }
58
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
59
+ /******/ };
60
+ /******/
61
+ /******/ // create a fake namespace object
62
+ /******/ // mode & 1: value is a module id, require it
63
+ /******/ // mode & 2: merge all properties of value into the ns
64
+ /******/ // mode & 4: return value when already ns object
65
+ /******/ // mode & 8|1: behave like require
66
+ /******/ __webpack_require__.t = function(value, mode) {
67
+ /******/ if(mode & 1) value = __webpack_require__(value);
68
+ /******/ if(mode & 8) return value;
69
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
70
+ /******/ var ns = Object.create(null);
71
+ /******/ __webpack_require__.r(ns);
72
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
73
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
74
+ /******/ return ns;
75
+ /******/ };
76
+ /******/
77
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
78
+ /******/ __webpack_require__.n = function(module) {
79
+ /******/ var getter = module && module.__esModule ?
80
+ /******/ function getDefault() { return module['default']; } :
81
+ /******/ function getModuleExports() { return module; };
82
+ /******/ __webpack_require__.d(getter, 'a', getter);
83
+ /******/ return getter;
84
+ /******/ };
85
+ /******/
86
+ /******/ // Object.prototype.hasOwnProperty.call
87
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
88
+ /******/
89
+ /******/ // __webpack_public_path__
90
+ /******/ __webpack_require__.p = "";
91
+ /******/
92
+ /******/
93
+ /******/ // Load entry module and return exports
94
+ /******/ return __webpack_require__(__webpack_require__.s = 4);
95
+ /******/ })
96
+ /************************************************************************/
97
+ /******/ ({
98
+
99
+ /***/ "./foundation.core":
100
+ /*!****************************************************************************************************************************************************************!*\
101
+ !*** external {"root":["__FOUNDATION_EXTERNAL__","foundation.core"],"amd":"./foundation.core","commonjs":"./foundation.core","commonjs2":"./foundation.core"} ***!
102
+ \****************************************************************************************************************************************************************/
103
+ /*! no static exports found */
104
+ /***/ (function(module, exports) {
105
+
106
+ module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;
107
+
108
+ /***/ }),
109
+
110
+ /***/ "./foundation.core.plugin":
111
+ /*!*************************************************************************************************************************************************************************************!*\
112
+ !*** external {"root":["__FOUNDATION_EXTERNAL__","foundation.core"],"amd":"./foundation.core.plugin","commonjs":"./foundation.core.plugin","commonjs2":"./foundation.core.plugin"} ***!
113
+ \*************************************************************************************************************************************************************************************/
114
+ /*! no static exports found */
115
+ /***/ (function(module, exports) {
116
+
117
+ module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core_plugin__;
118
+
119
+ /***/ }),
120
+
121
+ /***/ "./foundation.core.utils":
122
+ /*!**********************************************************************************************************************************************************************************!*\
123
+ !*** external {"root":["__FOUNDATION_EXTERNAL__","foundation.core"],"amd":"./foundation.core.utils","commonjs":"./foundation.core.utils","commonjs2":"./foundation.core.utils"} ***!
124
+ \**********************************************************************************************************************************************************************************/
125
+ /*! no static exports found */
126
+ /***/ (function(module, exports) {
127
+
128
+ module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core_utils__;
129
+
130
+ /***/ }),
131
+
132
+ /***/ "./foundation.util.box":
133
+ /*!********************************************************************************************************************************************************************************!*\
134
+ !*** external {"root":["__FOUNDATION_EXTERNAL__","foundation.util.box"],"amd":"./foundation.util.box","commonjs":"./foundation.util.box","commonjs2":"./foundation.util.box"} ***!
135
+ \********************************************************************************************************************************************************************************/
136
+ /*! no static exports found */
137
+ /***/ (function(module, exports) {
138
+
139
+ module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_box__;
140
+
141
+ /***/ }),
142
+
143
+ /***/ "./foundation.util.keyboard":
144
+ /*!****************************************************************************************************************************************************************************************************!*\
145
+ !*** external {"root":["__FOUNDATION_EXTERNAL__","foundation.util.keyboard"],"amd":"./foundation.util.keyboard","commonjs":"./foundation.util.keyboard","commonjs2":"./foundation.util.keyboard"} ***!
146
+ \****************************************************************************************************************************************************************************************************/
147
+ /*! no static exports found */
148
+ /***/ (function(module, exports) {
149
+
150
+ module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;
151
+
152
+ /***/ }),
153
+
154
+ /***/ "./foundation.util.motion":
155
+ /*!********************************************************************************************************************************************************************************************!*\
156
+ !*** external {"root":["__FOUNDATION_EXTERNAL__","foundation.util.motion"],"amd":"./foundation.util.motion","commonjs":"./foundation.util.motion","commonjs2":"./foundation.util.motion"} ***!
157
+ \********************************************************************************************************************************************************************************************/
158
+ /*! no static exports found */
159
+ /***/ (function(module, exports) {
160
+
161
+ module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;
162
+
163
+ /***/ }),
164
+
165
+ /***/ "./js/entries/plugins/foundation.dropdown.js":
166
+ /*!***************************************************!*\
167
+ !*** ./js/entries/plugins/foundation.dropdown.js ***!
168
+ \***************************************************/
169
+ /*! exports provided: Foundation, Dropdown */
170
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
171
+
172
+ "use strict";
173
+ __webpack_require__.r(__webpack_exports__);
174
+ /* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ "./foundation.core");
175
+ /* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);
176
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Foundation", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__["Foundation"]; });
177
+
178
+ /* harmony import */ var _foundation_dropdown__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.dropdown */ "./js/foundation.dropdown.js");
179
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Dropdown", function() { return _foundation_dropdown__WEBPACK_IMPORTED_MODULE_1__["Dropdown"]; });
180
+
181
+
182
+
183
+ _foundation_core__WEBPACK_IMPORTED_MODULE_0__["Foundation"].plugin(_foundation_dropdown__WEBPACK_IMPORTED_MODULE_1__["Dropdown"], 'Dropdown');
184
+
185
+
186
+ /***/ }),
187
+
188
+ /***/ "./js/foundation.dropdown.js":
189
+ /*!***********************************!*\
190
+ !*** ./js/foundation.dropdown.js ***!
191
+ \***********************************/
192
+ /*! exports provided: Dropdown */
193
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
194
+
195
+ "use strict";
196
+ __webpack_require__.r(__webpack_exports__);
197
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Dropdown", function() { return Dropdown; });
198
+ /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");
199
+ /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
200
+ /* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.util.keyboard */ "./foundation.util.keyboard");
201
+ /* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__);
202
+ /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core.utils */ "./foundation.core.utils");
203
+ /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__);
204
+ /* harmony import */ var _foundation_positionable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.positionable */ "./js/foundation.positionable.js");
205
+ /* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.util.triggers */ "./js/foundation.util.triggers.js");
206
+
207
+
208
+ function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
209
+
210
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
211
+
212
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
213
+
214
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
215
+
216
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
217
+
218
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
219
+
220
+ function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
221
+
222
+ function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
223
+
224
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
225
+
226
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
227
+
228
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
229
+
230
+
231
+
232
+
233
+
234
+
235
+ /**
236
+ * Dropdown module.
237
+ * @module foundation.dropdown
238
+ * @requires foundation.util.keyboard
239
+ * @requires foundation.util.box
240
+ * @requires foundation.util.triggers
241
+ */
242
+
243
+ var Dropdown =
244
+ /*#__PURE__*/
245
+ function (_Positionable) {
246
+ _inherits(Dropdown, _Positionable);
247
+
248
+ function Dropdown() {
249
+ _classCallCheck(this, Dropdown);
250
+
251
+ return _possibleConstructorReturn(this, _getPrototypeOf(Dropdown).apply(this, arguments));
252
+ }
253
+
254
+ _createClass(Dropdown, [{
255
+ key: "_setup",
256
+
257
+ /**
258
+ * Creates a new instance of a dropdown.
259
+ * @class
260
+ * @name Dropdown
261
+ * @param {jQuery} element - jQuery object to make into a dropdown.
262
+ * Object should be of the dropdown panel, rather than its anchor.
263
+ * @param {Object} options - Overrides to the default plugin settings.
264
+ */
265
+ value: function _setup(element, options) {
266
+ this.$element = element;
267
+ this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Dropdown.defaults, this.$element.data(), options);
268
+ this.className = 'Dropdown'; // ie9 back compat
269
+ // Triggers init is idempotent, just need to make sure it is initialized
270
+
271
+ _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__["Triggers"].init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);
272
+
273
+ this._init();
274
+
275
+ _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__["Keyboard"].register('Dropdown', {
276
+ 'ENTER': 'toggle',
277
+ 'SPACE': 'toggle',
278
+ 'ESCAPE': 'close'
279
+ });
280
+ }
281
+ /**
282
+ * Initializes the plugin by setting/checking options and attributes, adding helper variables, and saving the anchor.
283
+ * @function
284
+ * @private
285
+ */
286
+
287
+ }, {
288
+ key: "_init",
289
+ value: function _init() {
290
+ var $id = this.$element.attr('id');
291
+ this.$anchors = jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-toggle=\"".concat($id, "\"]")).length ? jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-toggle=\"".concat($id, "\"]")) : jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-open=\"".concat($id, "\"]"));
292
+ this.$anchors.attr({
293
+ 'aria-controls': $id,
294
+ 'data-is-focus': false,
295
+ 'data-yeti-box': $id,
296
+ 'aria-haspopup': true,
297
+ 'aria-expanded': false
298
+ });
299
+
300
+ this._setCurrentAnchor(this.$anchors.first());
301
+
302
+ if (this.options.parentClass) {
303
+ this.$parent = this.$element.parents('.' + this.options.parentClass);
304
+ } else {
305
+ this.$parent = null;
306
+ } // Set [aria-labelledby] on the Dropdown if it is not set
307
+
308
+
309
+ if (typeof this.$element.attr('aria-labelledby') === 'undefined') {
310
+ // Get the anchor ID or create one
311
+ if (typeof this.$currentAnchor.attr('id') === 'undefined') {
312
+ this.$currentAnchor.attr('id', Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__["GetYoDigits"])(6, 'dd-anchor'));
313
+ }
314
+
315
+ ;
316
+ this.$element.attr('aria-labelledby', this.$currentAnchor.attr('id'));
317
+ }
318
+
319
+ this.$element.attr({
320
+ 'aria-hidden': 'true',
321
+ 'data-yeti-box': $id,
322
+ 'data-resize': $id
323
+ });
324
+
325
+ _get(_getPrototypeOf(Dropdown.prototype), "_init", this).call(this);
326
+
327
+ this._events();
328
+ }
329
+ }, {
330
+ key: "_getDefaultPosition",
331
+ value: function _getDefaultPosition() {
332
+ // handle legacy classnames
333
+ var position = this.$element[0].className.match(/(top|left|right|bottom)/g);
334
+
335
+ if (position) {
336
+ return position[0];
337
+ } else {
338
+ return 'bottom';
339
+ }
340
+ }
341
+ }, {
342
+ key: "_getDefaultAlignment",
343
+ value: function _getDefaultAlignment() {
344
+ // handle legacy float approach
345
+ var horizontalPosition = /float-(\S+)/.exec(this.$currentAnchor.attr('class'));
346
+
347
+ if (horizontalPosition) {
348
+ return horizontalPosition[1];
349
+ }
350
+
351
+ return _get(_getPrototypeOf(Dropdown.prototype), "_getDefaultAlignment", this).call(this);
352
+ }
353
+ /**
354
+ * Sets the position and orientation of the dropdown pane, checks for collisions if allow-overlap is not true.
355
+ * Recursively calls itself if a collision is detected, with a new position class.
356
+ * @function
357
+ * @private
358
+ */
359
+
360
+ }, {
361
+ key: "_setPosition",
362
+ value: function _setPosition() {
363
+ this.$element.removeClass("has-position-".concat(this.position, " has-alignment-").concat(this.alignment));
364
+
365
+ _get(_getPrototypeOf(Dropdown.prototype), "_setPosition", this).call(this, this.$currentAnchor, this.$element, this.$parent);
366
+
367
+ this.$element.addClass("has-position-".concat(this.position, " has-alignment-").concat(this.alignment));
368
+ }
369
+ /**
370
+ * Make it a current anchor.
371
+ * Current anchor as the reference for the position of Dropdown panes.
372
+ * @param {HTML} el - DOM element of the anchor.
373
+ * @function
374
+ * @private
375
+ */
376
+
377
+ }, {
378
+ key: "_setCurrentAnchor",
379
+ value: function _setCurrentAnchor(el) {
380
+ this.$currentAnchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el);
381
+ }
382
+ /**
383
+ * Adds event listeners to the element utilizing the triggers utility library.
384
+ * @function
385
+ * @private
386
+ */
387
+
388
+ }, {
389
+ key: "_events",
390
+ value: function _events() {
391
+ var _this = this;
392
+
393
+ this.$element.on({
394
+ 'open.zf.trigger': this.open.bind(this),
395
+ 'close.zf.trigger': this.close.bind(this),
396
+ 'toggle.zf.trigger': this.toggle.bind(this),
397
+ 'resizeme.zf.trigger': this._setPosition.bind(this)
398
+ });
399
+ this.$anchors.off('click.zf.trigger').on('click.zf.trigger', function () {
400
+ _this._setCurrentAnchor(this);
401
+ });
402
+
403
+ if (this.options.hover) {
404
+ this.$anchors.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () {
405
+ _this._setCurrentAnchor(this);
406
+
407
+ var bodyData = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').data();
408
+
409
+ if (typeof bodyData.whatinput === 'undefined' || bodyData.whatinput === 'mouse') {
410
+ clearTimeout(_this.timeout);
411
+ _this.timeout = setTimeout(function () {
412
+ _this.open();
413
+
414
+ _this.$anchors.data('hover', true);
415
+ }, _this.options.hoverDelay);
416
+ }
417
+ }).on('mouseleave.zf.dropdown', Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__["ignoreMousedisappear"])(function () {
418
+ clearTimeout(_this.timeout);
419
+ _this.timeout = setTimeout(function () {
420
+ _this.close();
421
+
422
+ _this.$anchors.data('hover', false);
423
+ }, _this.options.hoverDelay);
424
+ }));
425
+
426
+ if (this.options.hoverPane) {
427
+ this.$element.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () {
428
+ clearTimeout(_this.timeout);
429
+ }).on('mouseleave.zf.dropdown', Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__["ignoreMousedisappear"])(function () {
430
+ clearTimeout(_this.timeout);
431
+ _this.timeout = setTimeout(function () {
432
+ _this.close();
433
+
434
+ _this.$anchors.data('hover', false);
435
+ }, _this.options.hoverDelay);
436
+ }));
437
+ }
438
+ }
439
+
440
+ this.$anchors.add(this.$element).on('keydown.zf.dropdown', function (e) {
441
+ var $target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),
442
+ visibleFocusableElements = _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__["Keyboard"].findFocusable(_this.$element);
443
+ _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__["Keyboard"].handleKey(e, 'Dropdown', {
444
+ open: function open() {
445
+ if ($target.is(_this.$anchors) && !$target.is('input, textarea')) {
446
+ _this.open();
447
+
448
+ _this.$element.attr('tabindex', -1).focus();
449
+
450
+ e.preventDefault();
451
+ }
452
+ },
453
+ close: function close() {
454
+ _this.close();
455
+
456
+ _this.$anchors.focus();
457
+ }
458
+ });
459
+ });
460
+ }
461
+ /**
462
+ * Adds an event handler to the body to close any dropdowns on a click.
463
+ * @function
464
+ * @private
465
+ */
466
+
467
+ }, {
468
+ key: "_addBodyHandler",
469
+ value: function _addBodyHandler() {
470
+ var $body = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body).not(this.$element),
471
+ _this = this;
472
+
473
+ $body.off('click.zf.dropdown').on('click.zf.dropdown', function (e) {
474
+ if (_this.$anchors.is(e.target) || _this.$anchors.find(e.target).length) {
475
+ return;
476
+ }
477
+
478
+ if (_this.$element.is(e.target) || _this.$element.find(e.target).length) {
479
+ return;
480
+ }
481
+
482
+ _this.close();
483
+
484
+ $body.off('click.zf.dropdown');
485
+ });
486
+ }
487
+ /**
488
+ * Opens the dropdown pane, and fires a bubbling event to close other dropdowns.
489
+ * @function
490
+ * @fires Dropdown#closeme
491
+ * @fires Dropdown#show
492
+ */
493
+
494
+ }, {
495
+ key: "open",
496
+ value: function open() {
497
+ // var _this = this;
498
+
499
+ /**
500
+ * Fires to close other open dropdowns, typically when dropdown is opening
501
+ * @event Dropdown#closeme
502
+ */
503
+ this.$element.trigger('closeme.zf.dropdown', this.$element.attr('id'));
504
+ this.$anchors.addClass('hover').attr({
505
+ 'aria-expanded': true
506
+ }); // this.$element/*.show()*/;
507
+
508
+ this.$element.addClass('is-opening');
509
+
510
+ this._setPosition();
511
+
512
+ this.$element.removeClass('is-opening').addClass('is-open').attr({
513
+ 'aria-hidden': false
514
+ });
515
+
516
+ if (this.options.autoFocus) {
517
+ var $focusable = _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__["Keyboard"].findFocusable(this.$element);
518
+
519
+ if ($focusable.length) {
520
+ $focusable.eq(0).focus();
521
+ }
522
+ }
523
+
524
+ if (this.options.closeOnClick) {
525
+ this._addBodyHandler();
526
+ }
527
+
528
+ if (this.options.trapFocus) {
529
+ _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__["Keyboard"].trapFocus(this.$element);
530
+ }
531
+ /**
532
+ * Fires once the dropdown is visible.
533
+ * @event Dropdown#show
534
+ */
535
+
536
+
537
+ this.$element.trigger('show.zf.dropdown', [this.$element]);
538
+ }
539
+ /**
540
+ * Closes the open dropdown pane.
541
+ * @function
542
+ * @fires Dropdown#hide
543
+ */
544
+
545
+ }, {
546
+ key: "close",
547
+ value: function close() {
548
+ if (!this.$element.hasClass('is-open')) {
549
+ return false;
550
+ }
551
+
552
+ this.$element.removeClass('is-open').attr({
553
+ 'aria-hidden': true
554
+ });
555
+ this.$anchors.removeClass('hover').attr('aria-expanded', false);
556
+ /**
557
+ * Fires once the dropdown is no longer visible.
558
+ * @event Dropdown#hide
559
+ */
560
+
561
+ this.$element.trigger('hide.zf.dropdown', [this.$element]);
562
+
563
+ if (this.options.trapFocus) {
564
+ _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__["Keyboard"].releaseFocus(this.$element);
565
+ }
566
+ }
567
+ /**
568
+ * Toggles the dropdown pane's visibility.
569
+ * @function
570
+ */
571
+
572
+ }, {
573
+ key: "toggle",
574
+ value: function toggle() {
575
+ if (this.$element.hasClass('is-open')) {
576
+ if (this.$anchors.data('hover')) return;
577
+ this.close();
578
+ } else {
579
+ this.open();
580
+ }
581
+ }
582
+ /**
583
+ * Destroys the dropdown.
584
+ * @function
585
+ */
586
+
587
+ }, {
588
+ key: "_destroy",
589
+ value: function _destroy() {
590
+ this.$element.off('.zf.trigger').hide();
591
+ this.$anchors.off('.zf.dropdown');
592
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body).off('click.zf.dropdown');
593
+ }
594
+ }]);
595
+
596
+ return Dropdown;
597
+ }(_foundation_positionable__WEBPACK_IMPORTED_MODULE_3__["Positionable"]);
598
+
599
+ Dropdown.defaults = {
600
+ /**
601
+ * Class that designates bounding container of Dropdown (default: window)
602
+ * @option
603
+ * @type {?string}
604
+ * @default null
605
+ */
606
+ parentClass: null,
607
+
608
+ /**
609
+ * Amount of time to delay opening a submenu on hover event.
610
+ * @option
611
+ * @type {number}
612
+ * @default 250
613
+ */
614
+ hoverDelay: 250,
615
+
616
+ /**
617
+ * Allow submenus to open on hover events
618
+ * @option
619
+ * @type {boolean}
620
+ * @default false
621
+ */
622
+ hover: false,
623
+
624
+ /**
625
+ * Don't close dropdown when hovering over dropdown pane
626
+ * @option
627
+ * @type {boolean}
628
+ * @default false
629
+ */
630
+ hoverPane: false,
631
+
632
+ /**
633
+ * Number of pixels between the dropdown pane and the triggering element on open.
634
+ * @option
635
+ * @type {number}
636
+ * @default 0
637
+ */
638
+ vOffset: 0,
639
+
640
+ /**
641
+ * Number of pixels between the dropdown pane and the triggering element on open.
642
+ * @option
643
+ * @type {number}
644
+ * @default 0
645
+ */
646
+ hOffset: 0,
647
+
648
+ /**
649
+ * Position of dropdown. Can be left, right, bottom, top, or auto.
650
+ * @option
651
+ * @type {string}
652
+ * @default 'auto'
653
+ */
654
+ position: 'auto',
655
+
656
+ /**
657
+ * Alignment of dropdown relative to anchor. Can be left, right, bottom, top, center, or auto.
658
+ * @option
659
+ * @type {string}
660
+ * @default 'auto'
661
+ */
662
+ alignment: 'auto',
663
+
664
+ /**
665
+ * Allow overlap of container/window. If false, dropdown will first try to position as defined by data-position and data-alignment, but reposition if it would cause an overflow.
666
+ * @option
667
+ * @type {boolean}
668
+ * @default false
669
+ */
670
+ allowOverlap: false,
671
+
672
+ /**
673
+ * Allow overlap of only the bottom of the container. This is the most common
674
+ * behavior for dropdowns, allowing the dropdown to extend the bottom of the
675
+ * screen but not otherwise influence or break out of the container.
676
+ * @option
677
+ * @type {boolean}
678
+ * @default true
679
+ */
680
+ allowBottomOverlap: true,
681
+
682
+ /**
683
+ * Allow the plugin to trap focus to the dropdown pane if opened with keyboard commands.
684
+ * @option
685
+ * @type {boolean}
686
+ * @default false
687
+ */
688
+ trapFocus: false,
689
+
690
+ /**
691
+ * Allow the plugin to set focus to the first focusable element within the pane, regardless of method of opening.
692
+ * @option
693
+ * @type {boolean}
694
+ * @default false
695
+ */
696
+ autoFocus: false,
697
+
698
+ /**
699
+ * Allows a click on the body to close the dropdown.
700
+ * @option
701
+ * @type {boolean}
702
+ * @default false
703
+ */
704
+ closeOnClick: false
705
+ };
706
+
707
+
708
+ /***/ }),
709
+
710
+ /***/ "./js/foundation.positionable.js":
711
+ /*!***************************************!*\
712
+ !*** ./js/foundation.positionable.js ***!
713
+ \***************************************/
714
+ /*! exports provided: Positionable */
715
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
716
+
717
+ "use strict";
718
+ __webpack_require__.r(__webpack_exports__);
719
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Positionable", function() { return Positionable; });
720
+ /* harmony import */ var _foundation_util_box__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.util.box */ "./foundation.util.box");
721
+ /* harmony import */ var _foundation_util_box__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__);
722
+ /* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.plugin */ "./foundation.core.plugin");
723
+ /* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__);
724
+ /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core.utils */ "./foundation.core.utils");
725
+ /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__);
726
+
727
+
728
+ function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
729
+
730
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
731
+
732
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
733
+
734
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
735
+
736
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
737
+
738
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
739
+
740
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
741
+
742
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
743
+
744
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
745
+
746
+
747
+
748
+
749
+ var POSITIONS = ['left', 'right', 'top', 'bottom'];
750
+ var VERTICAL_ALIGNMENTS = ['top', 'bottom', 'center'];
751
+ var HORIZONTAL_ALIGNMENTS = ['left', 'right', 'center'];
752
+ var ALIGNMENTS = {
753
+ 'left': VERTICAL_ALIGNMENTS,
754
+ 'right': VERTICAL_ALIGNMENTS,
755
+ 'top': HORIZONTAL_ALIGNMENTS,
756
+ 'bottom': HORIZONTAL_ALIGNMENTS
757
+ };
758
+
759
+ function nextItem(item, array) {
760
+ var currentIdx = array.indexOf(item);
761
+
762
+ if (currentIdx === array.length - 1) {
763
+ return array[0];
764
+ } else {
765
+ return array[currentIdx + 1];
766
+ }
767
+ }
768
+
769
+ var Positionable =
770
+ /*#__PURE__*/
771
+ function (_Plugin) {
772
+ _inherits(Positionable, _Plugin);
773
+
774
+ function Positionable() {
775
+ _classCallCheck(this, Positionable);
776
+
777
+ return _possibleConstructorReturn(this, _getPrototypeOf(Positionable).apply(this, arguments));
778
+ }
779
+
780
+ _createClass(Positionable, [{
781
+ key: "_init",
782
+
783
+ /**
784
+ * Abstract class encapsulating the tether-like explicit positioning logic
785
+ * including repositioning based on overlap.
786
+ * Expects classes to define defaults for vOffset, hOffset, position,
787
+ * alignment, allowOverlap, and allowBottomOverlap. They can do this by
788
+ * extending the defaults, or (for now recommended due to the way docs are
789
+ * generated) by explicitly declaring them.
790
+ *
791
+ **/
792
+ value: function _init() {
793
+ this.triedPositions = {};
794
+ this.position = this.options.position === 'auto' ? this._getDefaultPosition() : this.options.position;
795
+ this.alignment = this.options.alignment === 'auto' ? this._getDefaultAlignment() : this.options.alignment;
796
+ this.originalPosition = this.position;
797
+ this.originalAlignment = this.alignment;
798
+ }
799
+ }, {
800
+ key: "_getDefaultPosition",
801
+ value: function _getDefaultPosition() {
802
+ return 'bottom';
803
+ }
804
+ }, {
805
+ key: "_getDefaultAlignment",
806
+ value: function _getDefaultAlignment() {
807
+ switch (this.position) {
808
+ case 'bottom':
809
+ case 'top':
810
+ return Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__["rtl"])() ? 'right' : 'left';
811
+
812
+ case 'left':
813
+ case 'right':
814
+ return 'bottom';
815
+ }
816
+ }
817
+ /**
818
+ * Adjusts the positionable possible positions by iterating through alignments
819
+ * and positions.
820
+ * @function
821
+ * @private
822
+ */
823
+
824
+ }, {
825
+ key: "_reposition",
826
+ value: function _reposition() {
827
+ if (this._alignmentsExhausted(this.position)) {
828
+ this.position = nextItem(this.position, POSITIONS);
829
+ this.alignment = ALIGNMENTS[this.position][0];
830
+ } else {
831
+ this._realign();
832
+ }
833
+ }
834
+ /**
835
+ * Adjusts the dropdown pane possible positions by iterating through alignments
836
+ * on the current position.
837
+ * @function
838
+ * @private
839
+ */
840
+
841
+ }, {
842
+ key: "_realign",
843
+ value: function _realign() {
844
+ this._addTriedPosition(this.position, this.alignment);
845
+
846
+ this.alignment = nextItem(this.alignment, ALIGNMENTS[this.position]);
847
+ }
848
+ }, {
849
+ key: "_addTriedPosition",
850
+ value: function _addTriedPosition(position, alignment) {
851
+ this.triedPositions[position] = this.triedPositions[position] || [];
852
+ this.triedPositions[position].push(alignment);
853
+ }
854
+ }, {
855
+ key: "_positionsExhausted",
856
+ value: function _positionsExhausted() {
857
+ var isExhausted = true;
858
+
859
+ for (var i = 0; i < POSITIONS.length; i++) {
860
+ isExhausted = isExhausted && this._alignmentsExhausted(POSITIONS[i]);
861
+ }
862
+
863
+ return isExhausted;
864
+ }
865
+ }, {
866
+ key: "_alignmentsExhausted",
867
+ value: function _alignmentsExhausted(position) {
868
+ return this.triedPositions[position] && this.triedPositions[position].length == ALIGNMENTS[position].length;
869
+ } // When we're trying to center, we don't want to apply offset that's going to
870
+ // take us just off center, so wrap around to return 0 for the appropriate
871
+ // offset in those alignments. TODO: Figure out if we want to make this
872
+ // configurable behavior... it feels more intuitive, especially for tooltips, but
873
+ // it's possible someone might actually want to start from center and then nudge
874
+ // slightly off.
875
+
876
+ }, {
877
+ key: "_getVOffset",
878
+ value: function _getVOffset() {
879
+ return this.options.vOffset;
880
+ }
881
+ }, {
882
+ key: "_getHOffset",
883
+ value: function _getHOffset() {
884
+ return this.options.hOffset;
885
+ }
886
+ }, {
887
+ key: "_setPosition",
888
+ value: function _setPosition($anchor, $element, $parent) {
889
+ if ($anchor.attr('aria-expanded') === 'false') {
890
+ return false;
891
+ }
892
+
893
+ var $eleDims = _foundation_util_box__WEBPACK_IMPORTED_MODULE_0__["Box"].GetDimensions($element),
894
+ $anchorDims = _foundation_util_box__WEBPACK_IMPORTED_MODULE_0__["Box"].GetDimensions($anchor);
895
+
896
+ if (!this.options.allowOverlap) {
897
+ // restore original position & alignment before checking overlap
898
+ this.position = this.originalPosition;
899
+ this.alignment = this.originalAlignment;
900
+ }
901
+
902
+ $element.offset(_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__["Box"].GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));
903
+
904
+ if (!this.options.allowOverlap) {
905
+ var overlaps = {};
906
+ var minOverlap = 100000000; // default coordinates to how we start, in case we can't figure out better
907
+
908
+ var minCoordinates = {
909
+ position: this.position,
910
+ alignment: this.alignment
911
+ };
912
+
913
+ while (!this._positionsExhausted()) {
914
+ var overlap = _foundation_util_box__WEBPACK_IMPORTED_MODULE_0__["Box"].OverlapArea($element, $parent, false, false, this.options.allowBottomOverlap);
915
+
916
+ if (overlap === 0) {
917
+ return;
918
+ }
919
+
920
+ if (overlap < minOverlap) {
921
+ minOverlap = overlap;
922
+ minCoordinates = {
923
+ position: this.position,
924
+ alignment: this.alignment
925
+ };
926
+ }
927
+
928
+ this._reposition();
929
+
930
+ $element.offset(_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__["Box"].GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));
931
+ } // If we get through the entire loop, there was no non-overlapping
932
+ // position available. Pick the version with least overlap.
933
+
934
+
935
+ this.position = minCoordinates.position;
936
+ this.alignment = minCoordinates.alignment;
937
+ $element.offset(_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__["Box"].GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));
938
+ }
939
+ }
940
+ }]);
941
+
942
+ return Positionable;
943
+ }(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__["Plugin"]);
944
+
945
+ Positionable.defaults = {
946
+ /**
947
+ * Position of positionable relative to anchor. Can be left, right, bottom, top, or auto.
948
+ * @option
949
+ * @type {string}
950
+ * @default 'auto'
951
+ */
952
+ position: 'auto',
953
+
954
+ /**
955
+ * Alignment of positionable relative to anchor. Can be left, right, bottom, top, center, or auto.
956
+ * @option
957
+ * @type {string}
958
+ * @default 'auto'
959
+ */
960
+ alignment: 'auto',
961
+
962
+ /**
963
+ * Allow overlap of container/window. If false, dropdown positionable first
964
+ * try to position as defined by data-position and data-alignment, but
965
+ * reposition if it would cause an overflow.
966
+ * @option
967
+ * @type {boolean}
968
+ * @default false
969
+ */
970
+ allowOverlap: false,
971
+
972
+ /**
973
+ * Allow overlap of only the bottom of the container. This is the most common
974
+ * behavior for dropdowns, allowing the dropdown to extend the bottom of the
975
+ * screen but not otherwise influence or break out of the container.
976
+ * @option
977
+ * @type {boolean}
978
+ * @default true
979
+ */
980
+ allowBottomOverlap: true,
981
+
982
+ /**
983
+ * Number of pixels the positionable should be separated vertically from anchor
984
+ * @option
985
+ * @type {number}
986
+ * @default 0
987
+ */
988
+ vOffset: 0,
989
+
990
+ /**
991
+ * Number of pixels the positionable should be separated horizontally from anchor
992
+ * @option
993
+ * @type {number}
994
+ * @default 0
995
+ */
996
+ hOffset: 0
997
+ };
998
+
999
+
1000
+ /***/ }),
1001
+
1002
+ /***/ "./js/foundation.util.triggers.js":
1003
+ /*!****************************************!*\
1004
+ !*** ./js/foundation.util.triggers.js ***!
1005
+ \****************************************/
1006
+ /*! exports provided: Triggers */
1007
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1008
+
1009
+ "use strict";
1010
+ __webpack_require__.r(__webpack_exports__);
1011
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Triggers", function() { return Triggers; });
1012
+ /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");
1013
+ /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
1014
+ /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ "./foundation.core.utils");
1015
+ /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__);
1016
+ /* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.motion */ "./foundation.util.motion");
1017
+ /* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__);
1018
+
1019
+
1020
+ function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
1021
+
1022
+
1023
+
1024
+
1025
+
1026
+ var MutationObserver = function () {
1027
+ var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
1028
+
1029
+ for (var i = 0; i < prefixes.length; i++) {
1030
+ if ("".concat(prefixes[i], "MutationObserver") in window) {
1031
+ return window["".concat(prefixes[i], "MutationObserver")];
1032
+ }
1033
+ }
1034
+
1035
+ return false;
1036
+ }();
1037
+
1038
+ var triggers = function triggers(el, type) {
1039
+ el.data(type).split(' ').forEach(function (id) {
1040
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(id))[type === 'close' ? 'trigger' : 'triggerHandler']("".concat(type, ".zf.trigger"), [el]);
1041
+ });
1042
+ };
1043
+
1044
+ var Triggers = {
1045
+ Listeners: {
1046
+ Basic: {},
1047
+ Global: {}
1048
+ },
1049
+ Initializers: {}
1050
+ };
1051
+ Triggers.Listeners.Basic = {
1052
+ openListener: function openListener() {
1053
+ triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'open');
1054
+ },
1055
+ closeListener: function closeListener() {
1056
+ var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('close');
1057
+
1058
+ if (id) {
1059
+ triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'close');
1060
+ } else {
1061
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('close.zf.trigger');
1062
+ }
1063
+ },
1064
+ toggleListener: function toggleListener() {
1065
+ var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle');
1066
+
1067
+ if (id) {
1068
+ triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'toggle');
1069
+ } else {
1070
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('toggle.zf.trigger');
1071
+ }
1072
+ },
1073
+ closeableListener: function closeableListener(e) {
1074
+ e.stopPropagation();
1075
+ var animation = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('closable');
1076
+
1077
+ if (animation !== '') {
1078
+ _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__["Motion"].animateOut(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), animation, function () {
1079
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('closed.zf');
1080
+ });
1081
+ } else {
1082
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).fadeOut().trigger('closed.zf');
1083
+ }
1084
+ },
1085
+ toggleFocusListener: function toggleFocusListener() {
1086
+ var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle-focus');
1087
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(id)).triggerHandler('toggle.zf.trigger', [jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)]);
1088
+ }
1089
+ }; // Elements with [data-open] will reveal a plugin that supports it when clicked.
1090
+
1091
+ Triggers.Initializers.addOpenListener = function ($elem) {
1092
+ $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);
1093
+ $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);
1094
+ }; // Elements with [data-close] will close a plugin that supports it when clicked.
1095
+ // If used without a value on [data-close], the event will bubble, allowing it to close a parent component.
1096
+
1097
+
1098
+ Triggers.Initializers.addCloseListener = function ($elem) {
1099
+ $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);
1100
+ $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);
1101
+ }; // Elements with [data-toggle] will toggle a plugin that supports it when clicked.
1102
+
1103
+
1104
+ Triggers.Initializers.addToggleListener = function ($elem) {
1105
+ $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);
1106
+ $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);
1107
+ }; // Elements with [data-closable] will respond to close.zf.trigger events.
1108
+
1109
+
1110
+ Triggers.Initializers.addCloseableListener = function ($elem) {
1111
+ $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);
1112
+ $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);
1113
+ }; // Elements with [data-toggle-focus] will respond to coming in and out of focus
1114
+
1115
+
1116
+ Triggers.Initializers.addToggleFocusListener = function ($elem) {
1117
+ $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);
1118
+ $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);
1119
+ }; // More Global/complex listeners and triggers
1120
+
1121
+
1122
+ Triggers.Listeners.Global = {
1123
+ resizeListener: function resizeListener($nodes) {
1124
+ if (!MutationObserver) {
1125
+ //fallback for IE 9
1126
+ $nodes.each(function () {
1127
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('resizeme.zf.trigger');
1128
+ });
1129
+ } //trigger all listening elements and signal a resize event
1130
+
1131
+
1132
+ $nodes.attr('data-events', "resize");
1133
+ },
1134
+ scrollListener: function scrollListener($nodes) {
1135
+ if (!MutationObserver) {
1136
+ //fallback for IE 9
1137
+ $nodes.each(function () {
1138
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('scrollme.zf.trigger');
1139
+ });
1140
+ } //trigger all listening elements and signal a scroll event
1141
+
1142
+
1143
+ $nodes.attr('data-events', "scroll");
1144
+ },
1145
+ closeMeListener: function closeMeListener(e, pluginId) {
1146
+ var plugin = e.namespace.split('.')[0];
1147
+ var plugins = jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-".concat(plugin, "]")).not("[data-yeti-box=\"".concat(pluginId, "\"]"));
1148
+ plugins.each(function () {
1149
+ var _this = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);
1150
+
1151
+ _this.triggerHandler('close.zf.trigger', [_this]);
1152
+ });
1153
+ } // Global, parses whole document.
1154
+
1155
+ };
1156
+
1157
+ Triggers.Initializers.addClosemeListener = function (pluginName) {
1158
+ var yetiBoxes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-yeti-box]'),
1159
+ plugNames = ['dropdown', 'tooltip', 'reveal'];
1160
+
1161
+ if (pluginName) {
1162
+ if (typeof pluginName === 'string') {
1163
+ plugNames.push(pluginName);
1164
+ } else if (_typeof(pluginName) === 'object' && typeof pluginName[0] === 'string') {
1165
+ plugNames.concat(pluginName);
1166
+ } else {
1167
+ console.error('Plugin names must be strings');
1168
+ }
1169
+ }
1170
+
1171
+ if (yetiBoxes.length) {
1172
+ var listeners = plugNames.map(function (name) {
1173
+ return "closeme.zf.".concat(name);
1174
+ }).join(' ');
1175
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);
1176
+ }
1177
+ };
1178
+
1179
+ function debounceGlobalListener(debounce, trigger, listener) {
1180
+ var timer,
1181
+ args = Array.prototype.slice.call(arguments, 3);
1182
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(trigger).on(trigger, function (e) {
1183
+ if (timer) {
1184
+ clearTimeout(timer);
1185
+ }
1186
+
1187
+ timer = setTimeout(function () {
1188
+ listener.apply(null, args);
1189
+ }, debounce || 10); //default time to emit scroll event
1190
+ });
1191
+ }
1192
+
1193
+ Triggers.Initializers.addResizeListener = function (debounce) {
1194
+ var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-resize]');
1195
+
1196
+ if ($nodes.length) {
1197
+ debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);
1198
+ }
1199
+ };
1200
+
1201
+ Triggers.Initializers.addScrollListener = function (debounce) {
1202
+ var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-scroll]');
1203
+
1204
+ if ($nodes.length) {
1205
+ debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);
1206
+ }
1207
+ };
1208
+
1209
+ Triggers.Initializers.addMutationEventsListener = function ($elem) {
1210
+ if (!MutationObserver) {
1211
+ return false;
1212
+ }
1213
+
1214
+ var $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]'); //element callback
1215
+
1216
+ var listeningElementsMutation = function listeningElementsMutation(mutationRecordsList) {
1217
+ var $target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(mutationRecordsList[0].target); //trigger the event handler for the element depending on type
1218
+
1219
+ switch (mutationRecordsList[0].type) {
1220
+ case "attributes":
1221
+ if ($target.attr("data-events") === "scroll" && mutationRecordsList[0].attributeName === "data-events") {
1222
+ $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);
1223
+ }
1224
+
1225
+ if ($target.attr("data-events") === "resize" && mutationRecordsList[0].attributeName === "data-events") {
1226
+ $target.triggerHandler('resizeme.zf.trigger', [$target]);
1227
+ }
1228
+
1229
+ if (mutationRecordsList[0].attributeName === "style") {
1230
+ $target.closest("[data-mutate]").attr("data-events", "mutate");
1231
+ $target.closest("[data-mutate]").triggerHandler('mutateme.zf.trigger', [$target.closest("[data-mutate]")]);
1232
+ }
1233
+
1234
+ break;
1235
+
1236
+ case "childList":
1237
+ $target.closest("[data-mutate]").attr("data-events", "mutate");
1238
+ $target.closest("[data-mutate]").triggerHandler('mutateme.zf.trigger', [$target.closest("[data-mutate]")]);
1239
+ break;
1240
+
1241
+ default:
1242
+ return false;
1243
+ //nothing
1244
+ }
1245
+ };
1246
+
1247
+ if ($nodes.length) {
1248
+ //for each element that needs to listen for resizing, scrolling, or mutation add a single observer
1249
+ for (var i = 0; i <= $nodes.length - 1; i++) {
1250
+ var elementObserver = new MutationObserver(listeningElementsMutation);
1251
+ elementObserver.observe($nodes[i], {
1252
+ attributes: true,
1253
+ childList: true,
1254
+ characterData: false,
1255
+ subtree: true,
1256
+ attributeFilter: ["data-events", "style"]
1257
+ });
1258
+ }
1259
+ }
1260
+ };
1261
+
1262
+ Triggers.Initializers.addSimpleListeners = function () {
1263
+ var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document);
1264
+ Triggers.Initializers.addOpenListener($document);
1265
+ Triggers.Initializers.addCloseListener($document);
1266
+ Triggers.Initializers.addToggleListener($document);
1267
+ Triggers.Initializers.addCloseableListener($document);
1268
+ Triggers.Initializers.addToggleFocusListener($document);
1269
+ };
1270
+
1271
+ Triggers.Initializers.addGlobalListeners = function () {
1272
+ var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document);
1273
+ Triggers.Initializers.addMutationEventsListener($document);
1274
+ Triggers.Initializers.addResizeListener();
1275
+ Triggers.Initializers.addScrollListener();
1276
+ Triggers.Initializers.addClosemeListener();
1277
+ };
1278
+
1279
+ Triggers.init = function ($, Foundation) {
1280
+ Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__["onLoad"])($(window), function () {
1281
+ if ($.triggersInitialized !== true) {
1282
+ Triggers.Initializers.addSimpleListeners();
1283
+ Triggers.Initializers.addGlobalListeners();
1284
+ $.triggersInitialized = true;
1285
+ }
1286
+ });
1287
+
1288
+ if (Foundation) {
1289
+ Foundation.Triggers = Triggers; // Legacy included to be backwards compatible for now.
1290
+
1291
+ Foundation.IHearYou = Triggers.Initializers.addGlobalListeners;
1292
+ }
1293
+ };
1294
+
1295
+
1296
+
1297
+ /***/ }),
1298
+
1299
+ /***/ 4:
1300
+ /*!*********************************************************!*\
1301
+ !*** multi ./js/entries/plugins/foundation.dropdown.js ***!
1302
+ \*********************************************************/
1303
+ /*! no static exports found */
1304
+ /***/ (function(module, exports, __webpack_require__) {
1305
+
1306
+ module.exports = __webpack_require__(/*! /Users/ncoden/Documents/Documents/Projects/Programmation/Web/2016/Foundation/foundation-sites/js/entries/plugins/foundation.dropdown.js */"./js/entries/plugins/foundation.dropdown.js");
1307
+
1308
+
1309
+ /***/ }),
1310
+
1311
+ /***/ "jquery":
1312
+ /*!********************************************************************************************!*\
1313
+ !*** external {"root":["jQuery"],"amd":"jquery","commonjs":"jquery","commonjs2":"jquery"} ***!
1314
+ \********************************************************************************************/
1315
+ /*! no static exports found */
1316
+ /***/ (function(module, exports) {
1317
+
1318
+ module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;
1319
+
1320
+ /***/ })
1321
+
1322
+ /******/ });
1323
+ });
1324
+ //# sourceMappingURL=foundation.dropdown.js.map