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.smoothScroll\"],\"amd\":\"./foundation.smoothScroll\",\"commonjs\":\"./foundation.smoothScroll\",\"commonjs2\":\"./foundation.smoothScroll\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.magellan.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.magellan.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","plugin","Magellan","element","options","$element","$","extend","defaults","data","className","_init","calcPoints","id","GetYoDigits","_this","$targets","$links","find","attr","$active","scrollPos","parseInt","window","pageYOffset","_events","body","document","html","documentElement","points","winHeight","Math","round","max","innerHeight","clientHeight","docHeight","scrollHeight","offsetHeight","each","$tar","pt","offset","top","threshold","targetPoint","push","$body","opts","duration","animationDuration","easing","animationEasing","one","deepLinking","location","hash","scrollToLoc","_updateActive","onLoadListener","onLoad","on","reflow","bind","e","preventDefault","arrival","getAttribute","_deepLinkScroll","loc","_inTransition","SmoothScroll","newScrollPos","isScrollingUp","activeIdx","length","visibleLinks","filter","p","i","$oldActive","activeHash","eq","isNewActive","is","isNewHash","removeClass","activeClass","addClass","history","pushState","url","pathname","search","trigger","off","replace","Plugin"],"mappings":"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","file":"foundation.magellan.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.smoothScroll\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.core.plugin\", \"./foundation.core.utils\", \"./foundation.smoothScroll\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.magellan\"] = factory(require(\"./foundation.core\"), require(\"./foundation.core.plugin\"), require(\"./foundation.core.utils\"), require(\"./foundation.smoothScroll\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.magellan\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.smoothScroll\"], 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_smoothScroll__, __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 = 8);\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_smoothScroll__;","import { Foundation } from './foundation.core';\n\nimport { Magellan } from '../../foundation.magellan';\nFoundation.plugin(Magellan, 'Magellan');\n\nexport { Foundation, Magellan };\n","'use strict';\n\n\nimport $ from 'jquery';\nimport { onLoad, GetYoDigits } from './foundation.core.utils';\nimport { Plugin } from './foundation.core.plugin';\nimport { SmoothScroll } from './foundation.smoothScroll';\n\n/**\n * Magellan module.\n * @module foundation.magellan\n * @requires foundation.smoothScroll\n */\n\nclass Magellan extends Plugin {\n /**\n * Creates a new instance of Magellan.\n * @class\n * @name Magellan\n * @fires Magellan#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Magellan.defaults, this.$element.data(), options);\n this.className = 'Magellan'; // ie9 back compat\n\n this._init();\n this.calcPoints();\n }\n\n /**\n * Initializes the Magellan plugin and calls functions to get equalizer functioning on load.\n * @private\n */\n _init() {\n var id = this.$element[0].id || GetYoDigits(6, 'magellan');\n var _this = this;\n this.$targets = $('[data-magellan-target]');\n this.$links = this.$element.find('a');\n this.$element.attr({\n 'data-resize': id,\n 'data-scroll': id,\n 'id': id\n });\n this.$active = $();\n this.scrollPos = parseInt(window.pageYOffset, 10);\n\n this._events();\n }\n\n /**\n * Calculates an array of pixel values that are the demarcation lines between locations on the page.\n * Can be invoked if new elements are added or the size of a location changes.\n * @function\n */\n calcPoints() {\n var _this = this,\n body = document.body,\n html = document.documentElement;\n\n this.points = [];\n this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight));\n this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight));\n\n this.$targets.each(function(){\n var $tar = $(this),\n pt = Math.round($tar.offset().top - _this.options.threshold);\n $tar.targetPoint = pt;\n _this.points.push(pt);\n });\n }\n\n /**\n * Initializes events for Magellan.\n * @private\n */\n _events() {\n var _this = this,\n $body = $('html, body'),\n opts = {\n duration: _this.options.animationDuration,\n easing: _this.options.animationEasing\n };\n\n $(window).one('load', function(){\n if(_this.options.deepLinking){\n if(location.hash){\n _this.scrollToLoc(location.hash);\n }\n }\n _this.calcPoints();\n _this._updateActive();\n });\n\n _this.onLoadListener = onLoad($(window), function () {\n _this.$element\n .on({\n 'resizeme.zf.trigger': _this.reflow.bind(_this),\n 'scrollme.zf.trigger': _this._updateActive.bind(_this)\n })\n .on('click.zf.magellan', 'a[href^=\"#\"]', function (e) {\n e.preventDefault();\n var arrival = this.getAttribute('href');\n _this.scrollToLoc(arrival);\n });\n });\n\n this._deepLinkScroll = function(e) {\n if(_this.options.deepLinking) {\n _this.scrollToLoc(window.location.hash);\n }\n };\n\n $(window).on('hashchange', this._deepLinkScroll);\n }\n\n /**\n * Function to scroll to a given location on the page.\n * @param {String} loc - a properly formatted jQuery id selector. Example: '#foo'\n * @function\n */\n scrollToLoc(loc) {\n this._inTransition = true;\n var _this = this;\n\n var options = {\n animationEasing: this.options.animationEasing,\n animationDuration: this.options.animationDuration,\n threshold: this.options.threshold,\n offset: this.options.offset\n };\n\n SmoothScroll.scrollToLoc(loc, options, function() {\n _this._inTransition = false;\n })\n }\n\n /**\n * Calls necessary functions to update Magellan upon DOM change\n * @function\n */\n reflow() {\n this.calcPoints();\n this._updateActive();\n }\n\n /**\n * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled.\n * @private\n * @function\n * @fires Magellan#update\n */\n _updateActive(/*evt, elem, scrollPos*/) {\n if(this._inTransition) return;\n\n const newScrollPos = parseInt(window.pageYOffset, 10);\n const isScrollingUp = this.scrollPos > newScrollPos;\n this.scrollPos = newScrollPos;\n\n let activeIdx;\n // Before the first point: no link\n if(newScrollPos < this.points[0]){ /* do nothing */ }\n // At the bottom of the page: last link\n else if(newScrollPos + this.winHeight === this.docHeight){ activeIdx = this.points.length - 1; }\n // Otherwhise, use the last visible link\n else{\n const visibleLinks = this.points.filter((p, i) => {\n return (p - this.options.offset - (isScrollingUp ? this.options.threshold : 0)) <= newScrollPos;\n });\n activeIdx = visibleLinks.length ? visibleLinks.length - 1 : 0;\n }\n\n // Get the new active link\n const $oldActive = this.$active;\n let activeHash = '';\n if(typeof activeIdx !== 'undefined'){\n this.$active = this.$links.filter('[href=\"#' + this.$targets.eq(activeIdx).data('magellan-target') + '\"]');\n if (this.$active.length) activeHash = this.$active[0].getAttribute('href');\n }else{\n this.$active = $();\n }\n const isNewActive = !(!this.$active.length && !$oldActive.length) && !this.$active.is($oldActive);\n const isNewHash = activeHash !== window.location.hash;\n\n // Update the active link element\n if(isNewActive) {\n $oldActive.removeClass(this.options.activeClass);\n this.$active.addClass(this.options.activeClass);\n }\n\n // Update the hash (it may have changed with the same active link)\n if(this.options.deepLinking && isNewHash){\n if(window.history.pushState){\n // Set or remove the hash (see: https://stackoverflow.com/a/5298684/4317384\n const url = activeHash ? activeHash : window.location.pathname + window.location.search;\n window.history.pushState(null, null, url);\n }else{\n window.location.hash = activeHash;\n }\n }\n\n if (isNewActive) {\n /**\n * Fires when magellan is finished updating to the new active element.\n * @event Magellan#update\n */\n \tthis.$element.trigger('update.zf.magellan', [this.$active]);\n\t }\n }\n\n /**\n * Destroys an instance of Magellan and resets the url of the window.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.trigger .zf.magellan')\n .find(`.${this.options.activeClass}`).removeClass(this.options.activeClass);\n\n if(this.options.deepLinking){\n var hash = this.$active[0].getAttribute('href');\n window.location.hash.replace(hash, '');\n }\n\n $(window).off('hashchange', this._deepLinkScroll)\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n }\n}\n\n/**\n * Default settings for plugin\n */\nMagellan.defaults = {\n /**\n * Amount of time, in ms, the animated scrolling should take between locations.\n * @option\n * @type {number}\n * @default 500\n */\n animationDuration: 500,\n /**\n * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`.\n * @option\n * @type {string}\n * @default 'linear'\n * @see {@link https://api.jquery.com/animate|Jquery animate}\n */\n animationEasing: 'linear',\n /**\n * Number of pixels to use as a marker for location changes.\n * @option\n * @type {number}\n * @default 50\n */\n threshold: 50,\n /**\n * Class applied to the active locations link on the magellan container.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n activeClass: 'is-active',\n /**\n * Allows the script to manipulate the url of the current page, and if supported, alter the history.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLinking: false,\n /**\n * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.\n * @option\n * @type {number}\n * @default 0\n */\n offset: 0\n}\n\nexport {Magellan};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ !function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("./foundation.core"),require("./foundation.core.plugin"),require("./foundation.core.utils"),require("./foundation.smoothScroll"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.core.plugin","./foundation.core.utils","./foundation.smoothScroll","jquery"],n):"object"==typeof exports?exports["foundation.magellan"]=n(require("./foundation.core"),require("./foundation.core.plugin"),require("./foundation.core.utils"),require("./foundation.smoothScroll"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.magellan"]=n(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.smoothScroll"],t.jQuery))}(window,function(e,o,i,r,a){return function(e){var o={};function i(t){if(o[t])return o[t].exports;var n=o[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=e,i.c=o,i.d=function(t,n,e){i.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:e})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(n,t){if(1&t&&(n=i(n)),8&t)return n;if(4&t&&"object"==typeof n&&n&&n.__esModule)return n;var e=Object.create(null);if(i.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:n}),2&t&&"string"!=typeof n)for(var o in n)i.d(e,o,function(t){return n[t]}.bind(null,o));return e},i.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(n,"a",n),n},i.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},i.p="",i(i.s=8)}({"./foundation.core":function(t,n){t.exports=e},"./foundation.core.plugin":function(t,n){t.exports=o},"./foundation.core.utils":function(t,n){t.exports=i},"./foundation.smoothScroll":function(t,n){t.exports=r},"./js/entries/plugins/foundation.magellan.js":function(t,n,e){"use strict";e.r(n);var o=e("./foundation.core");e.d(n,"Foundation",function(){return o.Foundation});var i=e("./js/foundation.magellan.js");e.d(n,"Magellan",function(){return i.Magellan}),o.Foundation.plugin(i.Magellan,"Magellan")},"./js/foundation.magellan.js":function(t,n,e){"use strict";e.r(n),e.d(n,"Magellan",function(){return d});var o=e("jquery"),c=e.n(o),r=e("./foundation.core.utils"),a=e("./foundation.core.plugin"),s=e("./foundation.smoothScroll");function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function l(t,n){for(var e=0;e<n.length;e++){var o=n[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function u(t,n){return!n||"object"!==i(n)&&"function"!=typeof n?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):n}function f(t){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function h(t,n){return(h=Object.setPrototypeOf||function(t,n){return t.__proto__=n,t})(t,n)}var d=function(t){function e(){return function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),u(this,f(e).apply(this,arguments))}var n,o,i;return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(n&&n.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),n&&h(t,n)}(e,a["Plugin"]),n=e,(o=[{key:"_setup",value:function(t,n){this.$element=t,this.options=c.a.extend({},e.defaults,this.$element.data(),n),this.className="Magellan",this._init(),this.calcPoints()}},{key:"_init",value:function(){var t=this.$element[0].id||Object(r.GetYoDigits)(6,"magellan");this.$targets=c()("[data-magellan-target]"),this.$links=this.$element.find("a"),this.$element.attr({"data-resize":t,"data-scroll":t,id:t}),this.$active=c()(),this.scrollPos=parseInt(window.pageYOffset,10),this._events()}},{key:"calcPoints",value:function(){var e=this,t=document.body,n=document.documentElement;this.points=[],this.winHeight=Math.round(Math.max(window.innerHeight,n.clientHeight)),this.docHeight=Math.round(Math.max(t.scrollHeight,t.offsetHeight,n.clientHeight,n.scrollHeight,n.offsetHeight)),this.$targets.each(function(){var t=c()(this),n=Math.round(t.offset().top-e.options.threshold);t.targetPoint=n,e.points.push(n)})}},{key:"_events",value:function(){var e=this;c()("html, body"),e.options.animationDuration,e.options.animationEasing;c()(window).one("load",function(){e.options.deepLinking&&location.hash&&e.scrollToLoc(location.hash),e.calcPoints(),e._updateActive()}),e.onLoadListener=Object(r.onLoad)(c()(window),function(){e.$element.on({"resizeme.zf.trigger":e.reflow.bind(e),"scrollme.zf.trigger":e._updateActive.bind(e)}).on("click.zf.magellan",'a[href^="#"]',function(t){t.preventDefault();var n=this.getAttribute("href");e.scrollToLoc(n)})}),this._deepLinkScroll=function(t){e.options.deepLinking&&e.scrollToLoc(window.location.hash)},c()(window).on("hashchange",this._deepLinkScroll)}},{key:"scrollToLoc",value:function(t){this._inTransition=!0;var n=this,e={animationEasing:this.options.animationEasing,animationDuration:this.options.animationDuration,threshold:this.options.threshold,offset:this.options.offset};s.SmoothScroll.scrollToLoc(t,e,function(){n._inTransition=!1})}},{key:"reflow",value:function(){this.calcPoints(),this._updateActive()}},{key:"_updateActive",value:function(){var e=this;if(!this._inTransition){var t,o=parseInt(window.pageYOffset,10),i=this.scrollPos>o;if((this.scrollPos=o)<this.points[0]);else if(o+this.winHeight===this.docHeight)t=this.points.length-1;else{var n=this.points.filter(function(t,n){return t-e.options.offset-(i?e.options.threshold:0)<=o});t=n.length?n.length-1:0}var r=this.$active,a="";void 0!==t?(this.$active=this.$links.filter('[href="#'+this.$targets.eq(t).data("magellan-target")+'"]'),this.$active.length&&(a=this.$active[0].getAttribute("href"))):this.$active=c()();var s=!(!this.$active.length&&!r.length||this.$active.is(r)),l=a!==window.location.hash;if(s&&(r.removeClass(this.options.activeClass),this.$active.addClass(this.options.activeClass)),this.options.deepLinking&&l)if(window.history.pushState){var u=a||window.location.pathname+window.location.search;window.history.pushState(null,null,u)}else window.location.hash=a;s&&this.$element.trigger("update.zf.magellan",[this.$active])}}},{key:"_destroy",value:function(){if(this.$element.off(".zf.trigger .zf.magellan").find(".".concat(this.options.activeClass)).removeClass(this.options.activeClass),this.options.deepLinking){var t=this.$active[0].getAttribute("href");window.location.hash.replace(t,"")}c()(window).off("hashchange",this._deepLinkScroll),this.onLoadListener&&c()(window).off(this.onLoadListener)}}])&&l(n.prototype,o),i&&l(n,i),e}();d.defaults={animationDuration:500,animationEasing:"linear",threshold:50,activeClass:"is-active",deepLinking:!1,offset:0}},8:function(t,n,e){t.exports=e("./js/entries/plugins/foundation.magellan.js")},jquery:function(t,n){t.exports=a}})});
2
+ //# sourceMappingURL=foundation.magellan.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["foundation.magellan.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_smoothScroll__","__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.smoothScroll","./js/entries/plugins/foundation.magellan.js","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","_foundation_magellan__WEBPACK_IMPORTED_MODULE_1__","plugin","./js/foundation.magellan.js","Magellan","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__","_foundation_smoothScroll__WEBPACK_IMPORTED_MODULE_3__","_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","calcPoints","id","$targets","$links","find","attr","data-resize","data-scroll","$active","scrollPos","parseInt","pageYOffset","_events","_this","body","document","html","documentElement","points","winHeight","Math","round","max","innerHeight","clientHeight","docHeight","scrollHeight","offsetHeight","each","$tar","pt","offset","top","threshold","targetPoint","push","animationDuration","animationEasing","one","deepLinking","location","hash","scrollToLoc","_updateActive","onLoadListener","on","resizeme.zf.trigger","reflow","scrollme.zf.trigger","e","preventDefault","arrival","getAttribute","_deepLinkScroll","loc","_inTransition","_this2","activeIdx","newScrollPos","isScrollingUp","visibleLinks","filter","$oldActive","activeHash","eq","isNewActive","is","isNewHash","removeClass","activeClass","addClass","history","pushState","url","pathname","search","trigger","off","concat","replace","8","jquery"],"mappings":"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","file":"foundation.magellan.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.smoothScroll\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.core.plugin\", \"./foundation.core.utils\", \"./foundation.smoothScroll\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.magellan\"] = factory(require(\"./foundation.core\"), require(\"./foundation.core.plugin\"), require(\"./foundation.core.utils\"), require(\"./foundation.smoothScroll\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.magellan\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.smoothScroll\"], 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_smoothScroll__, __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 = 8);\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.smoothScroll\":\n/*!************************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.smoothScroll\"],\"amd\":\"./foundation.smoothScroll\",\"commonjs\":\"./foundation.smoothScroll\",\"commonjs2\":\"./foundation.smoothScroll\"} ***!\n \\************************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_smoothScroll__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.magellan.js\":\n/*!***************************************************!*\\\n !*** ./js/entries/plugins/foundation.magellan.js ***!\n \\***************************************************/\n/*! exports provided: Foundation, Magellan */\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_magellan__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.magellan */ \"./js/foundation.magellan.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Magellan\", function() { return _foundation_magellan__WEBPACK_IMPORTED_MODULE_1__[\"Magellan\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].plugin(_foundation_magellan__WEBPACK_IMPORTED_MODULE_1__[\"Magellan\"], 'Magellan');\n\n\n/***/ }),\n\n/***/ \"./js/foundation.magellan.js\":\n/*!***********************************!*\\\n !*** ./js/foundation.magellan.js ***!\n \\***********************************/\n/*! exports provided: Magellan */\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__, \"Magellan\", function() { return Magellan; });\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_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ \"./foundation.core.utils\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./foundation.core.plugin\");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _foundation_smoothScroll__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.smoothScroll */ \"./foundation.smoothScroll\");\n/* harmony import */ var _foundation_smoothScroll__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_foundation_smoothScroll__WEBPACK_IMPORTED_MODULE_3__);\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 * Magellan module.\n * @module foundation.magellan\n * @requires foundation.smoothScroll\n */\n\nvar Magellan =\n/*#__PURE__*/\nfunction (_Plugin) {\n _inherits(Magellan, _Plugin);\n\n function Magellan() {\n _classCallCheck(this, Magellan);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Magellan).apply(this, arguments));\n }\n\n _createClass(Magellan, [{\n key: \"_setup\",\n\n /**\n * Creates a new instance of Magellan.\n * @class\n * @name Magellan\n * @fires Magellan#init\n * @param {Object} element - jQuery object to add the trigger to.\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({}, Magellan.defaults, this.$element.data(), options);\n this.className = 'Magellan'; // ie9 back compat\n\n this._init();\n\n this.calcPoints();\n }\n /**\n * Initializes the Magellan plugin and calls functions to get equalizer functioning on load.\n * @private\n */\n\n }, {\n key: \"_init\",\n value: function _init() {\n var id = this.$element[0].id || Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"GetYoDigits\"])(6, 'magellan');\n\n var _this = this;\n\n this.$targets = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-magellan-target]');\n this.$links = this.$element.find('a');\n this.$element.attr({\n 'data-resize': id,\n 'data-scroll': id,\n 'id': id\n });\n this.$active = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n this.scrollPos = parseInt(window.pageYOffset, 10);\n\n this._events();\n }\n /**\n * Calculates an array of pixel values that are the demarcation lines between locations on the page.\n * Can be invoked if new elements are added or the size of a location changes.\n * @function\n */\n\n }, {\n key: \"calcPoints\",\n value: function calcPoints() {\n var _this = this,\n body = document.body,\n html = document.documentElement;\n\n this.points = [];\n this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight));\n this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight));\n this.$targets.each(function () {\n var $tar = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n pt = Math.round($tar.offset().top - _this.options.threshold);\n $tar.targetPoint = pt;\n\n _this.points.push(pt);\n });\n }\n /**\n * Initializes events for Magellan.\n * @private\n */\n\n }, {\n key: \"_events\",\n value: function _events() {\n var _this = this,\n $body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('html, body'),\n opts = {\n duration: _this.options.animationDuration,\n easing: _this.options.animationEasing\n };\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).one('load', function () {\n if (_this.options.deepLinking) {\n if (location.hash) {\n _this.scrollToLoc(location.hash);\n }\n }\n\n _this.calcPoints();\n\n _this._updateActive();\n });\n _this.onLoadListener = Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"onLoad\"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {\n _this.$element.on({\n 'resizeme.zf.trigger': _this.reflow.bind(_this),\n 'scrollme.zf.trigger': _this._updateActive.bind(_this)\n }).on('click.zf.magellan', 'a[href^=\"#\"]', function (e) {\n e.preventDefault();\n var arrival = this.getAttribute('href');\n\n _this.scrollToLoc(arrival);\n });\n });\n\n this._deepLinkScroll = function (e) {\n if (_this.options.deepLinking) {\n _this.scrollToLoc(window.location.hash);\n }\n };\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('hashchange', this._deepLinkScroll);\n }\n /**\n * Function to scroll to a given location on the page.\n * @param {String} loc - a properly formatted jQuery id selector. Example: '#foo'\n * @function\n */\n\n }, {\n key: \"scrollToLoc\",\n value: function scrollToLoc(loc) {\n this._inTransition = true;\n\n var _this = this;\n\n var options = {\n animationEasing: this.options.animationEasing,\n animationDuration: this.options.animationDuration,\n threshold: this.options.threshold,\n offset: this.options.offset\n };\n _foundation_smoothScroll__WEBPACK_IMPORTED_MODULE_3__[\"SmoothScroll\"].scrollToLoc(loc, options, function () {\n _this._inTransition = false;\n });\n }\n /**\n * Calls necessary functions to update Magellan upon DOM change\n * @function\n */\n\n }, {\n key: \"reflow\",\n value: function reflow() {\n this.calcPoints();\n\n this._updateActive();\n }\n /**\n * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled.\n * @private\n * @function\n * @fires Magellan#update\n */\n\n }, {\n key: \"_updateActive\",\n value: function _updateActive()\n /*evt, elem, scrollPos*/\n {\n var _this2 = this;\n\n if (this._inTransition) return;\n var newScrollPos = parseInt(window.pageYOffset, 10);\n var isScrollingUp = this.scrollPos > newScrollPos;\n this.scrollPos = newScrollPos;\n var activeIdx; // Before the first point: no link\n\n if (newScrollPos < this.points[0]) {}\n /* do nothing */\n // At the bottom of the page: last link\n else if (newScrollPos + this.winHeight === this.docHeight) {\n activeIdx = this.points.length - 1;\n } // Otherwhise, use the last visible link\n else {\n var visibleLinks = this.points.filter(function (p, i) {\n return p - _this2.options.offset - (isScrollingUp ? _this2.options.threshold : 0) <= newScrollPos;\n });\n activeIdx = visibleLinks.length ? visibleLinks.length - 1 : 0;\n } // Get the new active link\n\n\n var $oldActive = this.$active;\n var activeHash = '';\n\n if (typeof activeIdx !== 'undefined') {\n this.$active = this.$links.filter('[href=\"#' + this.$targets.eq(activeIdx).data('magellan-target') + '\"]');\n if (this.$active.length) activeHash = this.$active[0].getAttribute('href');\n } else {\n this.$active = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n }\n\n var isNewActive = !(!this.$active.length && !$oldActive.length) && !this.$active.is($oldActive);\n var isNewHash = activeHash !== window.location.hash; // Update the active link element\n\n if (isNewActive) {\n $oldActive.removeClass(this.options.activeClass);\n this.$active.addClass(this.options.activeClass);\n } // Update the hash (it may have changed with the same active link)\n\n\n if (this.options.deepLinking && isNewHash) {\n if (window.history.pushState) {\n // Set or remove the hash (see: https://stackoverflow.com/a/5298684/4317384\n var url = activeHash ? activeHash : window.location.pathname + window.location.search;\n window.history.pushState(null, null, url);\n } else {\n window.location.hash = activeHash;\n }\n }\n\n if (isNewActive) {\n /**\n * Fires when magellan is finished updating to the new active element.\n * @event Magellan#update\n */\n this.$element.trigger('update.zf.magellan', [this.$active]);\n }\n }\n /**\n * Destroys an instance of Magellan and resets the url of the window.\n * @function\n */\n\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n this.$element.off('.zf.trigger .zf.magellan').find(\".\".concat(this.options.activeClass)).removeClass(this.options.activeClass);\n\n if (this.options.deepLinking) {\n var hash = this.$active[0].getAttribute('href');\n window.location.hash.replace(hash, '');\n }\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('hashchange', this._deepLinkScroll);\n if (this.onLoadListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener);\n }\n }]);\n\n return Magellan;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__[\"Plugin\"]);\n/**\n * Default settings for plugin\n */\n\n\nMagellan.defaults = {\n /**\n * Amount of time, in ms, the animated scrolling should take between locations.\n * @option\n * @type {number}\n * @default 500\n */\n animationDuration: 500,\n\n /**\n * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`.\n * @option\n * @type {string}\n * @default 'linear'\n * @see {@link https://api.jquery.com/animate|Jquery animate}\n */\n animationEasing: 'linear',\n\n /**\n * Number of pixels to use as a marker for location changes.\n * @option\n * @type {number}\n * @default 50\n */\n threshold: 50,\n\n /**\n * Class applied to the active locations link on the magellan container.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n activeClass: 'is-active',\n\n /**\n * Allows the script to manipulate the url of the current page, and if supported, alter the history.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLinking: false,\n\n /**\n * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.\n * @option\n * @type {number}\n * @default 0\n */\n offset: 0\n};\n\n\n/***/ }),\n\n/***/ 8:\n/*!*********************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.magellan.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.magellan.js */\"./js/entries/plugins/foundation.magellan.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.magellan.js.map"]}
@@ -0,0 +1,1164 @@
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.mediaQuery"), 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.mediaQuery", "./foundation.core.plugin", "./foundation.util.motion"], factory);
6
+ else if(typeof exports === 'object')
7
+ exports["foundation.offcanvas"] = factory(require("./foundation.core.utils"), require("./foundation.core"), require("jquery"), require("./foundation.util.keyboard"), require("./foundation.util.mediaQuery"), require("./foundation.core.plugin"), require("./foundation.util.motion"));
8
+ else
9
+ root["__FOUNDATION_EXTERNAL__"] = root["__FOUNDATION_EXTERNAL__"] || {}, root["__FOUNDATION_EXTERNAL__"]["foundation.offcanvas"] = factory(root["__FOUNDATION_EXTERNAL__"]["foundation.core"], root["__FOUNDATION_EXTERNAL__"]["foundation.core"], root["jQuery"], root["__FOUNDATION_EXTERNAL__"]["foundation.util.keyboard"], root["__FOUNDATION_EXTERNAL__"]["foundation.util.mediaQuery"], 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_mediaQuery__, __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 = 9);
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.keyboard":
133
+ /*!****************************************************************************************************************************************************************************************************!*\
134
+ !*** external {"root":["__FOUNDATION_EXTERNAL__","foundation.util.keyboard"],"amd":"./foundation.util.keyboard","commonjs":"./foundation.util.keyboard","commonjs2":"./foundation.util.keyboard"} ***!
135
+ \****************************************************************************************************************************************************************************************************/
136
+ /*! no static exports found */
137
+ /***/ (function(module, exports) {
138
+
139
+ module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;
140
+
141
+ /***/ }),
142
+
143
+ /***/ "./foundation.util.mediaQuery":
144
+ /*!************************************************************************************************************************************************************************************************************!*\
145
+ !*** external {"root":["__FOUNDATION_EXTERNAL__","foundation.util.mediaQuery"],"amd":"./foundation.util.mediaQuery","commonjs":"./foundation.util.mediaQuery","commonjs2":"./foundation.util.mediaQuery"} ***!
146
+ \************************************************************************************************************************************************************************************************************/
147
+ /*! no static exports found */
148
+ /***/ (function(module, exports) {
149
+
150
+ module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;
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.offcanvas.js":
166
+ /*!****************************************************!*\
167
+ !*** ./js/entries/plugins/foundation.offcanvas.js ***!
168
+ \****************************************************/
169
+ /*! exports provided: Foundation, OffCanvas */
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_offcanvas__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.offcanvas */ "./js/foundation.offcanvas.js");
179
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "OffCanvas", function() { return _foundation_offcanvas__WEBPACK_IMPORTED_MODULE_1__["OffCanvas"]; });
180
+
181
+
182
+
183
+ _foundation_core__WEBPACK_IMPORTED_MODULE_0__["Foundation"].plugin(_foundation_offcanvas__WEBPACK_IMPORTED_MODULE_1__["OffCanvas"], 'OffCanvas');
184
+
185
+
186
+ /***/ }),
187
+
188
+ /***/ "./js/foundation.offcanvas.js":
189
+ /*!************************************!*\
190
+ !*** ./js/foundation.offcanvas.js ***!
191
+ \************************************/
192
+ /*! exports provided: OffCanvas */
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__, "OffCanvas", function() { return OffCanvas; });
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_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ "./foundation.core.utils");
201
+ /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__);
202
+ /* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.keyboard */ "./foundation.util.keyboard");
203
+ /* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__);
204
+ /* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ "./foundation.util.mediaQuery");
205
+ /* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__);
206
+ /* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.core.plugin */ "./foundation.core.plugin");
207
+ /* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_4__);
208
+ /* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./foundation.util.triggers */ "./js/foundation.util.triggers.js");
209
+
210
+
211
+ 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); }
212
+
213
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
214
+
215
+ 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); } }
216
+
217
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
218
+
219
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
220
+
221
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
222
+
223
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
224
+
225
+ 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); }
226
+
227
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
228
+
229
+
230
+
231
+
232
+
233
+
234
+
235
+ /**
236
+ * OffCanvas module.
237
+ * @module foundation.offcanvas
238
+ * @requires foundation.util.keyboard
239
+ * @requires foundation.util.mediaQuery
240
+ * @requires foundation.util.triggers
241
+ */
242
+
243
+ var OffCanvas =
244
+ /*#__PURE__*/
245
+ function (_Plugin) {
246
+ _inherits(OffCanvas, _Plugin);
247
+
248
+ function OffCanvas() {
249
+ _classCallCheck(this, OffCanvas);
250
+
251
+ return _possibleConstructorReturn(this, _getPrototypeOf(OffCanvas).apply(this, arguments));
252
+ }
253
+
254
+ _createClass(OffCanvas, [{
255
+ key: "_setup",
256
+
257
+ /**
258
+ * Creates a new instance of an off-canvas wrapper.
259
+ * @class
260
+ * @name OffCanvas
261
+ * @fires OffCanvas#init
262
+ * @param {Object} element - jQuery object to initialize.
263
+ * @param {Object} options - Overrides to the default plugin settings.
264
+ */
265
+ value: function _setup(element, options) {
266
+ var _this2 = this;
267
+
268
+ this.className = 'OffCanvas'; // ie9 back compat
269
+
270
+ this.$element = element;
271
+ this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, OffCanvas.defaults, this.$element.data(), options);
272
+ this.contentClasses = {
273
+ base: [],
274
+ reveal: []
275
+ };
276
+ this.$lastTrigger = jquery__WEBPACK_IMPORTED_MODULE_0___default()();
277
+ this.$triggers = jquery__WEBPACK_IMPORTED_MODULE_0___default()();
278
+ this.position = 'left';
279
+ this.$content = jquery__WEBPACK_IMPORTED_MODULE_0___default()();
280
+ this.nested = !!this.options.nested; // Defines the CSS transition/position classes of the off-canvas content container.
281
+
282
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(['push', 'overlap']).each(function (index, val) {
283
+ _this2.contentClasses.base.push('has-transition-' + val);
284
+ });
285
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(['left', 'right', 'top', 'bottom']).each(function (index, val) {
286
+ _this2.contentClasses.base.push('has-position-' + val);
287
+
288
+ _this2.contentClasses.reveal.push('has-reveal-' + val);
289
+ }); // Triggers init is idempotent, just need to make sure it is initialized
290
+
291
+ _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_5__["Triggers"].init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);
292
+
293
+ _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__["MediaQuery"]._init();
294
+
295
+ this._init();
296
+
297
+ this._events();
298
+
299
+ _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__["Keyboard"].register('OffCanvas', {
300
+ 'ESCAPE': 'close'
301
+ });
302
+ }
303
+ /**
304
+ * Initializes the off-canvas wrapper by adding the exit overlay (if needed).
305
+ * @function
306
+ * @private
307
+ */
308
+
309
+ }, {
310
+ key: "_init",
311
+ value: function _init() {
312
+ var id = this.$element.attr('id');
313
+ this.$element.attr('aria-hidden', 'true'); // Find off-canvas content, either by ID (if specified), by siblings or by closest selector (fallback)
314
+
315
+ if (this.options.contentId) {
316
+ this.$content = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#' + this.options.contentId);
317
+ } else if (this.$element.siblings('[data-off-canvas-content]').length) {
318
+ this.$content = this.$element.siblings('[data-off-canvas-content]').first();
319
+ } else {
320
+ this.$content = this.$element.closest('[data-off-canvas-content]').first();
321
+ }
322
+
323
+ if (!this.options.contentId) {
324
+ // Assume that the off-canvas element is nested if it isn't a sibling of the content
325
+ this.nested = this.$element.siblings('[data-off-canvas-content]').length === 0;
326
+ } else if (this.options.contentId && this.options.nested === null) {
327
+ // Warning if using content ID without setting the nested option
328
+ // Once the element is nested it is required to work properly in this case
329
+ console.warn('Remember to use the nested option if using the content ID option!');
330
+ }
331
+
332
+ if (this.nested === true) {
333
+ // Force transition overlap if nested
334
+ this.options.transition = 'overlap'; // Remove appropriate classes if already assigned in markup
335
+
336
+ this.$element.removeClass('is-transition-push');
337
+ }
338
+
339
+ this.$element.addClass("is-transition-".concat(this.options.transition, " is-closed")); // Find triggers that affect this element and add aria-expanded to them
340
+
341
+ this.$triggers = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).find('[data-open="' + id + '"], [data-close="' + id + '"], [data-toggle="' + id + '"]').attr('aria-expanded', 'false').attr('aria-controls', id); // Get position by checking for related CSS class
342
+
343
+ this.position = this.$element.is('.position-left, .position-top, .position-right, .position-bottom') ? this.$element.attr('class').match(/position\-(left|top|right|bottom)/)[1] : this.position; // Add an overlay over the content if necessary
344
+
345
+ if (this.options.contentOverlay === true) {
346
+ var overlay = document.createElement('div');
347
+ var overlayPosition = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.$element).css("position") === 'fixed' ? 'is-overlay-fixed' : 'is-overlay-absolute';
348
+ overlay.setAttribute('class', 'js-off-canvas-overlay ' + overlayPosition);
349
+ this.$overlay = jquery__WEBPACK_IMPORTED_MODULE_0___default()(overlay);
350
+
351
+ if (overlayPosition === 'is-overlay-fixed') {
352
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.$overlay).insertAfter(this.$element);
353
+ } else {
354
+ this.$content.append(this.$overlay);
355
+ }
356
+ } // Get the revealOn option from the class.
357
+
358
+
359
+ var revealOnRegExp = new RegExp(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__["RegExpEscape"])(this.options.revealClass) + '([^\\s]+)', 'g');
360
+ var revealOnClass = revealOnRegExp.exec(this.$element[0].className);
361
+
362
+ if (revealOnClass) {
363
+ this.options.isRevealed = true;
364
+ this.options.revealOn = this.options.revealOn || revealOnClass[1];
365
+ } // Ensure the `reveal-on-*` class is set.
366
+
367
+
368
+ if (this.options.isRevealed === true && this.options.revealOn) {
369
+ this.$element.first().addClass("".concat(this.options.revealClass).concat(this.options.revealOn));
370
+
371
+ this._setMQChecker();
372
+ }
373
+
374
+ if (this.options.transitionTime) {
375
+ this.$element.css('transition-duration', this.options.transitionTime);
376
+ } // Initally remove all transition/position CSS classes from off-canvas content container.
377
+
378
+
379
+ this._removeContentClasses();
380
+ }
381
+ /**
382
+ * Adds event handlers to the off-canvas wrapper and the exit overlay.
383
+ * @function
384
+ * @private
385
+ */
386
+
387
+ }, {
388
+ key: "_events",
389
+ value: function _events() {
390
+ this.$element.off('.zf.trigger .zf.offcanvas').on({
391
+ 'open.zf.trigger': this.open.bind(this),
392
+ 'close.zf.trigger': this.close.bind(this),
393
+ 'toggle.zf.trigger': this.toggle.bind(this),
394
+ 'keydown.zf.offcanvas': this._handleKeyboard.bind(this)
395
+ });
396
+
397
+ if (this.options.closeOnClick === true) {
398
+ var $target = this.options.contentOverlay ? this.$overlay : this.$content;
399
+ $target.on({
400
+ 'click.zf.offcanvas': this.close.bind(this)
401
+ });
402
+ }
403
+ }
404
+ /**
405
+ * Applies event listener for elements that will reveal at certain breakpoints.
406
+ * @private
407
+ */
408
+
409
+ }, {
410
+ key: "_setMQChecker",
411
+ value: function _setMQChecker() {
412
+ var _this = this;
413
+
414
+ this.onLoadListener = Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__["onLoad"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {
415
+ if (_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__["MediaQuery"].atLeast(_this.options.revealOn)) {
416
+ _this.reveal(true);
417
+ }
418
+ });
419
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', function () {
420
+ if (_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__["MediaQuery"].atLeast(_this.options.revealOn)) {
421
+ _this.reveal(true);
422
+ } else {
423
+ _this.reveal(false);
424
+ }
425
+ });
426
+ }
427
+ /**
428
+ * Removes the CSS transition/position classes of the off-canvas content container.
429
+ * Removing the classes is important when another off-canvas gets opened that uses the same content container.
430
+ * @param {Boolean} hasReveal - true if related off-canvas element is revealed.
431
+ * @private
432
+ */
433
+
434
+ }, {
435
+ key: "_removeContentClasses",
436
+ value: function _removeContentClasses(hasReveal) {
437
+ if (typeof hasReveal !== 'boolean') {
438
+ this.$content.removeClass(this.contentClasses.base.join(' '));
439
+ } else if (hasReveal === false) {
440
+ this.$content.removeClass("has-reveal-".concat(this.position));
441
+ }
442
+ }
443
+ /**
444
+ * Adds the CSS transition/position classes of the off-canvas content container, based on the opening off-canvas element.
445
+ * Beforehand any transition/position class gets removed.
446
+ * @param {Boolean} hasReveal - true if related off-canvas element is revealed.
447
+ * @private
448
+ */
449
+
450
+ }, {
451
+ key: "_addContentClasses",
452
+ value: function _addContentClasses(hasReveal) {
453
+ this._removeContentClasses(hasReveal);
454
+
455
+ if (typeof hasReveal !== 'boolean') {
456
+ this.$content.addClass("has-transition-".concat(this.options.transition, " has-position-").concat(this.position));
457
+ } else if (hasReveal === true) {
458
+ this.$content.addClass("has-reveal-".concat(this.position));
459
+ }
460
+ }
461
+ /**
462
+ * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.
463
+ * @param {Boolean} isRevealed - true if element should be revealed.
464
+ * @function
465
+ */
466
+
467
+ }, {
468
+ key: "reveal",
469
+ value: function reveal(isRevealed) {
470
+ if (isRevealed) {
471
+ this.close();
472
+ this.isRevealed = true;
473
+ this.$element.attr('aria-hidden', 'false');
474
+ this.$element.off('open.zf.trigger toggle.zf.trigger');
475
+ this.$element.removeClass('is-closed');
476
+ } else {
477
+ this.isRevealed = false;
478
+ this.$element.attr('aria-hidden', 'true');
479
+ this.$element.off('open.zf.trigger toggle.zf.trigger').on({
480
+ 'open.zf.trigger': this.open.bind(this),
481
+ 'toggle.zf.trigger': this.toggle.bind(this)
482
+ });
483
+ this.$element.addClass('is-closed');
484
+ }
485
+
486
+ this._addContentClasses(isRevealed);
487
+ }
488
+ /**
489
+ * Stops scrolling of the body when offcanvas is open on mobile Safari and other troublesome browsers.
490
+ * @private
491
+ */
492
+
493
+ }, {
494
+ key: "_stopScrolling",
495
+ value: function _stopScrolling(event) {
496
+ return false;
497
+ } // Taken and adapted from http://stackoverflow.com/questions/16889447/prevent-full-page-scrolling-ios
498
+ // Only really works for y, not sure how to extend to x or if we need to.
499
+
500
+ }, {
501
+ key: "_recordScrollable",
502
+ value: function _recordScrollable(event) {
503
+ var elem = this; // called from event handler context with this as elem
504
+ // If the element is scrollable (content overflows), then...
505
+
506
+ if (elem.scrollHeight !== elem.clientHeight) {
507
+ // If we're at the top, scroll down one pixel to allow scrolling up
508
+ if (elem.scrollTop === 0) {
509
+ elem.scrollTop = 1;
510
+ } // If we're at the bottom, scroll up one pixel to allow scrolling down
511
+
512
+
513
+ if (elem.scrollTop === elem.scrollHeight - elem.clientHeight) {
514
+ elem.scrollTop = elem.scrollHeight - elem.clientHeight - 1;
515
+ }
516
+ }
517
+
518
+ elem.allowUp = elem.scrollTop > 0;
519
+ elem.allowDown = elem.scrollTop < elem.scrollHeight - elem.clientHeight;
520
+ elem.lastY = event.originalEvent.pageY;
521
+ }
522
+ }, {
523
+ key: "_stopScrollPropagation",
524
+ value: function _stopScrollPropagation(event) {
525
+ var elem = this; // called from event handler context with this as elem
526
+
527
+ var up = event.pageY < elem.lastY;
528
+ var down = !up;
529
+ elem.lastY = event.pageY;
530
+
531
+ if (up && elem.allowUp || down && elem.allowDown) {
532
+ event.stopPropagation();
533
+ } else {
534
+ event.preventDefault();
535
+ }
536
+ }
537
+ /**
538
+ * Opens the off-canvas menu.
539
+ * @function
540
+ * @param {Object} event - Event object passed from listener.
541
+ * @param {jQuery} trigger - element that triggered the off-canvas to open.
542
+ * @fires Offcanvas#opened
543
+ * @todo also trigger 'open' event?
544
+ */
545
+
546
+ }, {
547
+ key: "open",
548
+ value: function open(event, trigger) {
549
+ if (this.$element.hasClass('is-open') || this.isRevealed) {
550
+ return;
551
+ }
552
+
553
+ var _this = this;
554
+
555
+ if (trigger) {
556
+ this.$lastTrigger = trigger;
557
+ }
558
+
559
+ if (this.options.forceTo === 'top') {
560
+ window.scrollTo(0, 0);
561
+ } else if (this.options.forceTo === 'bottom') {
562
+ window.scrollTo(0, document.body.scrollHeight);
563
+ }
564
+
565
+ if (this.options.transitionTime && this.options.transition !== 'overlap') {
566
+ this.$element.siblings('[data-off-canvas-content]').css('transition-duration', this.options.transitionTime);
567
+ } else {
568
+ this.$element.siblings('[data-off-canvas-content]').css('transition-duration', '');
569
+ }
570
+
571
+ this.$element.addClass('is-open').removeClass('is-closed');
572
+ this.$triggers.attr('aria-expanded', 'true');
573
+ this.$element.attr('aria-hidden', 'false');
574
+ this.$content.addClass('is-open-' + this.position); // If `contentScroll` is set to false, add class and disable scrolling on touch devices.
575
+
576
+ if (this.options.contentScroll === false) {
577
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling);
578
+ this.$element.on('touchstart', this._recordScrollable);
579
+ this.$element.on('touchmove', this._stopScrollPropagation);
580
+ }
581
+
582
+ if (this.options.contentOverlay === true) {
583
+ this.$overlay.addClass('is-visible');
584
+ }
585
+
586
+ if (this.options.closeOnClick === true && this.options.contentOverlay === true) {
587
+ this.$overlay.addClass('is-closable');
588
+ }
589
+
590
+ if (this.options.autoFocus === true) {
591
+ this.$element.one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__["transitionend"])(this.$element), function () {
592
+ if (!_this.$element.hasClass('is-open')) {
593
+ return; // exit if prematurely closed
594
+ }
595
+
596
+ var canvasFocus = _this.$element.find('[data-autofocus]');
597
+
598
+ if (canvasFocus.length) {
599
+ canvasFocus.eq(0).focus();
600
+ } else {
601
+ _this.$element.find('a, button').eq(0).focus();
602
+ }
603
+ });
604
+ }
605
+
606
+ if (this.options.trapFocus === true) {
607
+ this.$content.attr('tabindex', '-1');
608
+ _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__["Keyboard"].trapFocus(this.$element);
609
+ }
610
+
611
+ this._addContentClasses();
612
+ /**
613
+ * Fires when the off-canvas menu opens.
614
+ * @event Offcanvas#opened
615
+ */
616
+
617
+
618
+ this.$element.trigger('opened.zf.offcanvas');
619
+ }
620
+ /**
621
+ * Closes the off-canvas menu.
622
+ * @function
623
+ * @param {Function} cb - optional cb to fire after closure.
624
+ * @fires Offcanvas#closed
625
+ */
626
+
627
+ }, {
628
+ key: "close",
629
+ value: function close(cb) {
630
+ if (!this.$element.hasClass('is-open') || this.isRevealed) {
631
+ return;
632
+ }
633
+
634
+ var _this = this;
635
+
636
+ this.$element.removeClass('is-open');
637
+ this.$element.attr('aria-hidden', 'true')
638
+ /**
639
+ * Fires when the off-canvas menu opens.
640
+ * @event Offcanvas#closed
641
+ */
642
+ .trigger('closed.zf.offcanvas');
643
+ this.$content.removeClass('is-open-left is-open-top is-open-right is-open-bottom'); // If `contentScroll` is set to false, remove class and re-enable scrolling on touch devices.
644
+
645
+ if (this.options.contentScroll === false) {
646
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').removeClass('is-off-canvas-open').off('touchmove', this._stopScrolling);
647
+ this.$element.off('touchstart', this._recordScrollable);
648
+ this.$element.off('touchmove', this._stopScrollPropagation);
649
+ }
650
+
651
+ if (this.options.contentOverlay === true) {
652
+ this.$overlay.removeClass('is-visible');
653
+ }
654
+
655
+ if (this.options.closeOnClick === true && this.options.contentOverlay === true) {
656
+ this.$overlay.removeClass('is-closable');
657
+ }
658
+
659
+ this.$triggers.attr('aria-expanded', 'false');
660
+
661
+ if (this.options.trapFocus === true) {
662
+ this.$content.removeAttr('tabindex');
663
+ _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__["Keyboard"].releaseFocus(this.$element);
664
+ } // Listen to transitionEnd and add class when done.
665
+
666
+
667
+ this.$element.one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__["transitionend"])(this.$element), function (e) {
668
+ _this.$element.addClass('is-closed');
669
+
670
+ _this._removeContentClasses();
671
+ });
672
+ }
673
+ /**
674
+ * Toggles the off-canvas menu open or closed.
675
+ * @function
676
+ * @param {Object} event - Event object passed from listener.
677
+ * @param {jQuery} trigger - element that triggered the off-canvas to open.
678
+ */
679
+
680
+ }, {
681
+ key: "toggle",
682
+ value: function toggle(event, trigger) {
683
+ if (this.$element.hasClass('is-open')) {
684
+ this.close(event, trigger);
685
+ } else {
686
+ this.open(event, trigger);
687
+ }
688
+ }
689
+ /**
690
+ * Handles keyboard input when detected. When the escape key is pressed, the off-canvas menu closes, and focus is restored to the element that opened the menu.
691
+ * @function
692
+ * @private
693
+ */
694
+
695
+ }, {
696
+ key: "_handleKeyboard",
697
+ value: function _handleKeyboard(e) {
698
+ var _this3 = this;
699
+
700
+ _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__["Keyboard"].handleKey(e, 'OffCanvas', {
701
+ close: function close() {
702
+ _this3.close();
703
+
704
+ _this3.$lastTrigger.focus();
705
+
706
+ return true;
707
+ },
708
+ handled: function handled() {
709
+ e.stopPropagation();
710
+ e.preventDefault();
711
+ }
712
+ });
713
+ }
714
+ /**
715
+ * Destroys the offcanvas plugin.
716
+ * @function
717
+ */
718
+
719
+ }, {
720
+ key: "_destroy",
721
+ value: function _destroy() {
722
+ this.close();
723
+ this.$element.off('.zf.trigger .zf.offcanvas');
724
+ this.$overlay.off('.zf.offcanvas');
725
+ if (this.onLoadListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener);
726
+ }
727
+ }]);
728
+
729
+ return OffCanvas;
730
+ }(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_4__["Plugin"]);
731
+
732
+ OffCanvas.defaults = {
733
+ /**
734
+ * Allow the user to click outside of the menu to close it.
735
+ * @option
736
+ * @type {boolean}
737
+ * @default true
738
+ */
739
+ closeOnClick: true,
740
+
741
+ /**
742
+ * Adds an overlay on top of `[data-off-canvas-content]`.
743
+ * @option
744
+ * @type {boolean}
745
+ * @default true
746
+ */
747
+ contentOverlay: true,
748
+
749
+ /**
750
+ * Target an off-canvas content container by ID that may be placed anywhere. If null the closest content container will be taken.
751
+ * @option
752
+ * @type {?string}
753
+ * @default null
754
+ */
755
+ contentId: null,
756
+
757
+ /**
758
+ * Define the off-canvas element is nested in an off-canvas content. This is required when using the contentId option for a nested element.
759
+ * @option
760
+ * @type {boolean}
761
+ * @default null
762
+ */
763
+ nested: null,
764
+
765
+ /**
766
+ * Enable/disable scrolling of the main content when an off canvas panel is open.
767
+ * @option
768
+ * @type {boolean}
769
+ * @default true
770
+ */
771
+ contentScroll: true,
772
+
773
+ /**
774
+ * Amount of time in ms the open and close transition requires. If none selected, pulls from body style.
775
+ * @option
776
+ * @type {number}
777
+ * @default null
778
+ */
779
+ transitionTime: null,
780
+
781
+ /**
782
+ * Type of transition for the offcanvas menu. Options are 'push', 'detached' or 'slide'.
783
+ * @option
784
+ * @type {string}
785
+ * @default push
786
+ */
787
+ transition: 'push',
788
+
789
+ /**
790
+ * Force the page to scroll to top or bottom on open.
791
+ * @option
792
+ * @type {?string}
793
+ * @default null
794
+ */
795
+ forceTo: null,
796
+
797
+ /**
798
+ * Allow the offcanvas to remain open for certain breakpoints.
799
+ * @option
800
+ * @type {boolean}
801
+ * @default false
802
+ */
803
+ isRevealed: false,
804
+
805
+ /**
806
+ * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option.
807
+ * @option
808
+ * @type {?string}
809
+ * @default null
810
+ */
811
+ revealOn: null,
812
+
813
+ /**
814
+ * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.
815
+ * @option
816
+ * @type {boolean}
817
+ * @default true
818
+ */
819
+ autoFocus: true,
820
+
821
+ /**
822
+ * Class used to force an offcanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.
823
+ * @option
824
+ * @type {string}
825
+ * @default reveal-for-
826
+ * @todo improve the regex testing for this.
827
+ */
828
+ revealClass: 'reveal-for-',
829
+
830
+ /**
831
+ * Triggers optional focus trapping when opening an offcanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.
832
+ * @option
833
+ * @type {boolean}
834
+ * @default false
835
+ */
836
+ trapFocus: false
837
+ };
838
+
839
+
840
+ /***/ }),
841
+
842
+ /***/ "./js/foundation.util.triggers.js":
843
+ /*!****************************************!*\
844
+ !*** ./js/foundation.util.triggers.js ***!
845
+ \****************************************/
846
+ /*! exports provided: Triggers */
847
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
848
+
849
+ "use strict";
850
+ __webpack_require__.r(__webpack_exports__);
851
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Triggers", function() { return Triggers; });
852
+ /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");
853
+ /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
854
+ /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ "./foundation.core.utils");
855
+ /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__);
856
+ /* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.motion */ "./foundation.util.motion");
857
+ /* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__);
858
+
859
+
860
+ 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); }
861
+
862
+
863
+
864
+
865
+
866
+ var MutationObserver = function () {
867
+ var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
868
+
869
+ for (var i = 0; i < prefixes.length; i++) {
870
+ if ("".concat(prefixes[i], "MutationObserver") in window) {
871
+ return window["".concat(prefixes[i], "MutationObserver")];
872
+ }
873
+ }
874
+
875
+ return false;
876
+ }();
877
+
878
+ var triggers = function triggers(el, type) {
879
+ el.data(type).split(' ').forEach(function (id) {
880
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(id))[type === 'close' ? 'trigger' : 'triggerHandler']("".concat(type, ".zf.trigger"), [el]);
881
+ });
882
+ };
883
+
884
+ var Triggers = {
885
+ Listeners: {
886
+ Basic: {},
887
+ Global: {}
888
+ },
889
+ Initializers: {}
890
+ };
891
+ Triggers.Listeners.Basic = {
892
+ openListener: function openListener() {
893
+ triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'open');
894
+ },
895
+ closeListener: function closeListener() {
896
+ var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('close');
897
+
898
+ if (id) {
899
+ triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'close');
900
+ } else {
901
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('close.zf.trigger');
902
+ }
903
+ },
904
+ toggleListener: function toggleListener() {
905
+ var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle');
906
+
907
+ if (id) {
908
+ triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'toggle');
909
+ } else {
910
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('toggle.zf.trigger');
911
+ }
912
+ },
913
+ closeableListener: function closeableListener(e) {
914
+ e.stopPropagation();
915
+ var animation = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('closable');
916
+
917
+ if (animation !== '') {
918
+ _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__["Motion"].animateOut(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), animation, function () {
919
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('closed.zf');
920
+ });
921
+ } else {
922
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).fadeOut().trigger('closed.zf');
923
+ }
924
+ },
925
+ toggleFocusListener: function toggleFocusListener() {
926
+ var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle-focus');
927
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(id)).triggerHandler('toggle.zf.trigger', [jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)]);
928
+ }
929
+ }; // Elements with [data-open] will reveal a plugin that supports it when clicked.
930
+
931
+ Triggers.Initializers.addOpenListener = function ($elem) {
932
+ $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);
933
+ $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);
934
+ }; // Elements with [data-close] will close a plugin that supports it when clicked.
935
+ // If used without a value on [data-close], the event will bubble, allowing it to close a parent component.
936
+
937
+
938
+ Triggers.Initializers.addCloseListener = function ($elem) {
939
+ $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);
940
+ $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);
941
+ }; // Elements with [data-toggle] will toggle a plugin that supports it when clicked.
942
+
943
+
944
+ Triggers.Initializers.addToggleListener = function ($elem) {
945
+ $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);
946
+ $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);
947
+ }; // Elements with [data-closable] will respond to close.zf.trigger events.
948
+
949
+
950
+ Triggers.Initializers.addCloseableListener = function ($elem) {
951
+ $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);
952
+ $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);
953
+ }; // Elements with [data-toggle-focus] will respond to coming in and out of focus
954
+
955
+
956
+ Triggers.Initializers.addToggleFocusListener = function ($elem) {
957
+ $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);
958
+ $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);
959
+ }; // More Global/complex listeners and triggers
960
+
961
+
962
+ Triggers.Listeners.Global = {
963
+ resizeListener: function resizeListener($nodes) {
964
+ if (!MutationObserver) {
965
+ //fallback for IE 9
966
+ $nodes.each(function () {
967
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('resizeme.zf.trigger');
968
+ });
969
+ } //trigger all listening elements and signal a resize event
970
+
971
+
972
+ $nodes.attr('data-events', "resize");
973
+ },
974
+ scrollListener: function scrollListener($nodes) {
975
+ if (!MutationObserver) {
976
+ //fallback for IE 9
977
+ $nodes.each(function () {
978
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('scrollme.zf.trigger');
979
+ });
980
+ } //trigger all listening elements and signal a scroll event
981
+
982
+
983
+ $nodes.attr('data-events', "scroll");
984
+ },
985
+ closeMeListener: function closeMeListener(e, pluginId) {
986
+ var plugin = e.namespace.split('.')[0];
987
+ var plugins = jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-".concat(plugin, "]")).not("[data-yeti-box=\"".concat(pluginId, "\"]"));
988
+ plugins.each(function () {
989
+ var _this = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);
990
+
991
+ _this.triggerHandler('close.zf.trigger', [_this]);
992
+ });
993
+ } // Global, parses whole document.
994
+
995
+ };
996
+
997
+ Triggers.Initializers.addClosemeListener = function (pluginName) {
998
+ var yetiBoxes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-yeti-box]'),
999
+ plugNames = ['dropdown', 'tooltip', 'reveal'];
1000
+
1001
+ if (pluginName) {
1002
+ if (typeof pluginName === 'string') {
1003
+ plugNames.push(pluginName);
1004
+ } else if (_typeof(pluginName) === 'object' && typeof pluginName[0] === 'string') {
1005
+ plugNames.concat(pluginName);
1006
+ } else {
1007
+ console.error('Plugin names must be strings');
1008
+ }
1009
+ }
1010
+
1011
+ if (yetiBoxes.length) {
1012
+ var listeners = plugNames.map(function (name) {
1013
+ return "closeme.zf.".concat(name);
1014
+ }).join(' ');
1015
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);
1016
+ }
1017
+ };
1018
+
1019
+ function debounceGlobalListener(debounce, trigger, listener) {
1020
+ var timer,
1021
+ args = Array.prototype.slice.call(arguments, 3);
1022
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(trigger).on(trigger, function (e) {
1023
+ if (timer) {
1024
+ clearTimeout(timer);
1025
+ }
1026
+
1027
+ timer = setTimeout(function () {
1028
+ listener.apply(null, args);
1029
+ }, debounce || 10); //default time to emit scroll event
1030
+ });
1031
+ }
1032
+
1033
+ Triggers.Initializers.addResizeListener = function (debounce) {
1034
+ var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-resize]');
1035
+
1036
+ if ($nodes.length) {
1037
+ debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);
1038
+ }
1039
+ };
1040
+
1041
+ Triggers.Initializers.addScrollListener = function (debounce) {
1042
+ var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-scroll]');
1043
+
1044
+ if ($nodes.length) {
1045
+ debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);
1046
+ }
1047
+ };
1048
+
1049
+ Triggers.Initializers.addMutationEventsListener = function ($elem) {
1050
+ if (!MutationObserver) {
1051
+ return false;
1052
+ }
1053
+
1054
+ var $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]'); //element callback
1055
+
1056
+ var listeningElementsMutation = function listeningElementsMutation(mutationRecordsList) {
1057
+ var $target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(mutationRecordsList[0].target); //trigger the event handler for the element depending on type
1058
+
1059
+ switch (mutationRecordsList[0].type) {
1060
+ case "attributes":
1061
+ if ($target.attr("data-events") === "scroll" && mutationRecordsList[0].attributeName === "data-events") {
1062
+ $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);
1063
+ }
1064
+
1065
+ if ($target.attr("data-events") === "resize" && mutationRecordsList[0].attributeName === "data-events") {
1066
+ $target.triggerHandler('resizeme.zf.trigger', [$target]);
1067
+ }
1068
+
1069
+ if (mutationRecordsList[0].attributeName === "style") {
1070
+ $target.closest("[data-mutate]").attr("data-events", "mutate");
1071
+ $target.closest("[data-mutate]").triggerHandler('mutateme.zf.trigger', [$target.closest("[data-mutate]")]);
1072
+ }
1073
+
1074
+ break;
1075
+
1076
+ case "childList":
1077
+ $target.closest("[data-mutate]").attr("data-events", "mutate");
1078
+ $target.closest("[data-mutate]").triggerHandler('mutateme.zf.trigger', [$target.closest("[data-mutate]")]);
1079
+ break;
1080
+
1081
+ default:
1082
+ return false;
1083
+ //nothing
1084
+ }
1085
+ };
1086
+
1087
+ if ($nodes.length) {
1088
+ //for each element that needs to listen for resizing, scrolling, or mutation add a single observer
1089
+ for (var i = 0; i <= $nodes.length - 1; i++) {
1090
+ var elementObserver = new MutationObserver(listeningElementsMutation);
1091
+ elementObserver.observe($nodes[i], {
1092
+ attributes: true,
1093
+ childList: true,
1094
+ characterData: false,
1095
+ subtree: true,
1096
+ attributeFilter: ["data-events", "style"]
1097
+ });
1098
+ }
1099
+ }
1100
+ };
1101
+
1102
+ Triggers.Initializers.addSimpleListeners = function () {
1103
+ var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document);
1104
+ Triggers.Initializers.addOpenListener($document);
1105
+ Triggers.Initializers.addCloseListener($document);
1106
+ Triggers.Initializers.addToggleListener($document);
1107
+ Triggers.Initializers.addCloseableListener($document);
1108
+ Triggers.Initializers.addToggleFocusListener($document);
1109
+ };
1110
+
1111
+ Triggers.Initializers.addGlobalListeners = function () {
1112
+ var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document);
1113
+ Triggers.Initializers.addMutationEventsListener($document);
1114
+ Triggers.Initializers.addResizeListener();
1115
+ Triggers.Initializers.addScrollListener();
1116
+ Triggers.Initializers.addClosemeListener();
1117
+ };
1118
+
1119
+ Triggers.init = function ($, Foundation) {
1120
+ Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__["onLoad"])($(window), function () {
1121
+ if ($.triggersInitialized !== true) {
1122
+ Triggers.Initializers.addSimpleListeners();
1123
+ Triggers.Initializers.addGlobalListeners();
1124
+ $.triggersInitialized = true;
1125
+ }
1126
+ });
1127
+
1128
+ if (Foundation) {
1129
+ Foundation.Triggers = Triggers; // Legacy included to be backwards compatible for now.
1130
+
1131
+ Foundation.IHearYou = Triggers.Initializers.addGlobalListeners;
1132
+ }
1133
+ };
1134
+
1135
+
1136
+
1137
+ /***/ }),
1138
+
1139
+ /***/ 9:
1140
+ /*!**********************************************************!*\
1141
+ !*** multi ./js/entries/plugins/foundation.offcanvas.js ***!
1142
+ \**********************************************************/
1143
+ /*! no static exports found */
1144
+ /***/ (function(module, exports, __webpack_require__) {
1145
+
1146
+ module.exports = __webpack_require__(/*! /Users/ncoden/Documents/Documents/Projects/Programmation/Web/2016/Foundation/foundation-sites/js/entries/plugins/foundation.offcanvas.js */"./js/entries/plugins/foundation.offcanvas.js");
1147
+
1148
+
1149
+ /***/ }),
1150
+
1151
+ /***/ "jquery":
1152
+ /*!********************************************************************************************!*\
1153
+ !*** external {"root":["jQuery"],"amd":"jquery","commonjs":"jquery","commonjs2":"jquery"} ***!
1154
+ \********************************************************************************************/
1155
+ /*! no static exports found */
1156
+ /***/ (function(module, exports) {
1157
+
1158
+ module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;
1159
+
1160
+ /***/ })
1161
+
1162
+ /******/ });
1163
+ });
1164
+ //# sourceMappingURL=foundation.offcanvas.js.map