foundation-rails 6.4.3.0 → 6.5.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (268) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -1
  3. data/.ruby-version +1 -1
  4. data/.travis.yml +14 -3
  5. data/Appraisals +19 -0
  6. data/Gemfile +5 -2
  7. data/Gemfile.lock +193 -0
  8. data/README.md +53 -24
  9. data/Rakefile +11 -12
  10. data/bower.json +3 -3
  11. data/foundation-rails.gemspec +5 -5
  12. data/gemfiles/rails_4.1.gemfile +10 -0
  13. data/gemfiles/rails_4.1.gemfile.lock +178 -0
  14. data/gemfiles/rails_4.2.gemfile +10 -0
  15. data/gemfiles/rails_4.2.gemfile.lock +178 -0
  16. data/gemfiles/rails_5.0.gemfile +10 -0
  17. data/gemfiles/rails_5.0.gemfile.lock +193 -0
  18. data/gemfiles/rails_5.1.gemfile +10 -0
  19. data/gemfiles/rails_5.1.gemfile.lock +193 -0
  20. data/gemfiles/rails_5.2.gemfile +10 -0
  21. data/gemfiles/rails_5.2.gemfile.lock +193 -0
  22. data/lib/foundation/rails/version.rb +1 -1
  23. data/lib/generators/foundation/install_generator.rb +1 -1
  24. data/lib/generators/foundation/templates/_settings.scss +5 -5
  25. data/spec/support/helpers.rb +1 -1
  26. data/vendor/assets/js/foundation.cjs.js +11795 -0
  27. data/vendor/assets/js/foundation.cjs.js.map +1 -0
  28. data/vendor/assets/js/foundation.es6.js +10361 -0
  29. data/vendor/assets/js/foundation.es6.js.map +1 -0
  30. data/vendor/assets/js/foundation.esm.js +11756 -0
  31. data/vendor/assets/js/foundation.esm.js.map +1 -0
  32. data/vendor/assets/js/foundation.js +13214 -31
  33. data/vendor/assets/js/foundation.js.map +1 -0
  34. data/vendor/assets/js/foundation.min.js +2 -0
  35. data/vendor/assets/js/foundation.min.js.map +1 -0
  36. data/vendor/assets/js/foundation.sprockets.js +38 -0
  37. data/vendor/assets/js/{foundation.abide.js → plugins/foundation.abide.js} +317 -138
  38. data/vendor/assets/js/plugins/foundation.abide.js.map +1 -0
  39. data/vendor/assets/js/plugins/foundation.abide.min.js +2 -0
  40. data/vendor/assets/js/plugins/foundation.abide.min.js.map +1 -0
  41. data/vendor/assets/js/plugins/foundation.accordion.js +676 -0
  42. data/vendor/assets/js/plugins/foundation.accordion.js.map +1 -0
  43. data/vendor/assets/js/plugins/foundation.accordion.min.js +2 -0
  44. data/vendor/assets/js/plugins/foundation.accordion.min.js.map +1 -0
  45. data/vendor/assets/js/plugins/foundation.accordionMenu.js +637 -0
  46. data/vendor/assets/js/plugins/foundation.accordionMenu.js.map +1 -0
  47. data/vendor/assets/js/plugins/foundation.accordionMenu.min.js +2 -0
  48. data/vendor/assets/js/plugins/foundation.accordionMenu.min.js.map +1 -0
  49. data/vendor/assets/js/plugins/foundation.core.js +1072 -0
  50. data/vendor/assets/js/plugins/foundation.core.js.map +1 -0
  51. data/vendor/assets/js/plugins/foundation.core.min.js +2 -0
  52. data/vendor/assets/js/plugins/foundation.core.min.js.map +1 -0
  53. data/vendor/assets/js/plugins/foundation.drilldown.js +982 -0
  54. data/vendor/assets/js/plugins/foundation.drilldown.js.map +1 -0
  55. data/vendor/assets/js/plugins/foundation.drilldown.min.js +2 -0
  56. data/vendor/assets/js/plugins/foundation.drilldown.min.js.map +1 -0
  57. data/vendor/assets/js/plugins/foundation.dropdown.js +1324 -0
  58. data/vendor/assets/js/plugins/foundation.dropdown.js.map +1 -0
  59. data/vendor/assets/js/plugins/foundation.dropdown.min.js +2 -0
  60. data/vendor/assets/js/plugins/foundation.dropdown.min.js.map +1 -0
  61. data/vendor/assets/js/plugins/foundation.dropdownMenu.js +792 -0
  62. data/vendor/assets/js/plugins/foundation.dropdownMenu.js.map +1 -0
  63. data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js +2 -0
  64. data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js.map +1 -0
  65. data/vendor/assets/js/plugins/foundation.equalizer.js +638 -0
  66. data/vendor/assets/js/plugins/foundation.equalizer.js.map +1 -0
  67. data/vendor/assets/js/plugins/foundation.equalizer.min.js +2 -0
  68. data/vendor/assets/js/plugins/foundation.equalizer.min.js.map +1 -0
  69. data/vendor/assets/js/plugins/foundation.interchange.js +471 -0
  70. data/vendor/assets/js/plugins/foundation.interchange.js.map +1 -0
  71. data/vendor/assets/js/plugins/foundation.interchange.min.js +2 -0
  72. data/vendor/assets/js/plugins/foundation.interchange.min.js.map +1 -0
  73. data/vendor/assets/js/plugins/foundation.magellan.js +551 -0
  74. data/vendor/assets/js/plugins/foundation.magellan.js.map +1 -0
  75. data/vendor/assets/js/plugins/foundation.magellan.min.js +2 -0
  76. data/vendor/assets/js/plugins/foundation.magellan.min.js.map +1 -0
  77. data/vendor/assets/js/plugins/foundation.offcanvas.js +1164 -0
  78. data/vendor/assets/js/plugins/foundation.offcanvas.js.map +1 -0
  79. data/vendor/assets/js/plugins/foundation.offcanvas.min.js +2 -0
  80. data/vendor/assets/js/plugins/foundation.offcanvas.min.js.map +1 -0
  81. data/vendor/assets/js/plugins/foundation.orbit.js +883 -0
  82. data/vendor/assets/js/plugins/foundation.orbit.js.map +1 -0
  83. data/vendor/assets/js/plugins/foundation.orbit.min.js +2 -0
  84. data/vendor/assets/js/plugins/foundation.orbit.min.js.map +1 -0
  85. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js +546 -0
  86. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js.map +1 -0
  87. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js +2 -0
  88. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js.map +1 -0
  89. data/vendor/assets/js/plugins/foundation.responsiveMenu.js +437 -0
  90. data/vendor/assets/js/plugins/foundation.responsiveMenu.js.map +1 -0
  91. data/vendor/assets/js/plugins/foundation.responsiveMenu.min.js +2 -0
  92. data/vendor/assets/js/plugins/foundation.responsiveMenu.min.js.map +1 -0
  93. data/vendor/assets/js/plugins/foundation.responsiveToggle.js +405 -0
  94. data/vendor/assets/js/plugins/foundation.responsiveToggle.js.map +1 -0
  95. data/vendor/assets/js/plugins/foundation.responsiveToggle.min.js +2 -0
  96. data/vendor/assets/js/plugins/foundation.responsiveToggle.min.js.map +1 -0
  97. data/vendor/assets/js/plugins/foundation.reveal.js +1278 -0
  98. data/vendor/assets/js/plugins/foundation.reveal.js.map +1 -0
  99. data/vendor/assets/js/plugins/foundation.reveal.min.js +2 -0
  100. data/vendor/assets/js/plugins/foundation.reveal.min.js.map +1 -0
  101. data/vendor/assets/js/{foundation.slider.js → plugins/foundation.slider.js} +405 -271
  102. data/vendor/assets/js/plugins/foundation.slider.js.map +1 -0
  103. data/vendor/assets/js/plugins/foundation.slider.min.js +2 -0
  104. data/vendor/assets/js/plugins/foundation.slider.min.js.map +1 -0
  105. data/vendor/assets/js/plugins/foundation.smoothScroll.js +382 -0
  106. data/vendor/assets/js/plugins/foundation.smoothScroll.js.map +1 -0
  107. data/vendor/assets/js/plugins/foundation.smoothScroll.min.js +2 -0
  108. data/vendor/assets/js/plugins/foundation.smoothScroll.min.js.map +1 -0
  109. data/vendor/assets/js/{foundation.sticky.js → plugins/foundation.sticky.js} +325 -203
  110. data/vendor/assets/js/plugins/foundation.sticky.js.map +1 -0
  111. data/vendor/assets/js/plugins/foundation.sticky.min.js +2 -0
  112. data/vendor/assets/js/plugins/foundation.sticky.min.js.map +1 -0
  113. data/vendor/assets/js/plugins/foundation.tabs.js +813 -0
  114. data/vendor/assets/js/plugins/foundation.tabs.js.map +1 -0
  115. data/vendor/assets/js/plugins/foundation.tabs.min.js +2 -0
  116. data/vendor/assets/js/plugins/foundation.tabs.min.js.map +1 -0
  117. data/vendor/assets/js/plugins/foundation.toggler.js +713 -0
  118. data/vendor/assets/js/plugins/foundation.toggler.js.map +1 -0
  119. data/vendor/assets/js/plugins/foundation.toggler.min.js +2 -0
  120. data/vendor/assets/js/plugins/foundation.toggler.min.js.map +1 -0
  121. data/vendor/assets/js/plugins/foundation.tooltip.js +1346 -0
  122. data/vendor/assets/js/plugins/foundation.tooltip.js.map +1 -0
  123. data/vendor/assets/js/plugins/foundation.tooltip.min.js +2 -0
  124. data/vendor/assets/js/plugins/foundation.tooltip.min.js.map +1 -0
  125. data/vendor/assets/js/{foundation.util.box.js → plugins/foundation.util.box.js} +136 -54
  126. data/vendor/assets/js/plugins/foundation.util.box.js.map +1 -0
  127. data/vendor/assets/js/plugins/foundation.util.box.min.js +2 -0
  128. data/vendor/assets/js/plugins/foundation.util.box.min.js.map +1 -0
  129. data/vendor/assets/js/plugins/foundation.util.imageLoader.js +218 -0
  130. data/vendor/assets/js/plugins/foundation.util.imageLoader.js.map +1 -0
  131. data/vendor/assets/js/plugins/foundation.util.imageLoader.min.js +2 -0
  132. data/vendor/assets/js/plugins/foundation.util.imageLoader.min.js.map +1 -0
  133. data/vendor/assets/js/plugins/foundation.util.keyboard.js +351 -0
  134. data/vendor/assets/js/plugins/foundation.util.keyboard.js.map +1 -0
  135. data/vendor/assets/js/plugins/foundation.util.keyboard.min.js +2 -0
  136. data/vendor/assets/js/plugins/foundation.util.keyboard.min.js.map +1 -0
  137. data/vendor/assets/js/plugins/foundation.util.mediaQuery.js +405 -0
  138. data/vendor/assets/js/plugins/foundation.util.mediaQuery.js.map +1 -0
  139. data/vendor/assets/js/plugins/foundation.util.mediaQuery.min.js +2 -0
  140. data/vendor/assets/js/plugins/foundation.util.mediaQuery.min.js.map +1 -0
  141. data/vendor/assets/js/plugins/foundation.util.motion.js +282 -0
  142. data/vendor/assets/js/plugins/foundation.util.motion.js.map +1 -0
  143. data/vendor/assets/js/plugins/foundation.util.motion.min.js +2 -0
  144. data/vendor/assets/js/plugins/foundation.util.motion.min.js.map +1 -0
  145. data/vendor/assets/js/plugins/foundation.util.nest.js +240 -0
  146. data/vendor/assets/js/plugins/foundation.util.nest.js.map +1 -0
  147. data/vendor/assets/js/plugins/foundation.util.nest.min.js +2 -0
  148. data/vendor/assets/js/plugins/foundation.util.nest.min.js.map +1 -0
  149. data/vendor/assets/js/plugins/foundation.util.timer.js +226 -0
  150. data/vendor/assets/js/plugins/foundation.util.timer.js.map +1 -0
  151. data/vendor/assets/js/plugins/foundation.util.timer.min.js +2 -0
  152. data/vendor/assets/js/plugins/foundation.util.timer.min.js.map +1 -0
  153. data/vendor/assets/js/plugins/foundation.util.touch.js +365 -0
  154. data/vendor/assets/js/plugins/foundation.util.touch.js.map +1 -0
  155. data/vendor/assets/js/plugins/foundation.util.touch.min.js +2 -0
  156. data/vendor/assets/js/plugins/foundation.util.touch.min.js.map +1 -0
  157. data/vendor/assets/js/plugins/foundation.util.triggers.js +480 -0
  158. data/vendor/assets/js/plugins/foundation.util.triggers.js.map +1 -0
  159. data/vendor/assets/js/plugins/foundation.util.triggers.min.js +2 -0
  160. data/vendor/assets/js/plugins/foundation.util.triggers.min.js.map +1 -0
  161. data/vendor/assets/scss/_global.scss +10 -15
  162. data/vendor/assets/scss/components/_accordion-menu.scss +6 -3
  163. data/vendor/assets/scss/components/_accordion.scss +1 -0
  164. data/vendor/assets/scss/components/_breadcrumbs.scss +8 -6
  165. data/vendor/assets/scss/components/_button-group.scss +27 -8
  166. data/vendor/assets/scss/components/_button.scss +36 -8
  167. data/vendor/assets/scss/components/_card.scss +2 -2
  168. data/vendor/assets/scss/components/_drilldown.scss +5 -6
  169. data/vendor/assets/scss/components/_dropdown-menu.scss +15 -10
  170. data/vendor/assets/scss/components/_dropdown.scss +7 -4
  171. data/vendor/assets/scss/components/_flex.scss +6 -4
  172. data/vendor/assets/scss/components/_media-object.scss +33 -33
  173. data/vendor/assets/scss/components/_menu.scss +0 -4
  174. data/vendor/assets/scss/components/_off-canvas.scss +4 -4
  175. data/vendor/assets/scss/components/_orbit.scss +1 -0
  176. data/vendor/assets/scss/components/_responsive-embed.scss +0 -13
  177. data/vendor/assets/scss/components/_reveal.scss +19 -14
  178. data/vendor/assets/scss/components/_table.scss +3 -6
  179. data/vendor/assets/scss/components/_tabs.scss +1 -4
  180. data/vendor/assets/scss/components/_thumbnail.scss +1 -1
  181. data/vendor/assets/scss/components/_visibility.scss +5 -2
  182. data/vendor/assets/scss/forms/_error.scss +1 -0
  183. data/vendor/assets/scss/forms/_input-group.scss +10 -10
  184. data/vendor/assets/scss/forms/_meter.scss +5 -5
  185. data/vendor/assets/scss/forms/_progress.scss +6 -6
  186. data/vendor/assets/scss/forms/_range.scss +5 -5
  187. data/vendor/assets/scss/forms/_text.scss +7 -7
  188. data/vendor/assets/scss/foundation.scss +74 -57
  189. data/vendor/assets/scss/grid/_column.scss +2 -6
  190. data/vendor/assets/scss/grid/_flex-grid.scss +1 -0
  191. data/vendor/assets/scss/grid/_gutter.scss +0 -15
  192. data/vendor/assets/scss/grid/_position.scss +28 -4
  193. data/vendor/assets/scss/motion-ui/_settings.scss +1 -0
  194. data/vendor/assets/scss/motion-ui/effects/_fade.scss +1 -4
  195. data/vendor/assets/scss/motion-ui/effects/_hinge.scss +4 -3
  196. data/vendor/assets/scss/motion-ui/effects/_shake.scss +1 -1
  197. data/vendor/assets/scss/motion-ui/effects/_slide.scss +4 -3
  198. data/vendor/assets/scss/motion-ui/effects/_spin.scss +4 -3
  199. data/vendor/assets/scss/motion-ui/effects/_wiggle.scss +1 -1
  200. data/vendor/assets/scss/motion-ui/effects/_zoom.scss +2 -2
  201. data/vendor/assets/scss/motion-ui/motion-ui.scss +2 -0
  202. data/vendor/assets/scss/motion-ui/transitions/_fade.scss +6 -4
  203. data/vendor/assets/scss/motion-ui/transitions/_hinge.scss +3 -2
  204. data/vendor/assets/scss/motion-ui/transitions/_slide.scss +3 -2
  205. data/vendor/assets/scss/motion-ui/transitions/_spin.scss +2 -1
  206. data/vendor/assets/scss/motion-ui/transitions/_zoom.scss +6 -4
  207. data/vendor/assets/scss/motion-ui/util/_animation.scss +1 -1
  208. data/vendor/assets/scss/motion-ui/util/_args.scss +2 -2
  209. data/vendor/assets/scss/motion-ui/util/_function.scss +94 -0
  210. data/vendor/assets/scss/motion-ui/util/_keyframe.scss +5 -5
  211. data/vendor/assets/scss/motion-ui/util/_series.scss +20 -17
  212. data/vendor/assets/scss/motion-ui/util/_string.scss +36 -0
  213. data/vendor/assets/scss/prototype/_relation.scss +1 -1
  214. data/vendor/assets/scss/prototype/_rounded.scss +3 -0
  215. data/vendor/assets/scss/prototype/_spacing.scss +94 -121
  216. data/vendor/assets/scss/settings/_settings.scss +5 -5
  217. data/vendor/assets/scss/typography/_base.scss +2 -2
  218. data/vendor/assets/scss/typography/_helpers.scss +1 -1
  219. data/vendor/assets/scss/typography/_print.scss +4 -0
  220. data/vendor/assets/scss/util/_breakpoint.scss +22 -10
  221. data/vendor/assets/scss/util/_color.scss +11 -1
  222. data/vendor/assets/scss/util/_direction.scss +1 -1
  223. data/vendor/assets/scss/util/_flex.scss +12 -7
  224. data/vendor/assets/scss/util/_mixins.scss +7 -3
  225. data/vendor/assets/scss/util/_unit.scss +3 -3
  226. data/vendor/assets/scss/vendor/normalize.scss +281 -0
  227. data/vendor/assets/scss/xy-grid/_cell.scss +33 -17
  228. data/vendor/assets/scss/xy-grid/_classes.scss +31 -11
  229. data/vendor/assets/scss/xy-grid/_collapse.scss +2 -1
  230. data/vendor/assets/scss/xy-grid/_frame.scss +2 -1
  231. data/vendor/assets/scss/xy-grid/_grid.scss +1 -0
  232. data/vendor/assets/scss/xy-grid/_gutters.scss +1 -1
  233. data/vendor/assets/scss/xy-grid/_layout.scss +2 -1
  234. data/vendor/assets/scss/xy-grid/_position.scss +5 -1
  235. metadata +172 -80
  236. data/vendor/assets/_vendor/normalize-scss/sass/_normalize.scss +0 -3
  237. data/vendor/assets/_vendor/normalize-scss/sass/normalize/_import-now.scss +0 -11
  238. data/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss +0 -676
  239. data/vendor/assets/_vendor/normalize-scss/sass/normalize/_variables.scss +0 -36
  240. data/vendor/assets/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss +0 -61
  241. data/vendor/assets/js/foundation.accordion.js +0 -511
  242. data/vendor/assets/js/foundation.accordionMenu.js +0 -527
  243. data/vendor/assets/js/foundation.core.js +0 -860
  244. data/vendor/assets/js/foundation.drilldown.js +0 -759
  245. data/vendor/assets/js/foundation.dropdown.js +0 -1151
  246. data/vendor/assets/js/foundation.dropdownMenu.js +0 -677
  247. data/vendor/assets/js/foundation.equalizer.js +0 -542
  248. data/vendor/assets/js/foundation.interchange.js +0 -399
  249. data/vendor/assets/js/foundation.magellan.js +0 -449
  250. data/vendor/assets/js/foundation.offcanvas.js +0 -1054
  251. data/vendor/assets/js/foundation.orbit.js +0 -767
  252. data/vendor/assets/js/foundation.responsiveAccordionTabs.js +0 -440
  253. data/vendor/assets/js/foundation.responsiveMenu.js +0 -362
  254. data/vendor/assets/js/foundation.responsiveToggle.js +0 -336
  255. data/vendor/assets/js/foundation.reveal.js +0 -1065
  256. data/vendor/assets/js/foundation.smoothScroll.js +0 -303
  257. data/vendor/assets/js/foundation.tabs.js +0 -678
  258. data/vendor/assets/js/foundation.toggler.js +0 -601
  259. data/vendor/assets/js/foundation.tooltip.js +0 -1194
  260. data/vendor/assets/js/foundation.util.imageLoader.js +0 -163
  261. data/vendor/assets/js/foundation.util.keyboard.js +0 -298
  262. data/vendor/assets/js/foundation.util.mediaQuery.js +0 -354
  263. data/vendor/assets/js/foundation.util.motion.js +0 -231
  264. data/vendor/assets/js/foundation.util.nest.js +0 -181
  265. data/vendor/assets/js/foundation.util.timer.js +0 -170
  266. data/vendor/assets/js/foundation.util.touch.js +0 -275
  267. data/vendor/assets/js/foundation.util.triggers.js +0 -398
  268. data/vendor/assets/scss/prototype/_typescale.scss +0 -20
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core.plugin\",\"commonjs\":\"./foundation.core.plugin\",\"commonjs2\":\"./foundation.core.plugin\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core.utils\",\"commonjs\":\"./foundation.core.utils\",\"commonjs2\":\"./foundation.core.utils\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.mediaQuery\"],\"amd\":\"./foundation.util.mediaQuery\",\"commonjs\":\"./foundation.util.mediaQuery\",\"commonjs2\":\"./foundation.util.mediaQuery\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.offcanvas.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.offcanvas.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.triggers.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","plugin","OffCanvas","element","options","className","$element","$","extend","defaults","data","contentClasses","base","reveal","$lastTrigger","$triggers","position","$content","nested","each","index","val","push","Triggers","init","MediaQuery","_init","_events","Keyboard","register","id","attr","contentId","siblings","length","first","closest","console","warn","transition","removeClass","addClass","document","find","is","match","contentOverlay","overlay","createElement","overlayPosition","css","setAttribute","$overlay","insertAfter","append","revealOnRegExp","RegExp","RegExpEscape","revealClass","revealOnClass","exec","isRevealed","revealOn","_setMQChecker","transitionTime","_removeContentClasses","off","on","open","bind","close","toggle","_handleKeyboard","closeOnClick","$target","_this","onLoadListener","onLoad","window","atLeast","hasReveal","join","_addContentClasses","event","elem","scrollHeight","clientHeight","scrollTop","allowUp","allowDown","lastY","originalEvent","pageY","up","down","stopPropagation","preventDefault","trigger","hasClass","forceTo","scrollTo","body","contentScroll","_stopScrolling","_recordScrollable","_stopScrollPropagation","autoFocus","one","transitionend","canvasFocus","eq","focus","trapFocus","cb","removeAttr","releaseFocus","e","handleKey","handled","Plugin","MutationObserver","prefixes","i","triggers","el","type","split","forEach","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","animation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","scrollListener","closeMeListener","pluginId","namespace","plugins","not","addClosemeListener","pluginName","yetiBoxes","plugNames","concat","error","listeners","map","name","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","call","arguments","clearTimeout","setTimeout","apply","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","target","attributeName","pageYOffset","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","triggersInitialized","IHearYou"],"mappings":"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","file":"foundation.offcanvas.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.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\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core.utils\", \"./foundation.core\", \"jquery\", \"./foundation.util.keyboard\", \"./foundation.util.mediaQuery\", \"./foundation.core.plugin\", \"./foundation.util.motion\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"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\"));\n\telse\n\t\troot[\"__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\"]);\n})(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__) {\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 = 9);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core_plugin__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core_utils__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { OffCanvas } from '../../foundation.offcanvas';\nFoundation.plugin(OffCanvas, 'OffCanvas');\n\nexport { Foundation, OffCanvas };\n","'use strict';\n\nimport $ from 'jquery';\nimport { onLoad, transitionend, RegExpEscape } from './foundation.core.utils';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Plugin } from './foundation.core.plugin';\n\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * OffCanvas module.\n * @module foundation.offcanvas\n * @requires foundation.util.keyboard\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.triggers\n */\n\nclass OffCanvas extends Plugin {\n /**\n * Creates a new instance of an off-canvas wrapper.\n * @class\n * @name OffCanvas\n * @fires OffCanvas#init\n * @param {Object} element - jQuery object to initialize.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.className = 'OffCanvas'; // ie9 back compat\n this.$element = element;\n this.options = $.extend({}, OffCanvas.defaults, this.$element.data(), options);\n this.contentClasses = { base: [], reveal: [] };\n this.$lastTrigger = $();\n this.$triggers = $();\n this.position = 'left';\n this.$content = $();\n this.nested = !!(this.options.nested);\n\n // Defines the CSS transition/position classes of the off-canvas content container.\n $(['push', 'overlap']).each((index, val) => {\n this.contentClasses.base.push('has-transition-'+val);\n });\n $(['left', 'right', 'top', 'bottom']).each((index, val) => {\n this.contentClasses.base.push('has-position-'+val);\n this.contentClasses.reveal.push('has-reveal-'+val);\n });\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n MediaQuery._init();\n\n this._init();\n this._events();\n\n Keyboard.register('OffCanvas', {\n 'ESCAPE': 'close'\n });\n\n }\n\n /**\n * Initializes the off-canvas wrapper by adding the exit overlay (if needed).\n * @function\n * @private\n */\n _init() {\n var id = this.$element.attr('id');\n\n this.$element.attr('aria-hidden', 'true');\n\n // Find off-canvas content, either by ID (if specified), by siblings or by closest selector (fallback)\n if (this.options.contentId) {\n this.$content = $('#'+this.options.contentId);\n } else if (this.$element.siblings('[data-off-canvas-content]').length) {\n this.$content = this.$element.siblings('[data-off-canvas-content]').first();\n } else {\n this.$content = this.$element.closest('[data-off-canvas-content]').first();\n }\n\n if (!this.options.contentId) {\n // Assume that the off-canvas element is nested if it isn't a sibling of the content\n this.nested = this.$element.siblings('[data-off-canvas-content]').length === 0;\n\n } else if (this.options.contentId && this.options.nested === null) {\n // Warning if using content ID without setting the nested option\n // Once the element is nested it is required to work properly in this case\n console.warn('Remember to use the nested option if using the content ID option!');\n }\n\n if (this.nested === true) {\n // Force transition overlap if nested\n this.options.transition = 'overlap';\n // Remove appropriate classes if already assigned in markup\n this.$element.removeClass('is-transition-push');\n }\n\n this.$element.addClass(`is-transition-${this.options.transition} is-closed`);\n\n // Find triggers that affect this element and add aria-expanded to them\n this.$triggers = $(document)\n .find('[data-open=\"'+id+'\"], [data-close=\"'+id+'\"], [data-toggle=\"'+id+'\"]')\n .attr('aria-expanded', 'false')\n .attr('aria-controls', id);\n\n // Get position by checking for related CSS class\n 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;\n\n // Add an overlay over the content if necessary\n if (this.options.contentOverlay === true) {\n var overlay = document.createElement('div');\n var overlayPosition = $(this.$element).css(\"position\") === 'fixed' ? 'is-overlay-fixed' : 'is-overlay-absolute';\n overlay.setAttribute('class', 'js-off-canvas-overlay ' + overlayPosition);\n this.$overlay = $(overlay);\n if(overlayPosition === 'is-overlay-fixed') {\n $(this.$overlay).insertAfter(this.$element);\n } else {\n this.$content.append(this.$overlay);\n }\n }\n\n // Get the revealOn option from the class.\n var revealOnRegExp = new RegExp(RegExpEscape(this.options.revealClass) + '([^\\\\s]+)', 'g');\n var revealOnClass = revealOnRegExp.exec(this.$element[0].className);\n if (revealOnClass) {\n this.options.isRevealed = true;\n this.options.revealOn = this.options.revealOn || revealOnClass[1];\n }\n\n // Ensure the `reveal-on-*` class is set.\n if (this.options.isRevealed === true && this.options.revealOn) {\n this.$element.first().addClass(`${this.options.revealClass}${this.options.revealOn}`);\n this._setMQChecker();\n }\n\n if (this.options.transitionTime) {\n this.$element.css('transition-duration', this.options.transitionTime);\n }\n\n // Initally remove all transition/position CSS classes from off-canvas content container.\n this._removeContentClasses();\n }\n\n /**\n * Adds event handlers to the off-canvas wrapper and the exit overlay.\n * @function\n * @private\n */\n _events() {\n this.$element.off('.zf.trigger .zf.offcanvas').on({\n 'open.zf.trigger': this.open.bind(this),\n 'close.zf.trigger': this.close.bind(this),\n 'toggle.zf.trigger': this.toggle.bind(this),\n 'keydown.zf.offcanvas': this._handleKeyboard.bind(this)\n });\n\n if (this.options.closeOnClick === true) {\n var $target = this.options.contentOverlay ? this.$overlay : this.$content;\n $target.on({'click.zf.offcanvas': this.close.bind(this)});\n }\n }\n\n /**\n * Applies event listener for elements that will reveal at certain breakpoints.\n * @private\n */\n _setMQChecker() {\n var _this = this;\n\n this.onLoadListener = onLoad($(window), function () {\n if (MediaQuery.atLeast(_this.options.revealOn)) {\n _this.reveal(true);\n }\n });\n\n $(window).on('changed.zf.mediaquery', function () {\n if (MediaQuery.atLeast(_this.options.revealOn)) {\n _this.reveal(true);\n } else {\n _this.reveal(false);\n }\n });\n }\n\n /**\n * Removes the CSS transition/position classes of the off-canvas content container.\n * Removing the classes is important when another off-canvas gets opened that uses the same content container.\n * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n * @private\n */\n _removeContentClasses(hasReveal) {\n if (typeof hasReveal !== 'boolean') {\n this.$content.removeClass(this.contentClasses.base.join(' '));\n } else if (hasReveal === false) {\n this.$content.removeClass(`has-reveal-${this.position}`);\n }\n }\n\n /**\n * Adds the CSS transition/position classes of the off-canvas content container, based on the opening off-canvas element.\n * Beforehand any transition/position class gets removed.\n * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n * @private\n */\n _addContentClasses(hasReveal) {\n this._removeContentClasses(hasReveal);\n if (typeof hasReveal !== 'boolean') {\n this.$content.addClass(`has-transition-${this.options.transition} has-position-${this.position}`);\n } else if (hasReveal === true) {\n this.$content.addClass(`has-reveal-${this.position}`);\n }\n }\n\n /**\n * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.\n * @param {Boolean} isRevealed - true if element should be revealed.\n * @function\n */\n reveal(isRevealed) {\n if (isRevealed) {\n this.close();\n this.isRevealed = true;\n this.$element.attr('aria-hidden', 'false');\n this.$element.off('open.zf.trigger toggle.zf.trigger');\n this.$element.removeClass('is-closed');\n } else {\n this.isRevealed = false;\n this.$element.attr('aria-hidden', 'true');\n this.$element.off('open.zf.trigger toggle.zf.trigger').on({\n 'open.zf.trigger': this.open.bind(this),\n 'toggle.zf.trigger': this.toggle.bind(this)\n });\n this.$element.addClass('is-closed');\n }\n this._addContentClasses(isRevealed);\n }\n\n /**\n * Stops scrolling of the body when offcanvas is open on mobile Safari and other troublesome browsers.\n * @private\n */\n _stopScrolling(event) {\n return false;\n }\n\n // Taken and adapted from http://stackoverflow.com/questions/16889447/prevent-full-page-scrolling-ios\n // Only really works for y, not sure how to extend to x or if we need to.\n _recordScrollable(event) {\n let elem = this; // called from event handler context with this as elem\n\n // If the element is scrollable (content overflows), then...\n if (elem.scrollHeight !== elem.clientHeight) {\n // If we're at the top, scroll down one pixel to allow scrolling up\n if (elem.scrollTop === 0) {\n elem.scrollTop = 1;\n }\n // If we're at the bottom, scroll up one pixel to allow scrolling down\n if (elem.scrollTop === elem.scrollHeight - elem.clientHeight) {\n elem.scrollTop = elem.scrollHeight - elem.clientHeight - 1;\n }\n }\n elem.allowUp = elem.scrollTop > 0;\n elem.allowDown = elem.scrollTop < (elem.scrollHeight - elem.clientHeight);\n elem.lastY = event.originalEvent.pageY;\n }\n\n _stopScrollPropagation(event) {\n let elem = this; // called from event handler context with this as elem\n let up = event.pageY < elem.lastY;\n let down = !up;\n elem.lastY = event.pageY;\n\n if((up && elem.allowUp) || (down && elem.allowDown)) {\n event.stopPropagation();\n } else {\n event.preventDefault();\n }\n }\n\n /**\n * Opens the off-canvas menu.\n * @function\n * @param {Object} event - Event object passed from listener.\n * @param {jQuery} trigger - element that triggered the off-canvas to open.\n * @fires Offcanvas#opened\n * @todo also trigger 'open' event?\n */\n open(event, trigger) {\n if (this.$element.hasClass('is-open') || this.isRevealed) { return; }\n var _this = this;\n\n if (trigger) {\n this.$lastTrigger = trigger;\n }\n\n if (this.options.forceTo === 'top') {\n window.scrollTo(0, 0);\n } else if (this.options.forceTo === 'bottom') {\n window.scrollTo(0,document.body.scrollHeight);\n }\n\n if (this.options.transitionTime && this.options.transition !== 'overlap') {\n this.$element.siblings('[data-off-canvas-content]').css('transition-duration', this.options.transitionTime);\n } else {\n this.$element.siblings('[data-off-canvas-content]').css('transition-duration', '');\n }\n\n this.$element.addClass('is-open').removeClass('is-closed');\n\n this.$triggers.attr('aria-expanded', 'true');\n this.$element.attr('aria-hidden', 'false');\n\n this.$content.addClass('is-open-' + this.position);\n\n // If `contentScroll` is set to false, add class and disable scrolling on touch devices.\n if (this.options.contentScroll === false) {\n $('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling);\n this.$element.on('touchstart', this._recordScrollable);\n this.$element.on('touchmove', this._stopScrollPropagation);\n }\n\n if (this.options.contentOverlay === true) {\n this.$overlay.addClass('is-visible');\n }\n\n if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n this.$overlay.addClass('is-closable');\n }\n\n if (this.options.autoFocus === true) {\n this.$element.one(transitionend(this.$element), function() {\n if (!_this.$element.hasClass('is-open')) {\n return; // exit if prematurely closed\n }\n var canvasFocus = _this.$element.find('[data-autofocus]');\n if (canvasFocus.length) {\n canvasFocus.eq(0).focus();\n } else {\n _this.$element.find('a, button').eq(0).focus();\n }\n });\n }\n\n if (this.options.trapFocus === true) {\n this.$content.attr('tabindex', '-1');\n Keyboard.trapFocus(this.$element);\n }\n\n this._addContentClasses();\n\n /**\n * Fires when the off-canvas menu opens.\n * @event Offcanvas#opened\n */\n this.$element.trigger('opened.zf.offcanvas');\n }\n\n /**\n * Closes the off-canvas menu.\n * @function\n * @param {Function} cb - optional cb to fire after closure.\n * @fires Offcanvas#closed\n */\n close(cb) {\n if (!this.$element.hasClass('is-open') || this.isRevealed) { return; }\n\n var _this = this;\n\n this.$element.removeClass('is-open');\n\n this.$element.attr('aria-hidden', 'true')\n /**\n * Fires when the off-canvas menu opens.\n * @event Offcanvas#closed\n */\n .trigger('closed.zf.offcanvas');\n\n this.$content.removeClass('is-open-left is-open-top is-open-right is-open-bottom');\n\n // If `contentScroll` is set to false, remove class and re-enable scrolling on touch devices.\n if (this.options.contentScroll === false) {\n $('body').removeClass('is-off-canvas-open').off('touchmove', this._stopScrolling);\n this.$element.off('touchstart', this._recordScrollable);\n this.$element.off('touchmove', this._stopScrollPropagation);\n }\n\n if (this.options.contentOverlay === true) {\n this.$overlay.removeClass('is-visible');\n }\n\n if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n this.$overlay.removeClass('is-closable');\n }\n\n this.$triggers.attr('aria-expanded', 'false');\n\n if (this.options.trapFocus === true) {\n this.$content.removeAttr('tabindex');\n Keyboard.releaseFocus(this.$element);\n }\n\n // Listen to transitionEnd and add class when done.\n this.$element.one(transitionend(this.$element), function(e) {\n _this.$element.addClass('is-closed');\n _this._removeContentClasses();\n });\n }\n\n /**\n * Toggles the off-canvas menu open or closed.\n * @function\n * @param {Object} event - Event object passed from listener.\n * @param {jQuery} trigger - element that triggered the off-canvas to open.\n */\n toggle(event, trigger) {\n if (this.$element.hasClass('is-open')) {\n this.close(event, trigger);\n }\n else {\n this.open(event, trigger);\n }\n }\n\n /**\n * 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.\n * @function\n * @private\n */\n _handleKeyboard(e) {\n Keyboard.handleKey(e, 'OffCanvas', {\n close: () => {\n this.close();\n this.$lastTrigger.focus();\n return true;\n },\n handled: () => {\n e.stopPropagation();\n e.preventDefault();\n }\n });\n }\n\n /**\n * Destroys the offcanvas plugin.\n * @function\n */\n _destroy() {\n this.close();\n this.$element.off('.zf.trigger .zf.offcanvas');\n this.$overlay.off('.zf.offcanvas');\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n }\n}\n\nOffCanvas.defaults = {\n /**\n * Allow the user to click outside of the menu to close it.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClick: true,\n\n /**\n * Adds an overlay on top of `[data-off-canvas-content]`.\n * @option\n * @type {boolean}\n * @default true\n */\n contentOverlay: true,\n\n /**\n * Target an off-canvas content container by ID that may be placed anywhere. If null the closest content container will be taken.\n * @option\n * @type {?string}\n * @default null\n */\n contentId: null,\n\n /**\n * Define the off-canvas element is nested in an off-canvas content. This is required when using the contentId option for a nested element.\n * @option\n * @type {boolean}\n * @default null\n */\n nested: null,\n\n /**\n * Enable/disable scrolling of the main content when an off canvas panel is open.\n * @option\n * @type {boolean}\n * @default true\n */\n contentScroll: true,\n\n /**\n * Amount of time in ms the open and close transition requires. If none selected, pulls from body style.\n * @option\n * @type {number}\n * @default null\n */\n transitionTime: null,\n\n /**\n * Type of transition for the offcanvas menu. Options are 'push', 'detached' or 'slide'.\n * @option\n * @type {string}\n * @default push\n */\n transition: 'push',\n\n /**\n * Force the page to scroll to top or bottom on open.\n * @option\n * @type {?string}\n * @default null\n */\n forceTo: null,\n\n /**\n * Allow the offcanvas to remain open for certain breakpoints.\n * @option\n * @type {boolean}\n * @default false\n */\n isRevealed: false,\n\n /**\n * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option.\n * @option\n * @type {?string}\n * @default null\n */\n revealOn: null,\n\n /**\n * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.\n * @option\n * @type {boolean}\n * @default true\n */\n autoFocus: true,\n\n /**\n * Class used to force an offcanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.\n * @option\n * @type {string}\n * @default reveal-for-\n * @todo improve the regex testing for this.\n */\n revealClass: 'reveal-for-',\n\n /**\n * Triggers optional focus trapping when opening an offcanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.\n * @option\n * @type {boolean}\n * @default false\n */\n trapFocus: false\n}\n\nexport {OffCanvas};\n","'use strict';\n\nimport $ from 'jquery';\nimport { onLoad } from './foundation.core.utils';\nimport { Motion } from './foundation.util.motion';\n\nconst MutationObserver = (function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n for (var i=0; i < prefixes.length; i++) {\n if (`${prefixes[i]}MutationObserver` in window) {\n return window[`${prefixes[i]}MutationObserver`];\n }\n }\n return false;\n}());\n\nconst triggers = (el, type) => {\n el.data(type).split(' ').forEach(id => {\n $(`#${id}`)[ type === 'close' ? 'trigger' : 'triggerHandler'](`${type}.zf.trigger`, [el]);\n });\n};\n\nvar Triggers = {\n Listeners: {\n Basic: {},\n Global: {}\n },\n Initializers: {}\n}\n\nTriggers.Listeners.Basic = {\n openListener: function() {\n triggers($(this), 'open');\n },\n closeListener: function() {\n let id = $(this).data('close');\n if (id) {\n triggers($(this), 'close');\n }\n else {\n $(this).trigger('close.zf.trigger');\n }\n },\n toggleListener: function() {\n let id = $(this).data('toggle');\n if (id) {\n triggers($(this), 'toggle');\n } else {\n $(this).trigger('toggle.zf.trigger');\n }\n },\n closeableListener: function(e) {\n e.stopPropagation();\n let animation = $(this).data('closable');\n\n if(animation !== ''){\n Motion.animateOut($(this), animation, function() {\n $(this).trigger('closed.zf');\n });\n }else{\n $(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function() {\n let id = $(this).data('toggle-focus');\n $(`#${id}`).triggerHandler('toggle.zf.trigger', [$(this)]);\n }\n};\n\n// Elements with [data-open] will reveal a plugin that supports it when clicked.\nTriggers.Initializers.addOpenListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}\n\n// Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\nTriggers.Initializers.addCloseListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}\n\n// Elements with [data-toggle] will toggle a plugin that supports it when clicked.\nTriggers.Initializers.addToggleListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}\n\n// Elements with [data-closable] will respond to close.zf.trigger events.\nTriggers.Initializers.addCloseableListener = ($elem) => {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}\n\n// Elements with [data-toggle-focus] will respond to coming in and out of focus\nTriggers.Initializers.addToggleFocusListener = ($elem) => {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}\n\n\n\n// More Global/complex listeners and triggers\nTriggers.Listeners.Global = {\n resizeListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('resizeme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a resize event\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('scrollme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a scroll event\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function(e, pluginId){\n let plugin = e.namespace.split('.')[0];\n let plugins = $(`[data-${plugin}]`).not(`[data-yeti-box=\"${pluginId}\"]`);\n\n plugins.each(function(){\n let _this = $(this);\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n}\n\n// Global, parses whole document.\nTriggers.Initializers.addClosemeListener = function(pluginName) {\n var yetiBoxes = $('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if(pluginName){\n if(typeof pluginName === 'string'){\n plugNames.push(pluginName);\n }else if(typeof pluginName === 'object' && typeof pluginName[0] === 'string'){\n plugNames.concat(pluginName);\n }else{\n console.error('Plugin names must be strings');\n }\n }\n if(yetiBoxes.length){\n let listeners = plugNames.map((name) => {\n return `closeme.zf.${name}`;\n }).join(' ');\n\n $(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n}\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n let timer, args = Array.prototype.slice.call(arguments, 3);\n $(window).off(trigger).on(trigger, function(e) {\n if (timer) { clearTimeout(timer); }\n timer = setTimeout(function(){\n listener.apply(null, args);\n }, debounce || 10);//default time to emit scroll event\n });\n}\n\nTriggers.Initializers.addResizeListener = function(debounce){\n let $nodes = $('[data-resize]');\n if($nodes.length){\n debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);\n }\n}\n\nTriggers.Initializers.addScrollListener = function(debounce){\n let $nodes = $('[data-scroll]');\n if($nodes.length){\n debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);\n }\n}\n\nTriggers.Initializers.addMutationEventsListener = function($elem) {\n if(!MutationObserver){ return false; }\n let $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]');\n\n //element callback\n var listeningElementsMutation = function (mutationRecordsList) {\n var $target = $(mutationRecordsList[0].target);\n\n //trigger the event handler for the element depending on type\n switch (mutationRecordsList[0].type) {\n case \"attributes\":\n if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n }\n if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('resizeme.zf.trigger', [$target]);\n }\n if (mutationRecordsList[0].attributeName === \"style\") {\n $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n }\n break;\n\n case \"childList\":\n $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n break;\n\n default:\n return false;\n //nothing\n }\n };\n\n if ($nodes.length) {\n //for each element that needs to listen for resizing, scrolling, or mutation add a single observer\n for (var i = 0; i <= $nodes.length - 1; i++) {\n var elementObserver = new MutationObserver(listeningElementsMutation);\n elementObserver.observe($nodes[i], { attributes: true, childList: true, characterData: false, subtree: true, attributeFilter: [\"data-events\", \"style\"] });\n }\n }\n}\n\nTriggers.Initializers.addSimpleListeners = function() {\n let $document = $(document);\n\n Triggers.Initializers.addOpenListener($document);\n Triggers.Initializers.addCloseListener($document);\n Triggers.Initializers.addToggleListener($document);\n Triggers.Initializers.addCloseableListener($document);\n Triggers.Initializers.addToggleFocusListener($document);\n\n}\n\nTriggers.Initializers.addGlobalListeners = function() {\n let $document = $(document);\n Triggers.Initializers.addMutationEventsListener($document);\n Triggers.Initializers.addResizeListener();\n Triggers.Initializers.addScrollListener();\n Triggers.Initializers.addClosemeListener();\n}\n\n\nTriggers.init = function ($, Foundation) {\n onLoad($(window), function () {\n if ($.triggersInitialized !== true) {\n Triggers.Initializers.addSimpleListeners();\n Triggers.Initializers.addGlobalListeners();\n $.triggersInitialized = true;\n }\n });\n\n if(Foundation) {\n Foundation.Triggers = Triggers;\n // Legacy included to be backwards compatible for now.\n Foundation.IHearYou = Triggers.Initializers.addGlobalListeners\n }\n}\n\nexport {Triggers};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(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")):"function"==typeof define&&define.amd?define(["./foundation.core.utils","./foundation.core","jquery","./foundation.util.keyboard","./foundation.util.mediaQuery","./foundation.core.plugin","./foundation.util.motion"],e):"object"==typeof exports?exports["foundation.offcanvas"]=e(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")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.offcanvas"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.core"],t.jQuery,t.__FOUNDATION_EXTERNAL__["foundation.util.keyboard"],t.__FOUNDATION_EXTERNAL__["foundation.util.mediaQuery"],t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.util.motion"]))}(window,function(n,i,o,s,r,a,l){return function(n){var i={};function o(t){if(i[t])return i[t].exports;var e=i[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,o),e.l=!0,e.exports}return o.m=n,o.c=i,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)o.d(n,i,function(t){return e[t]}.bind(null,i));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s=9)}({"./foundation.core":function(t,e){t.exports=i},"./foundation.core.plugin":function(t,e){t.exports=a},"./foundation.core.utils":function(t,e){t.exports=n},"./foundation.util.keyboard":function(t,e){t.exports=s},"./foundation.util.mediaQuery":function(t,e){t.exports=r},"./foundation.util.motion":function(t,e){t.exports=l},"./js/entries/plugins/foundation.offcanvas.js":function(t,e,n){"use strict";n.r(e);var i=n("./foundation.core");n.d(e,"Foundation",function(){return i.Foundation});var o=n("./js/foundation.offcanvas.js");n.d(e,"OffCanvas",function(){return o.OffCanvas}),i.Foundation.plugin(o.OffCanvas,"OffCanvas")},"./js/foundation.offcanvas.js":function(t,e,n){"use strict";n.r(e),n.d(e,"OffCanvas",function(){return p});var i=n("jquery"),s=n.n(i),r=n("./foundation.core.utils"),a=n("./foundation.util.keyboard"),l=n("./foundation.util.mediaQuery"),c=n("./foundation.core.plugin"),u=n("./js/foundation.util.triggers.js");function o(t){return(o="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 f(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function d(t,e){return!e||"object"!==o(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function g(t,e){return(g=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var p=function(t){function i(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),d(this,h(i).apply(this,arguments))}var e,n,o;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&g(t,e)}(i,c["Plugin"]),e=i,(n=[{key:"_setup",value:function(t,e){var n=this;this.className="OffCanvas",this.$element=t,this.options=s.a.extend({},i.defaults,this.$element.data(),e),this.contentClasses={base:[],reveal:[]},this.$lastTrigger=s()(),this.$triggers=s()(),this.position="left",this.$content=s()(),this.nested=!!this.options.nested,s()(["push","overlap"]).each(function(t,e){n.contentClasses.base.push("has-transition-"+e)}),s()(["left","right","top","bottom"]).each(function(t,e){n.contentClasses.base.push("has-position-"+e),n.contentClasses.reveal.push("has-reveal-"+e)}),u.Triggers.init(s.a),l.MediaQuery._init(),this._init(),this._events(),a.Keyboard.register("OffCanvas",{ESCAPE:"close"})}},{key:"_init",value:function(){var t=this.$element.attr("id");if(this.$element.attr("aria-hidden","true"),this.options.contentId?this.$content=s()("#"+this.options.contentId):this.$element.siblings("[data-off-canvas-content]").length?this.$content=this.$element.siblings("[data-off-canvas-content]").first():this.$content=this.$element.closest("[data-off-canvas-content]").first(),this.options.contentId?this.options.contentId&&null===this.options.nested&&console.warn("Remember to use the nested option if using the content ID option!"):this.nested=0===this.$element.siblings("[data-off-canvas-content]").length,!0===this.nested&&(this.options.transition="overlap",this.$element.removeClass("is-transition-push")),this.$element.addClass("is-transition-".concat(this.options.transition," is-closed")),this.$triggers=s()(document).find('[data-open="'+t+'"], [data-close="'+t+'"], [data-toggle="'+t+'"]').attr("aria-expanded","false").attr("aria-controls",t),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,!0===this.options.contentOverlay){var e=document.createElement("div"),n="fixed"===s()(this.$element).css("position")?"is-overlay-fixed":"is-overlay-absolute";e.setAttribute("class","js-off-canvas-overlay "+n),this.$overlay=s()(e),"is-overlay-fixed"===n?s()(this.$overlay).insertAfter(this.$element):this.$content.append(this.$overlay)}var i=new RegExp(Object(r.RegExpEscape)(this.options.revealClass)+"([^\\s]+)","g").exec(this.$element[0].className);i&&(this.options.isRevealed=!0,this.options.revealOn=this.options.revealOn||i[1]),!0===this.options.isRevealed&&this.options.revealOn&&(this.$element.first().addClass("".concat(this.options.revealClass).concat(this.options.revealOn)),this._setMQChecker()),this.options.transitionTime&&this.$element.css("transition-duration",this.options.transitionTime),this._removeContentClasses()}},{key:"_events",value:function(){(this.$element.off(".zf.trigger .zf.offcanvas").on({"open.zf.trigger":this.open.bind(this),"close.zf.trigger":this.close.bind(this),"toggle.zf.trigger":this.toggle.bind(this),"keydown.zf.offcanvas":this._handleKeyboard.bind(this)}),!0===this.options.closeOnClick)&&(this.options.contentOverlay?this.$overlay:this.$content).on({"click.zf.offcanvas":this.close.bind(this)})}},{key:"_setMQChecker",value:function(){var t=this;this.onLoadListener=Object(r.onLoad)(s()(window),function(){l.MediaQuery.atLeast(t.options.revealOn)&&t.reveal(!0)}),s()(window).on("changed.zf.mediaquery",function(){l.MediaQuery.atLeast(t.options.revealOn)?t.reveal(!0):t.reveal(!1)})}},{key:"_removeContentClasses",value:function(t){"boolean"!=typeof t?this.$content.removeClass(this.contentClasses.base.join(" ")):!1===t&&this.$content.removeClass("has-reveal-".concat(this.position))}},{key:"_addContentClasses",value:function(t){this._removeContentClasses(t),"boolean"!=typeof t?this.$content.addClass("has-transition-".concat(this.options.transition," has-position-").concat(this.position)):!0===t&&this.$content.addClass("has-reveal-".concat(this.position))}},{key:"reveal",value:function(t){t?(this.close(),this.isRevealed=!0,this.$element.attr("aria-hidden","false"),this.$element.off("open.zf.trigger toggle.zf.trigger"),this.$element.removeClass("is-closed")):(this.isRevealed=!1,this.$element.attr("aria-hidden","true"),this.$element.off("open.zf.trigger toggle.zf.trigger").on({"open.zf.trigger":this.open.bind(this),"toggle.zf.trigger":this.toggle.bind(this)}),this.$element.addClass("is-closed")),this._addContentClasses(t)}},{key:"_stopScrolling",value:function(t){return!1}},{key:"_recordScrollable",value:function(t){var e=this;e.scrollHeight!==e.clientHeight&&(0===e.scrollTop&&(e.scrollTop=1),e.scrollTop===e.scrollHeight-e.clientHeight&&(e.scrollTop=e.scrollHeight-e.clientHeight-1)),e.allowUp=0<e.scrollTop,e.allowDown=e.scrollTop<e.scrollHeight-e.clientHeight,e.lastY=t.originalEvent.pageY}},{key:"_stopScrollPropagation",value:function(t){var e=t.pageY<this.lastY,n=!e;this.lastY=t.pageY,e&&this.allowUp||n&&this.allowDown?t.stopPropagation():t.preventDefault()}},{key:"open",value:function(t,e){if(!this.$element.hasClass("is-open")&&!this.isRevealed){var n=this;e&&(this.$lastTrigger=e),"top"===this.options.forceTo?window.scrollTo(0,0):"bottom"===this.options.forceTo&&window.scrollTo(0,document.body.scrollHeight),this.options.transitionTime&&"overlap"!==this.options.transition?this.$element.siblings("[data-off-canvas-content]").css("transition-duration",this.options.transitionTime):this.$element.siblings("[data-off-canvas-content]").css("transition-duration",""),this.$element.addClass("is-open").removeClass("is-closed"),this.$triggers.attr("aria-expanded","true"),this.$element.attr("aria-hidden","false"),this.$content.addClass("is-open-"+this.position),!1===this.options.contentScroll&&(s()("body").addClass("is-off-canvas-open").on("touchmove",this._stopScrolling),this.$element.on("touchstart",this._recordScrollable),this.$element.on("touchmove",this._stopScrollPropagation)),!0===this.options.contentOverlay&&this.$overlay.addClass("is-visible"),!0===this.options.closeOnClick&&!0===this.options.contentOverlay&&this.$overlay.addClass("is-closable"),!0===this.options.autoFocus&&this.$element.one(Object(r.transitionend)(this.$element),function(){if(n.$element.hasClass("is-open")){var t=n.$element.find("[data-autofocus]");t.length?t.eq(0).focus():n.$element.find("a, button").eq(0).focus()}}),!0===this.options.trapFocus&&(this.$content.attr("tabindex","-1"),a.Keyboard.trapFocus(this.$element)),this._addContentClasses(),this.$element.trigger("opened.zf.offcanvas")}}},{key:"close",value:function(t){if(this.$element.hasClass("is-open")&&!this.isRevealed){var e=this;this.$element.removeClass("is-open"),this.$element.attr("aria-hidden","true").trigger("closed.zf.offcanvas"),this.$content.removeClass("is-open-left is-open-top is-open-right is-open-bottom"),!1===this.options.contentScroll&&(s()("body").removeClass("is-off-canvas-open").off("touchmove",this._stopScrolling),this.$element.off("touchstart",this._recordScrollable),this.$element.off("touchmove",this._stopScrollPropagation)),!0===this.options.contentOverlay&&this.$overlay.removeClass("is-visible"),!0===this.options.closeOnClick&&!0===this.options.contentOverlay&&this.$overlay.removeClass("is-closable"),this.$triggers.attr("aria-expanded","false"),!0===this.options.trapFocus&&(this.$content.removeAttr("tabindex"),a.Keyboard.releaseFocus(this.$element)),this.$element.one(Object(r.transitionend)(this.$element),function(t){e.$element.addClass("is-closed"),e._removeContentClasses()})}}},{key:"toggle",value:function(t,e){this.$element.hasClass("is-open")?this.close(t,e):this.open(t,e)}},{key:"_handleKeyboard",value:function(t){var e=this;a.Keyboard.handleKey(t,"OffCanvas",{close:function(){return e.close(),e.$lastTrigger.focus(),!0},handled:function(){t.stopPropagation(),t.preventDefault()}})}},{key:"_destroy",value:function(){this.close(),this.$element.off(".zf.trigger .zf.offcanvas"),this.$overlay.off(".zf.offcanvas"),this.onLoadListener&&s()(window).off(this.onLoadListener)}}])&&f(e.prototype,n),o&&f(e,o),i}();p.defaults={closeOnClick:!0,contentOverlay:!0,contentId:null,nested:null,contentScroll:!0,transitionTime:null,transition:"push",forceTo:null,isRevealed:!1,revealOn:null,autoFocus:!0,revealClass:"reveal-for-",trapFocus:!1}},"./js/foundation.util.triggers.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Triggers",function(){return u});var i=n("jquery"),s=n.n(i),o=n("./foundation.core.utils"),r=n("./foundation.util.motion");function a(t){return(a="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)}var l=function(){for(var t=["WebKit","Moz","O","Ms",""],e=0;e<t.length;e++)if("".concat(t[e],"MutationObserver")in window)return window["".concat(t[e],"MutationObserver")];return!1}(),c=function(e,n){e.data(n).split(" ").forEach(function(t){s()("#".concat(t))["close"===n?"trigger":"triggerHandler"]("".concat(n,".zf.trigger"),[e])})},u={Listeners:{Basic:{},Global:{}},Initializers:{}};function f(e,t,n){var i,o=Array.prototype.slice.call(arguments,3);s()(window).off(t).on(t,function(t){i&&clearTimeout(i),i=setTimeout(function(){n.apply(null,o)},e||10)})}u.Listeners.Basic={openListener:function(){c(s()(this),"open")},closeListener:function(){s()(this).data("close")?c(s()(this),"close"):s()(this).trigger("close.zf.trigger")},toggleListener:function(){s()(this).data("toggle")?c(s()(this),"toggle"):s()(this).trigger("toggle.zf.trigger")},closeableListener:function(t){t.stopPropagation();var e=s()(this).data("closable");""!==e?r.Motion.animateOut(s()(this),e,function(){s()(this).trigger("closed.zf")}):s()(this).fadeOut().trigger("closed.zf")},toggleFocusListener:function(){var t=s()(this).data("toggle-focus");s()("#".concat(t)).triggerHandler("toggle.zf.trigger",[s()(this)])}},u.Initializers.addOpenListener=function(t){t.off("click.zf.trigger",u.Listeners.Basic.openListener),t.on("click.zf.trigger","[data-open]",u.Listeners.Basic.openListener)},u.Initializers.addCloseListener=function(t){t.off("click.zf.trigger",u.Listeners.Basic.closeListener),t.on("click.zf.trigger","[data-close]",u.Listeners.Basic.closeListener)},u.Initializers.addToggleListener=function(t){t.off("click.zf.trigger",u.Listeners.Basic.toggleListener),t.on("click.zf.trigger","[data-toggle]",u.Listeners.Basic.toggleListener)},u.Initializers.addCloseableListener=function(t){t.off("close.zf.trigger",u.Listeners.Basic.closeableListener),t.on("close.zf.trigger","[data-closeable], [data-closable]",u.Listeners.Basic.closeableListener)},u.Initializers.addToggleFocusListener=function(t){t.off("focus.zf.trigger blur.zf.trigger",u.Listeners.Basic.toggleFocusListener),t.on("focus.zf.trigger blur.zf.trigger","[data-toggle-focus]",u.Listeners.Basic.toggleFocusListener)},u.Listeners.Global={resizeListener:function(t){l||t.each(function(){s()(this).triggerHandler("resizeme.zf.trigger")}),t.attr("data-events","resize")},scrollListener:function(t){l||t.each(function(){s()(this).triggerHandler("scrollme.zf.trigger")}),t.attr("data-events","scroll")},closeMeListener:function(t,e){var n=t.namespace.split(".")[0];s()("[data-".concat(n,"]")).not('[data-yeti-box="'.concat(e,'"]')).each(function(){var t=s()(this);t.triggerHandler("close.zf.trigger",[t])})}},u.Initializers.addClosemeListener=function(t){var e=s()("[data-yeti-box]"),n=["dropdown","tooltip","reveal"];if(t&&("string"==typeof t?n.push(t):"object"===a(t)&&"string"==typeof t[0]?n.concat(t):console.error("Plugin names must be strings")),e.length){var i=n.map(function(t){return"closeme.zf.".concat(t)}).join(" ");s()(window).off(i).on(i,u.Listeners.Global.closeMeListener)}},u.Initializers.addResizeListener=function(t){var e=s()("[data-resize]");e.length&&f(t,"resize.zf.trigger",u.Listeners.Global.resizeListener,e)},u.Initializers.addScrollListener=function(t){var e=s()("[data-scroll]");e.length&&f(t,"scroll.zf.trigger",u.Listeners.Global.scrollListener,e)},u.Initializers.addMutationEventsListener=function(t){if(!l)return!1;var e=t.find("[data-resize], [data-scroll], [data-mutate]"),n=function(t){var e=s()(t[0].target);switch(t[0].type){case"attributes":"scroll"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("scrollme.zf.trigger",[e,window.pageYOffset]),"resize"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("resizeme.zf.trigger",[e]),"style"===t[0].attributeName&&(e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]));break;case"childList":e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]);break;default:return!1}};if(e.length)for(var i=0;i<=e.length-1;i++){new l(n).observe(e[i],{attributes:!0,childList:!0,characterData:!1,subtree:!0,attributeFilter:["data-events","style"]})}},u.Initializers.addSimpleListeners=function(){var t=s()(document);u.Initializers.addOpenListener(t),u.Initializers.addCloseListener(t),u.Initializers.addToggleListener(t),u.Initializers.addCloseableListener(t),u.Initializers.addToggleFocusListener(t)},u.Initializers.addGlobalListeners=function(){var t=s()(document);u.Initializers.addMutationEventsListener(t),u.Initializers.addResizeListener(),u.Initializers.addScrollListener(),u.Initializers.addClosemeListener()},u.init=function(t,e){Object(o.onLoad)(t(window),function(){!0!==t.triggersInitialized&&(u.Initializers.addSimpleListeners(),u.Initializers.addGlobalListeners(),t.triggersInitialized=!0)}),e&&(e.Triggers=u,e.IHearYou=u.Initializers.addGlobalListeners)}},9:function(t,e,n){t.exports=n("./js/entries/plugins/foundation.offcanvas.js")},jquery:function(t,e){t.exports=o}})});
2
+ //# sourceMappingURL=foundation.offcanvas.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["foundation.offcanvas.min.js"],"names":["root","factory","exports","module","require","define","amd","window","__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__","modules","installedModules","__webpack_require__","moduleId","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","./foundation.core","./foundation.core.plugin","./foundation.core.utils","./foundation.util.keyboard","./foundation.util.mediaQuery","./foundation.util.motion","./js/entries/plugins/foundation.offcanvas.js","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","_foundation_offcanvas__WEBPACK_IMPORTED_MODULE_1__","plugin","./js/foundation.offcanvas.js","OffCanvas","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_4__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_5__","_typeof","obj","iterator","constructor","_defineProperties","target","props","length","descriptor","configurable","writable","_possibleConstructorReturn","self","ReferenceError","_assertThisInitialized","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","_Plugin","instance","Constructor","TypeError","_classCallCheck","this","apply","arguments","protoProps","staticProps","subClass","superClass","_inherits","element","options","_this2","className","$element","a","extend","defaults","data","contentClasses","base","reveal","$lastTrigger","$triggers","position","$content","nested","each","index","val","push","init","_init","_events","register","ESCAPE","id","attr","contentId","siblings","first","closest","console","warn","transition","removeClass","addClass","concat","document","find","is","match","contentOverlay","overlay","createElement","overlayPosition","css","setAttribute","$overlay","insertAfter","append","revealOnClass","RegExp","revealClass","exec","isRevealed","revealOn","_setMQChecker","transitionTime","_removeContentClasses","off","on","open.zf.trigger","open","close.zf.trigger","close","toggle.zf.trigger","toggle","keydown.zf.offcanvas","_handleKeyboard","closeOnClick","click.zf.offcanvas","_this","onLoadListener","atLeast","hasReveal","join","_addContentClasses","event","elem","scrollHeight","clientHeight","scrollTop","allowUp","allowDown","lastY","originalEvent","pageY","up","down","stopPropagation","preventDefault","trigger","hasClass","forceTo","scrollTo","body","contentScroll","_stopScrolling","_recordScrollable","_stopScrollPropagation","autoFocus","one","canvasFocus","eq","focus","trapFocus","cb","removeAttr","releaseFocus","e","_this3","handleKey","handled","./js/foundation.util.triggers.js","Triggers","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","MutationObserver","prefixes","triggers","el","type","split","forEach","Listeners","Basic","Global","Initializers","debounceGlobalListener","debounce","listener","timer","args","Array","slice","clearTimeout","setTimeout","openListener","closeListener","toggleListener","closeableListener","animation","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","scrollListener","closeMeListener","pluginId","namespace","not","addClosemeListener","pluginName","yetiBoxes","plugNames","error","listeners","map","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","attributeName","pageYOffset","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","$","Foundation","triggersInitialized","IHearYou","9","jquery"],"mappings":"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","file":"foundation.offcanvas.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.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\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core.utils\", \"./foundation.core\", \"jquery\", \"./foundation.util.keyboard\", \"./foundation.util.mediaQuery\", \"./foundation.core.plugin\", \"./foundation.util.motion\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"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\"));\n\telse\n\t\troot[\"__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\"]);\n})(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__) {\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 = 9);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./foundation.core.plugin\":\n/*!*************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core.plugin\",\"commonjs\":\"./foundation.core.plugin\",\"commonjs2\":\"./foundation.core.plugin\"} ***!\n \\*************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core_plugin__;\n\n/***/ }),\n\n/***/ \"./foundation.core.utils\":\n/*!**********************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core.utils\",\"commonjs\":\"./foundation.core.utils\",\"commonjs2\":\"./foundation.core.utils\"} ***!\n \\**********************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core_utils__;\n\n/***/ }),\n\n/***/ \"./foundation.util.keyboard\":\n/*!****************************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"} ***!\n \\****************************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;\n\n/***/ }),\n\n/***/ \"./foundation.util.mediaQuery\":\n/*!************************************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.mediaQuery\"],\"amd\":\"./foundation.util.mediaQuery\",\"commonjs\":\"./foundation.util.mediaQuery\",\"commonjs2\":\"./foundation.util.mediaQuery\"} ***!\n \\************************************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;\n\n/***/ }),\n\n/***/ \"./foundation.util.motion\":\n/*!********************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"} ***!\n \\********************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.offcanvas.js\":\n/*!****************************************************!*\\\n !*** ./js/entries/plugins/foundation.offcanvas.js ***!\n \\****************************************************/\n/*! exports provided: Foundation, OffCanvas */\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_offcanvas__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.offcanvas */ \"./js/foundation.offcanvas.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"OffCanvas\", function() { return _foundation_offcanvas__WEBPACK_IMPORTED_MODULE_1__[\"OffCanvas\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].plugin(_foundation_offcanvas__WEBPACK_IMPORTED_MODULE_1__[\"OffCanvas\"], 'OffCanvas');\n\n\n/***/ }),\n\n/***/ \"./js/foundation.offcanvas.js\":\n/*!************************************!*\\\n !*** ./js/foundation.offcanvas.js ***!\n \\************************************/\n/*! exports provided: OffCanvas */\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__, \"OffCanvas\", function() { return OffCanvas; });\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_util_keyboard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.keyboard */ \"./foundation.util.keyboard\");\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ \"./foundation.util.mediaQuery\");\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./foundation.core.plugin\");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./foundation.util.triggers */ \"./js/foundation.util.triggers.js\");\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\n/**\n * OffCanvas module.\n * @module foundation.offcanvas\n * @requires foundation.util.keyboard\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.triggers\n */\n\nvar OffCanvas =\n/*#__PURE__*/\nfunction (_Plugin) {\n _inherits(OffCanvas, _Plugin);\n\n function OffCanvas() {\n _classCallCheck(this, OffCanvas);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(OffCanvas).apply(this, arguments));\n }\n\n _createClass(OffCanvas, [{\n key: \"_setup\",\n\n /**\n * Creates a new instance of an off-canvas wrapper.\n * @class\n * @name OffCanvas\n * @fires OffCanvas#init\n * @param {Object} element - jQuery object to initialize.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n value: function _setup(element, options) {\n var _this2 = this;\n\n this.className = 'OffCanvas'; // ie9 back compat\n\n this.$element = element;\n this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, OffCanvas.defaults, this.$element.data(), options);\n this.contentClasses = {\n base: [],\n reveal: []\n };\n this.$lastTrigger = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n this.$triggers = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n this.position = 'left';\n this.$content = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n this.nested = !!this.options.nested; // Defines the CSS transition/position classes of the off-canvas content container.\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(['push', 'overlap']).each(function (index, val) {\n _this2.contentClasses.base.push('has-transition-' + val);\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(['left', 'right', 'top', 'bottom']).each(function (index, val) {\n _this2.contentClasses.base.push('has-position-' + val);\n\n _this2.contentClasses.reveal.push('has-reveal-' + val);\n }); // Triggers init is idempotent, just need to make sure it is initialized\n\n _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_5__[\"Triggers\"].init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);\n\n _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__[\"MediaQuery\"]._init();\n\n this._init();\n\n this._events();\n\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].register('OffCanvas', {\n 'ESCAPE': 'close'\n });\n }\n /**\n * Initializes the off-canvas wrapper by adding the exit overlay (if needed).\n * @function\n * @private\n */\n\n }, {\n key: \"_init\",\n value: function _init() {\n var id = this.$element.attr('id');\n this.$element.attr('aria-hidden', 'true'); // Find off-canvas content, either by ID (if specified), by siblings or by closest selector (fallback)\n\n if (this.options.contentId) {\n this.$content = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#' + this.options.contentId);\n } else if (this.$element.siblings('[data-off-canvas-content]').length) {\n this.$content = this.$element.siblings('[data-off-canvas-content]').first();\n } else {\n this.$content = this.$element.closest('[data-off-canvas-content]').first();\n }\n\n if (!this.options.contentId) {\n // Assume that the off-canvas element is nested if it isn't a sibling of the content\n this.nested = this.$element.siblings('[data-off-canvas-content]').length === 0;\n } else if (this.options.contentId && this.options.nested === null) {\n // Warning if using content ID without setting the nested option\n // Once the element is nested it is required to work properly in this case\n console.warn('Remember to use the nested option if using the content ID option!');\n }\n\n if (this.nested === true) {\n // Force transition overlap if nested\n this.options.transition = 'overlap'; // Remove appropriate classes if already assigned in markup\n\n this.$element.removeClass('is-transition-push');\n }\n\n this.$element.addClass(\"is-transition-\".concat(this.options.transition, \" is-closed\")); // Find triggers that affect this element and add aria-expanded to them\n\n 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\n\n 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\n\n if (this.options.contentOverlay === true) {\n var overlay = document.createElement('div');\n var overlayPosition = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.$element).css(\"position\") === 'fixed' ? 'is-overlay-fixed' : 'is-overlay-absolute';\n overlay.setAttribute('class', 'js-off-canvas-overlay ' + overlayPosition);\n this.$overlay = jquery__WEBPACK_IMPORTED_MODULE_0___default()(overlay);\n\n if (overlayPosition === 'is-overlay-fixed') {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.$overlay).insertAfter(this.$element);\n } else {\n this.$content.append(this.$overlay);\n }\n } // Get the revealOn option from the class.\n\n\n var revealOnRegExp = new RegExp(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"RegExpEscape\"])(this.options.revealClass) + '([^\\\\s]+)', 'g');\n var revealOnClass = revealOnRegExp.exec(this.$element[0].className);\n\n if (revealOnClass) {\n this.options.isRevealed = true;\n this.options.revealOn = this.options.revealOn || revealOnClass[1];\n } // Ensure the `reveal-on-*` class is set.\n\n\n if (this.options.isRevealed === true && this.options.revealOn) {\n this.$element.first().addClass(\"\".concat(this.options.revealClass).concat(this.options.revealOn));\n\n this._setMQChecker();\n }\n\n if (this.options.transitionTime) {\n this.$element.css('transition-duration', this.options.transitionTime);\n } // Initally remove all transition/position CSS classes from off-canvas content container.\n\n\n this._removeContentClasses();\n }\n /**\n * Adds event handlers to the off-canvas wrapper and the exit overlay.\n * @function\n * @private\n */\n\n }, {\n key: \"_events\",\n value: function _events() {\n this.$element.off('.zf.trigger .zf.offcanvas').on({\n 'open.zf.trigger': this.open.bind(this),\n 'close.zf.trigger': this.close.bind(this),\n 'toggle.zf.trigger': this.toggle.bind(this),\n 'keydown.zf.offcanvas': this._handleKeyboard.bind(this)\n });\n\n if (this.options.closeOnClick === true) {\n var $target = this.options.contentOverlay ? this.$overlay : this.$content;\n $target.on({\n 'click.zf.offcanvas': this.close.bind(this)\n });\n }\n }\n /**\n * Applies event listener for elements that will reveal at certain breakpoints.\n * @private\n */\n\n }, {\n key: \"_setMQChecker\",\n value: function _setMQChecker() {\n var _this = this;\n\n this.onLoadListener = Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"onLoad\"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {\n if (_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__[\"MediaQuery\"].atLeast(_this.options.revealOn)) {\n _this.reveal(true);\n }\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', function () {\n if (_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__[\"MediaQuery\"].atLeast(_this.options.revealOn)) {\n _this.reveal(true);\n } else {\n _this.reveal(false);\n }\n });\n }\n /**\n * Removes the CSS transition/position classes of the off-canvas content container.\n * Removing the classes is important when another off-canvas gets opened that uses the same content container.\n * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n * @private\n */\n\n }, {\n key: \"_removeContentClasses\",\n value: function _removeContentClasses(hasReveal) {\n if (typeof hasReveal !== 'boolean') {\n this.$content.removeClass(this.contentClasses.base.join(' '));\n } else if (hasReveal === false) {\n this.$content.removeClass(\"has-reveal-\".concat(this.position));\n }\n }\n /**\n * Adds the CSS transition/position classes of the off-canvas content container, based on the opening off-canvas element.\n * Beforehand any transition/position class gets removed.\n * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n * @private\n */\n\n }, {\n key: \"_addContentClasses\",\n value: function _addContentClasses(hasReveal) {\n this._removeContentClasses(hasReveal);\n\n if (typeof hasReveal !== 'boolean') {\n this.$content.addClass(\"has-transition-\".concat(this.options.transition, \" has-position-\").concat(this.position));\n } else if (hasReveal === true) {\n this.$content.addClass(\"has-reveal-\".concat(this.position));\n }\n }\n /**\n * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.\n * @param {Boolean} isRevealed - true if element should be revealed.\n * @function\n */\n\n }, {\n key: \"reveal\",\n value: function reveal(isRevealed) {\n if (isRevealed) {\n this.close();\n this.isRevealed = true;\n this.$element.attr('aria-hidden', 'false');\n this.$element.off('open.zf.trigger toggle.zf.trigger');\n this.$element.removeClass('is-closed');\n } else {\n this.isRevealed = false;\n this.$element.attr('aria-hidden', 'true');\n this.$element.off('open.zf.trigger toggle.zf.trigger').on({\n 'open.zf.trigger': this.open.bind(this),\n 'toggle.zf.trigger': this.toggle.bind(this)\n });\n this.$element.addClass('is-closed');\n }\n\n this._addContentClasses(isRevealed);\n }\n /**\n * Stops scrolling of the body when offcanvas is open on mobile Safari and other troublesome browsers.\n * @private\n */\n\n }, {\n key: \"_stopScrolling\",\n value: function _stopScrolling(event) {\n return false;\n } // Taken and adapted from http://stackoverflow.com/questions/16889447/prevent-full-page-scrolling-ios\n // Only really works for y, not sure how to extend to x or if we need to.\n\n }, {\n key: \"_recordScrollable\",\n value: function _recordScrollable(event) {\n var elem = this; // called from event handler context with this as elem\n // If the element is scrollable (content overflows), then...\n\n if (elem.scrollHeight !== elem.clientHeight) {\n // If we're at the top, scroll down one pixel to allow scrolling up\n if (elem.scrollTop === 0) {\n elem.scrollTop = 1;\n } // If we're at the bottom, scroll up one pixel to allow scrolling down\n\n\n if (elem.scrollTop === elem.scrollHeight - elem.clientHeight) {\n elem.scrollTop = elem.scrollHeight - elem.clientHeight - 1;\n }\n }\n\n elem.allowUp = elem.scrollTop > 0;\n elem.allowDown = elem.scrollTop < elem.scrollHeight - elem.clientHeight;\n elem.lastY = event.originalEvent.pageY;\n }\n }, {\n key: \"_stopScrollPropagation\",\n value: function _stopScrollPropagation(event) {\n var elem = this; // called from event handler context with this as elem\n\n var up = event.pageY < elem.lastY;\n var down = !up;\n elem.lastY = event.pageY;\n\n if (up && elem.allowUp || down && elem.allowDown) {\n event.stopPropagation();\n } else {\n event.preventDefault();\n }\n }\n /**\n * Opens the off-canvas menu.\n * @function\n * @param {Object} event - Event object passed from listener.\n * @param {jQuery} trigger - element that triggered the off-canvas to open.\n * @fires Offcanvas#opened\n * @todo also trigger 'open' event?\n */\n\n }, {\n key: \"open\",\n value: function open(event, trigger) {\n if (this.$element.hasClass('is-open') || this.isRevealed) {\n return;\n }\n\n var _this = this;\n\n if (trigger) {\n this.$lastTrigger = trigger;\n }\n\n if (this.options.forceTo === 'top') {\n window.scrollTo(0, 0);\n } else if (this.options.forceTo === 'bottom') {\n window.scrollTo(0, document.body.scrollHeight);\n }\n\n if (this.options.transitionTime && this.options.transition !== 'overlap') {\n this.$element.siblings('[data-off-canvas-content]').css('transition-duration', this.options.transitionTime);\n } else {\n this.$element.siblings('[data-off-canvas-content]').css('transition-duration', '');\n }\n\n this.$element.addClass('is-open').removeClass('is-closed');\n this.$triggers.attr('aria-expanded', 'true');\n this.$element.attr('aria-hidden', 'false');\n this.$content.addClass('is-open-' + this.position); // If `contentScroll` is set to false, add class and disable scrolling on touch devices.\n\n if (this.options.contentScroll === false) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling);\n this.$element.on('touchstart', this._recordScrollable);\n this.$element.on('touchmove', this._stopScrollPropagation);\n }\n\n if (this.options.contentOverlay === true) {\n this.$overlay.addClass('is-visible');\n }\n\n if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n this.$overlay.addClass('is-closable');\n }\n\n if (this.options.autoFocus === true) {\n this.$element.one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"transitionend\"])(this.$element), function () {\n if (!_this.$element.hasClass('is-open')) {\n return; // exit if prematurely closed\n }\n\n var canvasFocus = _this.$element.find('[data-autofocus]');\n\n if (canvasFocus.length) {\n canvasFocus.eq(0).focus();\n } else {\n _this.$element.find('a, button').eq(0).focus();\n }\n });\n }\n\n if (this.options.trapFocus === true) {\n this.$content.attr('tabindex', '-1');\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].trapFocus(this.$element);\n }\n\n this._addContentClasses();\n /**\n * Fires when the off-canvas menu opens.\n * @event Offcanvas#opened\n */\n\n\n this.$element.trigger('opened.zf.offcanvas');\n }\n /**\n * Closes the off-canvas menu.\n * @function\n * @param {Function} cb - optional cb to fire after closure.\n * @fires Offcanvas#closed\n */\n\n }, {\n key: \"close\",\n value: function close(cb) {\n if (!this.$element.hasClass('is-open') || this.isRevealed) {\n return;\n }\n\n var _this = this;\n\n this.$element.removeClass('is-open');\n this.$element.attr('aria-hidden', 'true')\n /**\n * Fires when the off-canvas menu opens.\n * @event Offcanvas#closed\n */\n .trigger('closed.zf.offcanvas');\n 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.\n\n if (this.options.contentScroll === false) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').removeClass('is-off-canvas-open').off('touchmove', this._stopScrolling);\n this.$element.off('touchstart', this._recordScrollable);\n this.$element.off('touchmove', this._stopScrollPropagation);\n }\n\n if (this.options.contentOverlay === true) {\n this.$overlay.removeClass('is-visible');\n }\n\n if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n this.$overlay.removeClass('is-closable');\n }\n\n this.$triggers.attr('aria-expanded', 'false');\n\n if (this.options.trapFocus === true) {\n this.$content.removeAttr('tabindex');\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].releaseFocus(this.$element);\n } // Listen to transitionEnd and add class when done.\n\n\n this.$element.one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"transitionend\"])(this.$element), function (e) {\n _this.$element.addClass('is-closed');\n\n _this._removeContentClasses();\n });\n }\n /**\n * Toggles the off-canvas menu open or closed.\n * @function\n * @param {Object} event - Event object passed from listener.\n * @param {jQuery} trigger - element that triggered the off-canvas to open.\n */\n\n }, {\n key: \"toggle\",\n value: function toggle(event, trigger) {\n if (this.$element.hasClass('is-open')) {\n this.close(event, trigger);\n } else {\n this.open(event, trigger);\n }\n }\n /**\n * 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.\n * @function\n * @private\n */\n\n }, {\n key: \"_handleKeyboard\",\n value: function _handleKeyboard(e) {\n var _this3 = this;\n\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].handleKey(e, 'OffCanvas', {\n close: function close() {\n _this3.close();\n\n _this3.$lastTrigger.focus();\n\n return true;\n },\n handled: function handled() {\n e.stopPropagation();\n e.preventDefault();\n }\n });\n }\n /**\n * Destroys the offcanvas plugin.\n * @function\n */\n\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n this.close();\n this.$element.off('.zf.trigger .zf.offcanvas');\n this.$overlay.off('.zf.offcanvas');\n if (this.onLoadListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener);\n }\n }]);\n\n return OffCanvas;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_4__[\"Plugin\"]);\n\nOffCanvas.defaults = {\n /**\n * Allow the user to click outside of the menu to close it.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClick: true,\n\n /**\n * Adds an overlay on top of `[data-off-canvas-content]`.\n * @option\n * @type {boolean}\n * @default true\n */\n contentOverlay: true,\n\n /**\n * Target an off-canvas content container by ID that may be placed anywhere. If null the closest content container will be taken.\n * @option\n * @type {?string}\n * @default null\n */\n contentId: null,\n\n /**\n * Define the off-canvas element is nested in an off-canvas content. This is required when using the contentId option for a nested element.\n * @option\n * @type {boolean}\n * @default null\n */\n nested: null,\n\n /**\n * Enable/disable scrolling of the main content when an off canvas panel is open.\n * @option\n * @type {boolean}\n * @default true\n */\n contentScroll: true,\n\n /**\n * Amount of time in ms the open and close transition requires. If none selected, pulls from body style.\n * @option\n * @type {number}\n * @default null\n */\n transitionTime: null,\n\n /**\n * Type of transition for the offcanvas menu. Options are 'push', 'detached' or 'slide'.\n * @option\n * @type {string}\n * @default push\n */\n transition: 'push',\n\n /**\n * Force the page to scroll to top or bottom on open.\n * @option\n * @type {?string}\n * @default null\n */\n forceTo: null,\n\n /**\n * Allow the offcanvas to remain open for certain breakpoints.\n * @option\n * @type {boolean}\n * @default false\n */\n isRevealed: false,\n\n /**\n * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option.\n * @option\n * @type {?string}\n * @default null\n */\n revealOn: null,\n\n /**\n * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.\n * @option\n * @type {boolean}\n * @default true\n */\n autoFocus: true,\n\n /**\n * Class used to force an offcanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.\n * @option\n * @type {string}\n * @default reveal-for-\n * @todo improve the regex testing for this.\n */\n revealClass: 'reveal-for-',\n\n /**\n * Triggers optional focus trapping when opening an offcanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.\n * @option\n * @type {boolean}\n * @default false\n */\n trapFocus: false\n};\n\n\n/***/ }),\n\n/***/ \"./js/foundation.util.triggers.js\":\n/*!****************************************!*\\\n !*** ./js/foundation.util.triggers.js ***!\n \\****************************************/\n/*! exports provided: Triggers */\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__, \"Triggers\", function() { return Triggers; });\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_util_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.motion */ \"./foundation.util.motion\");\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__);\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\n\n\n\n\nvar MutationObserver = function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n\n for (var i = 0; i < prefixes.length; i++) {\n if (\"\".concat(prefixes[i], \"MutationObserver\") in window) {\n return window[\"\".concat(prefixes[i], \"MutationObserver\")];\n }\n }\n\n return false;\n}();\n\nvar triggers = function triggers(el, type) {\n el.data(type).split(' ').forEach(function (id) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(id))[type === 'close' ? 'trigger' : 'triggerHandler'](\"\".concat(type, \".zf.trigger\"), [el]);\n });\n};\n\nvar Triggers = {\n Listeners: {\n Basic: {},\n Global: {}\n },\n Initializers: {}\n};\nTriggers.Listeners.Basic = {\n openListener: function openListener() {\n triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'open');\n },\n closeListener: function closeListener() {\n var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('close');\n\n if (id) {\n triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'close');\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('close.zf.trigger');\n }\n },\n toggleListener: function toggleListener() {\n var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle');\n\n if (id) {\n triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'toggle');\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('toggle.zf.trigger');\n }\n },\n closeableListener: function closeableListener(e) {\n e.stopPropagation();\n var animation = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('closable');\n\n if (animation !== '') {\n _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__[\"Motion\"].animateOut(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), animation, function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('closed.zf');\n });\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function toggleFocusListener() {\n var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle-focus');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(id)).triggerHandler('toggle.zf.trigger', [jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)]);\n }\n}; // Elements with [data-open] will reveal a plugin that supports it when clicked.\n\nTriggers.Initializers.addOpenListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}; // Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\n\n\nTriggers.Initializers.addCloseListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}; // Elements with [data-toggle] will toggle a plugin that supports it when clicked.\n\n\nTriggers.Initializers.addToggleListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}; // Elements with [data-closable] will respond to close.zf.trigger events.\n\n\nTriggers.Initializers.addCloseableListener = function ($elem) {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}; // Elements with [data-toggle-focus] will respond to coming in and out of focus\n\n\nTriggers.Initializers.addToggleFocusListener = function ($elem) {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}; // More Global/complex listeners and triggers\n\n\nTriggers.Listeners.Global = {\n resizeListener: function resizeListener($nodes) {\n if (!MutationObserver) {\n //fallback for IE 9\n $nodes.each(function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('resizeme.zf.trigger');\n });\n } //trigger all listening elements and signal a resize event\n\n\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function scrollListener($nodes) {\n if (!MutationObserver) {\n //fallback for IE 9\n $nodes.each(function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('scrollme.zf.trigger');\n });\n } //trigger all listening elements and signal a scroll event\n\n\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function closeMeListener(e, pluginId) {\n var plugin = e.namespace.split('.')[0];\n var plugins = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-\".concat(plugin, \"]\")).not(\"[data-yeti-box=\\\"\".concat(pluginId, \"\\\"]\"));\n plugins.each(function () {\n var _this = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n } // Global, parses whole document.\n\n};\n\nTriggers.Initializers.addClosemeListener = function (pluginName) {\n var yetiBoxes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if (pluginName) {\n if (typeof pluginName === 'string') {\n plugNames.push(pluginName);\n } else if (_typeof(pluginName) === 'object' && typeof pluginName[0] === 'string') {\n plugNames.concat(pluginName);\n } else {\n console.error('Plugin names must be strings');\n }\n }\n\n if (yetiBoxes.length) {\n var listeners = plugNames.map(function (name) {\n return \"closeme.zf.\".concat(name);\n }).join(' ');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n};\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n var timer,\n args = Array.prototype.slice.call(arguments, 3);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(trigger).on(trigger, function (e) {\n if (timer) {\n clearTimeout(timer);\n }\n\n timer = setTimeout(function () {\n listener.apply(null, args);\n }, debounce || 10); //default time to emit scroll event\n });\n}\n\nTriggers.Initializers.addResizeListener = function (debounce) {\n var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-resize]');\n\n if ($nodes.length) {\n debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);\n }\n};\n\nTriggers.Initializers.addScrollListener = function (debounce) {\n var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-scroll]');\n\n if ($nodes.length) {\n debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);\n }\n};\n\nTriggers.Initializers.addMutationEventsListener = function ($elem) {\n if (!MutationObserver) {\n return false;\n }\n\n var $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]'); //element callback\n\n var listeningElementsMutation = function listeningElementsMutation(mutationRecordsList) {\n var $target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(mutationRecordsList[0].target); //trigger the event handler for the element depending on type\n\n switch (mutationRecordsList[0].type) {\n case \"attributes\":\n if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n }\n\n if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('resizeme.zf.trigger', [$target]);\n }\n\n if (mutationRecordsList[0].attributeName === \"style\") {\n $target.closest(\"[data-mutate]\").attr(\"data-events\", \"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n }\n\n break;\n\n case \"childList\":\n $target.closest(\"[data-mutate]\").attr(\"data-events\", \"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n break;\n\n default:\n return false;\n //nothing\n }\n };\n\n if ($nodes.length) {\n //for each element that needs to listen for resizing, scrolling, or mutation add a single observer\n for (var i = 0; i <= $nodes.length - 1; i++) {\n var elementObserver = new MutationObserver(listeningElementsMutation);\n elementObserver.observe($nodes[i], {\n attributes: true,\n childList: true,\n characterData: false,\n subtree: true,\n attributeFilter: [\"data-events\", \"style\"]\n });\n }\n }\n};\n\nTriggers.Initializers.addSimpleListeners = function () {\n var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document);\n Triggers.Initializers.addOpenListener($document);\n Triggers.Initializers.addCloseListener($document);\n Triggers.Initializers.addToggleListener($document);\n Triggers.Initializers.addCloseableListener($document);\n Triggers.Initializers.addToggleFocusListener($document);\n};\n\nTriggers.Initializers.addGlobalListeners = function () {\n var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document);\n Triggers.Initializers.addMutationEventsListener($document);\n Triggers.Initializers.addResizeListener();\n Triggers.Initializers.addScrollListener();\n Triggers.Initializers.addClosemeListener();\n};\n\nTriggers.init = function ($, Foundation) {\n Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"onLoad\"])($(window), function () {\n if ($.triggersInitialized !== true) {\n Triggers.Initializers.addSimpleListeners();\n Triggers.Initializers.addGlobalListeners();\n $.triggersInitialized = true;\n }\n });\n\n if (Foundation) {\n Foundation.Triggers = Triggers; // Legacy included to be backwards compatible for now.\n\n Foundation.IHearYou = Triggers.Initializers.addGlobalListeners;\n }\n};\n\n\n\n/***/ }),\n\n/***/ 9:\n/*!**********************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.offcanvas.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.offcanvas.js */\"./js/entries/plugins/foundation.offcanvas.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.offcanvas.js.map"]}
@@ -0,0 +1,883 @@
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if(typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory(require("./foundation.util.motion"), require("./foundation.core"), require("jquery"), require("./foundation.util.keyboard"), require("./foundation.util.timer"), require("./foundation.util.imageLoader"), require("./foundation.core.utils"), require("./foundation.core.plugin"), require("./foundation.util.touch"));
4
+ else if(typeof define === 'function' && define.amd)
5
+ define(["./foundation.util.motion", "./foundation.core", "jquery", "./foundation.util.keyboard", "./foundation.util.timer", "./foundation.util.imageLoader", "./foundation.core.utils", "./foundation.core.plugin", "./foundation.util.touch"], factory);
6
+ else if(typeof exports === 'object')
7
+ exports["foundation.orbit"] = factory(require("./foundation.util.motion"), require("./foundation.core"), require("jquery"), require("./foundation.util.keyboard"), require("./foundation.util.timer"), require("./foundation.util.imageLoader"), require("./foundation.core.utils"), require("./foundation.core.plugin"), require("./foundation.util.touch"));
8
+ else
9
+ root["__FOUNDATION_EXTERNAL__"] = root["__FOUNDATION_EXTERNAL__"] || {}, root["__FOUNDATION_EXTERNAL__"]["foundation.orbit"] = factory(root["__FOUNDATION_EXTERNAL__"]["foundation.util.motion"], root["__FOUNDATION_EXTERNAL__"]["foundation.core"], root["jQuery"], root["__FOUNDATION_EXTERNAL__"]["foundation.util.keyboard"], root["__FOUNDATION_EXTERNAL__"]["foundation.util.timer"], root["__FOUNDATION_EXTERNAL__"]["foundation.util.imageLoader"], root["__FOUNDATION_EXTERNAL__"]["foundation.core"], root["__FOUNDATION_EXTERNAL__"]["foundation.core"], root["__FOUNDATION_EXTERNAL__"]["foundation.util.touch"]);
10
+ })(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_util_timer__, __WEBPACK_EXTERNAL_MODULE__foundation_util_imageLoader__, __WEBPACK_EXTERNAL_MODULE__foundation_core_utils__, __WEBPACK_EXTERNAL_MODULE__foundation_core_plugin__, __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__) {
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 = 10);
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.imageLoader":
133
+ /*!****************************************************************************************************************************************************************************************************************!*\
134
+ !*** external {"root":["__FOUNDATION_EXTERNAL__","foundation.util.imageLoader"],"amd":"./foundation.util.imageLoader","commonjs":"./foundation.util.imageLoader","commonjs2":"./foundation.util.imageLoader"} ***!
135
+ \****************************************************************************************************************************************************************************************************************/
136
+ /*! no static exports found */
137
+ /***/ (function(module, exports) {
138
+
139
+ module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_imageLoader__;
140
+
141
+ /***/ }),
142
+
143
+ /***/ "./foundation.util.keyboard":
144
+ /*!****************************************************************************************************************************************************************************************************!*\
145
+ !*** external {"root":["__FOUNDATION_EXTERNAL__","foundation.util.keyboard"],"amd":"./foundation.util.keyboard","commonjs":"./foundation.util.keyboard","commonjs2":"./foundation.util.keyboard"} ***!
146
+ \****************************************************************************************************************************************************************************************************/
147
+ /*! no static exports found */
148
+ /***/ (function(module, exports) {
149
+
150
+ module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;
151
+
152
+ /***/ }),
153
+
154
+ /***/ "./foundation.util.motion":
155
+ /*!********************************************************************************************************************************************************************************************!*\
156
+ !*** external {"root":["__FOUNDATION_EXTERNAL__","foundation.util.motion"],"amd":"./foundation.util.motion","commonjs":"./foundation.util.motion","commonjs2":"./foundation.util.motion"} ***!
157
+ \********************************************************************************************************************************************************************************************/
158
+ /*! no static exports found */
159
+ /***/ (function(module, exports) {
160
+
161
+ module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;
162
+
163
+ /***/ }),
164
+
165
+ /***/ "./foundation.util.timer":
166
+ /*!****************************************************************************************************************************************************************************************!*\
167
+ !*** external {"root":["__FOUNDATION_EXTERNAL__","foundation.util.timer"],"amd":"./foundation.util.timer","commonjs":"./foundation.util.timer","commonjs2":"./foundation.util.timer"} ***!
168
+ \****************************************************************************************************************************************************************************************/
169
+ /*! no static exports found */
170
+ /***/ (function(module, exports) {
171
+
172
+ module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_timer__;
173
+
174
+ /***/ }),
175
+
176
+ /***/ "./foundation.util.touch":
177
+ /*!****************************************************************************************************************************************************************************************!*\
178
+ !*** external {"root":["__FOUNDATION_EXTERNAL__","foundation.util.touch"],"amd":"./foundation.util.touch","commonjs":"./foundation.util.touch","commonjs2":"./foundation.util.touch"} ***!
179
+ \****************************************************************************************************************************************************************************************/
180
+ /*! no static exports found */
181
+ /***/ (function(module, exports) {
182
+
183
+ module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__;
184
+
185
+ /***/ }),
186
+
187
+ /***/ "./js/entries/plugins/foundation.orbit.js":
188
+ /*!************************************************!*\
189
+ !*** ./js/entries/plugins/foundation.orbit.js ***!
190
+ \************************************************/
191
+ /*! exports provided: Foundation, Orbit */
192
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
193
+
194
+ "use strict";
195
+ __webpack_require__.r(__webpack_exports__);
196
+ /* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ "./foundation.core");
197
+ /* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);
198
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Foundation", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__["Foundation"]; });
199
+
200
+ /* harmony import */ var _foundation_orbit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.orbit */ "./js/foundation.orbit.js");
201
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Orbit", function() { return _foundation_orbit__WEBPACK_IMPORTED_MODULE_1__["Orbit"]; });
202
+
203
+
204
+
205
+ _foundation_core__WEBPACK_IMPORTED_MODULE_0__["Foundation"].plugin(_foundation_orbit__WEBPACK_IMPORTED_MODULE_1__["Orbit"], 'Orbit');
206
+
207
+
208
+ /***/ }),
209
+
210
+ /***/ "./js/foundation.orbit.js":
211
+ /*!********************************!*\
212
+ !*** ./js/foundation.orbit.js ***!
213
+ \********************************/
214
+ /*! exports provided: Orbit */
215
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
216
+
217
+ "use strict";
218
+ __webpack_require__.r(__webpack_exports__);
219
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Orbit", function() { return Orbit; });
220
+ /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");
221
+ /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
222
+ /* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.util.keyboard */ "./foundation.util.keyboard");
223
+ /* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__);
224
+ /* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.motion */ "./foundation.util.motion");
225
+ /* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__);
226
+ /* harmony import */ var _foundation_util_timer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.timer */ "./foundation.util.timer");
227
+ /* harmony import */ var _foundation_util_timer__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_timer__WEBPACK_IMPORTED_MODULE_3__);
228
+ /* harmony import */ var _foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.util.imageLoader */ "./foundation.util.imageLoader");
229
+ /* harmony import */ var _foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_4__);
230
+ /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./foundation.core.utils */ "./foundation.core.utils");
231
+ /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_5__);
232
+ /* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./foundation.core.plugin */ "./foundation.core.plugin");
233
+ /* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_6__);
234
+ /* harmony import */ var _foundation_util_touch__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./foundation.util.touch */ "./foundation.util.touch");
235
+ /* harmony import */ var _foundation_util_touch__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_touch__WEBPACK_IMPORTED_MODULE_7__);
236
+
237
+
238
+ 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); }
239
+
240
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
241
+
242
+ 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); } }
243
+
244
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
245
+
246
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
247
+
248
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
249
+
250
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
251
+
252
+ 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); }
253
+
254
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
255
+
256
+
257
+
258
+
259
+
260
+
261
+
262
+
263
+
264
+ /**
265
+ * Orbit module.
266
+ * @module foundation.orbit
267
+ * @requires foundation.util.keyboard
268
+ * @requires foundation.util.motion
269
+ * @requires foundation.util.timer
270
+ * @requires foundation.util.imageLoader
271
+ * @requires foundation.util.touch
272
+ */
273
+
274
+ var Orbit =
275
+ /*#__PURE__*/
276
+ function (_Plugin) {
277
+ _inherits(Orbit, _Plugin);
278
+
279
+ function Orbit() {
280
+ _classCallCheck(this, Orbit);
281
+
282
+ return _possibleConstructorReturn(this, _getPrototypeOf(Orbit).apply(this, arguments));
283
+ }
284
+
285
+ _createClass(Orbit, [{
286
+ key: "_setup",
287
+
288
+ /**
289
+ * Creates a new instance of an orbit carousel.
290
+ * @class
291
+ * @name Orbit
292
+ * @param {jQuery} element - jQuery object to make into an Orbit Carousel.
293
+ * @param {Object} options - Overrides to the default plugin settings.
294
+ */
295
+ value: function _setup(element, options) {
296
+ this.$element = element;
297
+ this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Orbit.defaults, this.$element.data(), options);
298
+ this.className = 'Orbit'; // ie9 back compat
299
+
300
+ _foundation_util_touch__WEBPACK_IMPORTED_MODULE_7__["Touch"].init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); // Touch init is idempotent, we just need to make sure it's initialied.
301
+
302
+ this._init();
303
+
304
+ _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__["Keyboard"].register('Orbit', {
305
+ 'ltr': {
306
+ 'ARROW_RIGHT': 'next',
307
+ 'ARROW_LEFT': 'previous'
308
+ },
309
+ 'rtl': {
310
+ 'ARROW_LEFT': 'next',
311
+ 'ARROW_RIGHT': 'previous'
312
+ }
313
+ });
314
+ }
315
+ /**
316
+ * Initializes the plugin by creating jQuery collections, setting attributes, and starting the animation.
317
+ * @function
318
+ * @private
319
+ */
320
+
321
+ }, {
322
+ key: "_init",
323
+ value: function _init() {
324
+ // @TODO: consider discussion on PR #9278 about DOM pollution by changeSlide
325
+ this._reset();
326
+
327
+ this.$wrapper = this.$element.find(".".concat(this.options.containerClass));
328
+ this.$slides = this.$element.find(".".concat(this.options.slideClass));
329
+ var $images = this.$element.find('img'),
330
+ initActive = this.$slides.filter('.is-active'),
331
+ id = this.$element[0].id || Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_5__["GetYoDigits"])(6, 'orbit');
332
+ this.$element.attr({
333
+ 'data-resize': id,
334
+ 'id': id
335
+ });
336
+
337
+ if (!initActive.length) {
338
+ this.$slides.eq(0).addClass('is-active');
339
+ }
340
+
341
+ if (!this.options.useMUI) {
342
+ this.$slides.addClass('no-motionui');
343
+ }
344
+
345
+ if ($images.length) {
346
+ Object(_foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_4__["onImagesLoaded"])($images, this._prepareForOrbit.bind(this));
347
+ } else {
348
+ this._prepareForOrbit(); //hehe
349
+
350
+ }
351
+
352
+ if (this.options.bullets) {
353
+ this._loadBullets();
354
+ }
355
+
356
+ this._events();
357
+
358
+ if (this.options.autoPlay && this.$slides.length > 1) {
359
+ this.geoSync();
360
+ }
361
+
362
+ if (this.options.accessible) {
363
+ // allow wrapper to be focusable to enable arrow navigation
364
+ this.$wrapper.attr('tabindex', 0);
365
+ }
366
+ }
367
+ /**
368
+ * Creates a jQuery collection of bullets, if they are being used.
369
+ * @function
370
+ * @private
371
+ */
372
+
373
+ }, {
374
+ key: "_loadBullets",
375
+ value: function _loadBullets() {
376
+ this.$bullets = this.$element.find(".".concat(this.options.boxOfBullets)).find('button');
377
+ }
378
+ /**
379
+ * Sets a `timer` object on the orbit, and starts the counter for the next slide.
380
+ * @function
381
+ */
382
+
383
+ }, {
384
+ key: "geoSync",
385
+ value: function geoSync() {
386
+ var _this = this;
387
+
388
+ this.timer = new _foundation_util_timer__WEBPACK_IMPORTED_MODULE_3__["Timer"](this.$element, {
389
+ duration: this.options.timerDelay,
390
+ infinite: false
391
+ }, function () {
392
+ _this.changeSlide(true);
393
+ });
394
+ this.timer.start();
395
+ }
396
+ /**
397
+ * Sets wrapper and slide heights for the orbit.
398
+ * @function
399
+ * @private
400
+ */
401
+
402
+ }, {
403
+ key: "_prepareForOrbit",
404
+ value: function _prepareForOrbit() {
405
+ var _this = this;
406
+
407
+ this._setWrapperHeight();
408
+ }
409
+ /**
410
+ * Calulates the height of each slide in the collection, and uses the tallest one for the wrapper height.
411
+ * @function
412
+ * @private
413
+ * @param {Function} cb - a callback function to fire when complete.
414
+ */
415
+
416
+ }, {
417
+ key: "_setWrapperHeight",
418
+ value: function _setWrapperHeight(cb) {
419
+ //rewrite this to `for` loop
420
+ var max = 0,
421
+ temp,
422
+ counter = 0,
423
+ _this = this;
424
+
425
+ this.$slides.each(function () {
426
+ temp = this.getBoundingClientRect().height;
427
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).attr('data-slide', counter); // hide all slides but the active one
428
+
429
+ if (!/mui/g.test(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)[0].className) && _this.$slides.filter('.is-active')[0] !== _this.$slides.eq(counter)[0]) {
430
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).css({
431
+ 'display': 'none'
432
+ });
433
+ }
434
+
435
+ max = temp > max ? temp : max;
436
+ counter++;
437
+ });
438
+
439
+ if (counter === this.$slides.length) {
440
+ this.$wrapper.css({
441
+ 'height': max
442
+ }); //only change the wrapper height property once.
443
+
444
+ if (cb) {
445
+ cb(max);
446
+ } //fire callback with max height dimension.
447
+
448
+ }
449
+ }
450
+ /**
451
+ * Sets the max-height of each slide.
452
+ * @function
453
+ * @private
454
+ */
455
+
456
+ }, {
457
+ key: "_setSlideHeight",
458
+ value: function _setSlideHeight(height) {
459
+ this.$slides.each(function () {
460
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).css('max-height', height);
461
+ });
462
+ }
463
+ /**
464
+ * Adds event listeners to basically everything within the element.
465
+ * @function
466
+ * @private
467
+ */
468
+
469
+ }, {
470
+ key: "_events",
471
+ value: function _events() {
472
+ var _this = this; //***************************************
473
+ //**Now using custom event - thanks to:**
474
+ //** Yohai Ararat of Toronto **
475
+ //***************************************
476
+ //
477
+
478
+
479
+ this.$element.off('.resizeme.zf.trigger').on({
480
+ 'resizeme.zf.trigger': this._prepareForOrbit.bind(this)
481
+ });
482
+
483
+ if (this.$slides.length > 1) {
484
+ if (this.options.swipe) {
485
+ this.$slides.off('swipeleft.zf.orbit swiperight.zf.orbit').on('swipeleft.zf.orbit', function (e) {
486
+ e.preventDefault();
487
+
488
+ _this.changeSlide(true);
489
+ }).on('swiperight.zf.orbit', function (e) {
490
+ e.preventDefault();
491
+
492
+ _this.changeSlide(false);
493
+ });
494
+ } //***************************************
495
+
496
+
497
+ if (this.options.autoPlay) {
498
+ this.$slides.on('click.zf.orbit', function () {
499
+ _this.$element.data('clickedOn', _this.$element.data('clickedOn') ? false : true);
500
+
501
+ _this.timer[_this.$element.data('clickedOn') ? 'pause' : 'start']();
502
+ });
503
+
504
+ if (this.options.pauseOnHover) {
505
+ this.$element.on('mouseenter.zf.orbit', function () {
506
+ _this.timer.pause();
507
+ }).on('mouseleave.zf.orbit', function () {
508
+ if (!_this.$element.data('clickedOn')) {
509
+ _this.timer.start();
510
+ }
511
+ });
512
+ }
513
+ }
514
+
515
+ if (this.options.navButtons) {
516
+ var $controls = this.$element.find(".".concat(this.options.nextClass, ", .").concat(this.options.prevClass));
517
+ $controls.attr('tabindex', 0) //also need to handle enter/return and spacebar key presses
518
+ .on('click.zf.orbit touchend.zf.orbit', function (e) {
519
+ e.preventDefault();
520
+
521
+ _this.changeSlide(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).hasClass(_this.options.nextClass));
522
+ });
523
+ }
524
+
525
+ if (this.options.bullets) {
526
+ this.$bullets.on('click.zf.orbit touchend.zf.orbit', function () {
527
+ if (/is-active/g.test(this.className)) {
528
+ return false;
529
+ } //if this is active, kick out of function.
530
+
531
+
532
+ var idx = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('slide'),
533
+ ltr = idx > _this.$slides.filter('.is-active').data('slide'),
534
+ $slide = _this.$slides.eq(idx);
535
+
536
+ _this.changeSlide(ltr, $slide, idx);
537
+ });
538
+ }
539
+
540
+ if (this.options.accessible) {
541
+ this.$wrapper.add(this.$bullets).on('keydown.zf.orbit', function (e) {
542
+ // handle keyboard event with keyboard util
543
+ _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__["Keyboard"].handleKey(e, 'Orbit', {
544
+ next: function next() {
545
+ _this.changeSlide(true);
546
+ },
547
+ previous: function previous() {
548
+ _this.changeSlide(false);
549
+ },
550
+ handled: function handled() {
551
+ // if bullet is focused, make sure focus moves
552
+ if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).is(_this.$bullets)) {
553
+ _this.$bullets.filter('.is-active').focus();
554
+ }
555
+ }
556
+ });
557
+ });
558
+ }
559
+ }
560
+ }
561
+ /**
562
+ * Resets Orbit so it can be reinitialized
563
+ */
564
+
565
+ }, {
566
+ key: "_reset",
567
+ value: function _reset() {
568
+ // Don't do anything if there are no slides (first run)
569
+ if (typeof this.$slides == 'undefined') {
570
+ return;
571
+ }
572
+
573
+ if (this.$slides.length > 1) {
574
+ // Remove old events
575
+ this.$element.off('.zf.orbit').find('*').off('.zf.orbit'); // Restart timer if autoPlay is enabled
576
+
577
+ if (this.options.autoPlay) {
578
+ this.timer.restart();
579
+ } // Reset all sliddes
580
+
581
+
582
+ this.$slides.each(function (el) {
583
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).removeClass('is-active is-active is-in').removeAttr('aria-live').hide();
584
+ }); // Show the first slide
585
+
586
+ this.$slides.first().addClass('is-active').show(); // Triggers when the slide has finished animating
587
+
588
+ this.$element.trigger('slidechange.zf.orbit', [this.$slides.first()]); // Select first bullet if bullets are present
589
+
590
+ if (this.options.bullets) {
591
+ this._updateBullets(0);
592
+ }
593
+ }
594
+ }
595
+ /**
596
+ * Changes the current slide to a new one.
597
+ * @function
598
+ * @param {Boolean} isLTR - if true the slide moves from right to left, if false the slide moves from left to right.
599
+ * @param {jQuery} chosenSlide - the jQuery element of the slide to show next, if one is selected.
600
+ * @param {Number} idx - the index of the new slide in its collection, if one chosen.
601
+ * @fires Orbit#slidechange
602
+ */
603
+
604
+ }, {
605
+ key: "changeSlide",
606
+ value: function changeSlide(isLTR, chosenSlide, idx) {
607
+ if (!this.$slides) {
608
+ return;
609
+ } // Don't freak out if we're in the middle of cleanup
610
+
611
+
612
+ var $curSlide = this.$slides.filter('.is-active').eq(0);
613
+
614
+ if (/mui/g.test($curSlide[0].className)) {
615
+ return false;
616
+ } //if the slide is currently animating, kick out of the function
617
+
618
+
619
+ var $firstSlide = this.$slides.first(),
620
+ $lastSlide = this.$slides.last(),
621
+ dirIn = isLTR ? 'Right' : 'Left',
622
+ dirOut = isLTR ? 'Left' : 'Right',
623
+ _this = this,
624
+ $newSlide;
625
+
626
+ if (!chosenSlide) {
627
+ //most of the time, this will be auto played or clicked from the navButtons.
628
+ $newSlide = isLTR ? //if wrapping enabled, check to see if there is a `next` or `prev` sibling, if not, select the first or last slide to fill in. if wrapping not enabled, attempt to select `next` or `prev`, if there's nothing there, the function will kick out on next step. CRAZY NESTED TERNARIES!!!!!
629
+ this.options.infiniteWrap ? $curSlide.next(".".concat(this.options.slideClass)).length ? $curSlide.next(".".concat(this.options.slideClass)) : $firstSlide : $curSlide.next(".".concat(this.options.slideClass)) : //pick next slide if moving left to right
630
+ this.options.infiniteWrap ? $curSlide.prev(".".concat(this.options.slideClass)).length ? $curSlide.prev(".".concat(this.options.slideClass)) : $lastSlide : $curSlide.prev(".".concat(this.options.slideClass)); //pick prev slide if moving right to left
631
+ } else {
632
+ $newSlide = chosenSlide;
633
+ }
634
+
635
+ if ($newSlide.length) {
636
+ /**
637
+ * Triggers before the next slide starts animating in and only if a next slide has been found.
638
+ * @event Orbit#beforeslidechange
639
+ */
640
+ this.$element.trigger('beforeslidechange.zf.orbit', [$curSlide, $newSlide]);
641
+
642
+ if (this.options.bullets) {
643
+ idx = idx || this.$slides.index($newSlide); //grab index to update bullets
644
+
645
+ this._updateBullets(idx);
646
+ }
647
+
648
+ if (this.options.useMUI && !this.$element.is(':hidden')) {
649
+ _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__["Motion"].animateIn($newSlide.addClass('is-active'), this.options["animInFrom".concat(dirIn)], function () {
650
+ $newSlide.css({
651
+ 'display': 'block'
652
+ }).attr('aria-live', 'polite');
653
+ });
654
+ _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__["Motion"].animateOut($curSlide.removeClass('is-active'), this.options["animOutTo".concat(dirOut)], function () {
655
+ $curSlide.removeAttr('aria-live');
656
+
657
+ if (_this.options.autoPlay && !_this.timer.isPaused) {
658
+ _this.timer.restart();
659
+ } //do stuff?
660
+
661
+ });
662
+ } else {
663
+ $curSlide.removeClass('is-active is-in').removeAttr('aria-live').hide();
664
+ $newSlide.addClass('is-active is-in').attr('aria-live', 'polite').show();
665
+
666
+ if (this.options.autoPlay && !this.timer.isPaused) {
667
+ this.timer.restart();
668
+ }
669
+ }
670
+ /**
671
+ * Triggers when the slide has finished animating in.
672
+ * @event Orbit#slidechange
673
+ */
674
+
675
+
676
+ this.$element.trigger('slidechange.zf.orbit', [$newSlide]);
677
+ }
678
+ }
679
+ /**
680
+ * Updates the active state of the bullets, if displayed.
681
+ * @function
682
+ * @private
683
+ * @param {Number} idx - the index of the current slide.
684
+ */
685
+
686
+ }, {
687
+ key: "_updateBullets",
688
+ value: function _updateBullets(idx) {
689
+ var $oldBullet = this.$element.find(".".concat(this.options.boxOfBullets)).find('.is-active').removeClass('is-active').blur(),
690
+ span = $oldBullet.find('span:last').detach(),
691
+ $newBullet = this.$bullets.eq(idx).addClass('is-active').append(span);
692
+ }
693
+ /**
694
+ * Destroys the carousel and hides the element.
695
+ * @function
696
+ */
697
+
698
+ }, {
699
+ key: "_destroy",
700
+ value: function _destroy() {
701
+ this.$element.off('.zf.orbit').find('*').off('.zf.orbit').end().hide();
702
+ }
703
+ }]);
704
+
705
+ return Orbit;
706
+ }(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_6__["Plugin"]);
707
+
708
+ Orbit.defaults = {
709
+ /**
710
+ * Tells the JS to look for and loadBullets.
711
+ * @option
712
+ * @type {boolean}
713
+ * @default true
714
+ */
715
+ bullets: true,
716
+
717
+ /**
718
+ * Tells the JS to apply event listeners to nav buttons
719
+ * @option
720
+ * @type {boolean}
721
+ * @default true
722
+ */
723
+ navButtons: true,
724
+
725
+ /**
726
+ * motion-ui animation class to apply
727
+ * @option
728
+ * @type {string}
729
+ * @default 'slide-in-right'
730
+ */
731
+ animInFromRight: 'slide-in-right',
732
+
733
+ /**
734
+ * motion-ui animation class to apply
735
+ * @option
736
+ * @type {string}
737
+ * @default 'slide-out-right'
738
+ */
739
+ animOutToRight: 'slide-out-right',
740
+
741
+ /**
742
+ * motion-ui animation class to apply
743
+ * @option
744
+ * @type {string}
745
+ * @default 'slide-in-left'
746
+ *
747
+ */
748
+ animInFromLeft: 'slide-in-left',
749
+
750
+ /**
751
+ * motion-ui animation class to apply
752
+ * @option
753
+ * @type {string}
754
+ * @default 'slide-out-left'
755
+ */
756
+ animOutToLeft: 'slide-out-left',
757
+
758
+ /**
759
+ * Allows Orbit to automatically animate on page load.
760
+ * @option
761
+ * @type {boolean}
762
+ * @default true
763
+ */
764
+ autoPlay: true,
765
+
766
+ /**
767
+ * Amount of time, in ms, between slide transitions
768
+ * @option
769
+ * @type {number}
770
+ * @default 5000
771
+ */
772
+ timerDelay: 5000,
773
+
774
+ /**
775
+ * Allows Orbit to infinitely loop through the slides
776
+ * @option
777
+ * @type {boolean}
778
+ * @default true
779
+ */
780
+ infiniteWrap: true,
781
+
782
+ /**
783
+ * Allows the Orbit slides to bind to swipe events for mobile, requires an additional util library
784
+ * @option
785
+ * @type {boolean}
786
+ * @default true
787
+ */
788
+ swipe: true,
789
+
790
+ /**
791
+ * Allows the timing function to pause animation on hover.
792
+ * @option
793
+ * @type {boolean}
794
+ * @default true
795
+ */
796
+ pauseOnHover: true,
797
+
798
+ /**
799
+ * Allows Orbit to bind keyboard events to the slider, to animate frames with arrow keys
800
+ * @option
801
+ * @type {boolean}
802
+ * @default true
803
+ */
804
+ accessible: true,
805
+
806
+ /**
807
+ * Class applied to the container of Orbit
808
+ * @option
809
+ * @type {string}
810
+ * @default 'orbit-container'
811
+ */
812
+ containerClass: 'orbit-container',
813
+
814
+ /**
815
+ * Class applied to individual slides.
816
+ * @option
817
+ * @type {string}
818
+ * @default 'orbit-slide'
819
+ */
820
+ slideClass: 'orbit-slide',
821
+
822
+ /**
823
+ * Class applied to the bullet container. You're welcome.
824
+ * @option
825
+ * @type {string}
826
+ * @default 'orbit-bullets'
827
+ */
828
+ boxOfBullets: 'orbit-bullets',
829
+
830
+ /**
831
+ * Class applied to the `next` navigation button.
832
+ * @option
833
+ * @type {string}
834
+ * @default 'orbit-next'
835
+ */
836
+ nextClass: 'orbit-next',
837
+
838
+ /**
839
+ * Class applied to the `previous` navigation button.
840
+ * @option
841
+ * @type {string}
842
+ * @default 'orbit-previous'
843
+ */
844
+ prevClass: 'orbit-previous',
845
+
846
+ /**
847
+ * Boolean to flag the js to use motion ui classes or not. Default to true for backwards compatibility.
848
+ * @option
849
+ * @type {boolean}
850
+ * @default true
851
+ */
852
+ useMUI: true
853
+ };
854
+
855
+
856
+ /***/ }),
857
+
858
+ /***/ 10:
859
+ /*!******************************************************!*\
860
+ !*** multi ./js/entries/plugins/foundation.orbit.js ***!
861
+ \******************************************************/
862
+ /*! no static exports found */
863
+ /***/ (function(module, exports, __webpack_require__) {
864
+
865
+ module.exports = __webpack_require__(/*! /Users/ncoden/Documents/Documents/Projects/Programmation/Web/2016/Foundation/foundation-sites/js/entries/plugins/foundation.orbit.js */"./js/entries/plugins/foundation.orbit.js");
866
+
867
+
868
+ /***/ }),
869
+
870
+ /***/ "jquery":
871
+ /*!********************************************************************************************!*\
872
+ !*** external {"root":["jQuery"],"amd":"jquery","commonjs":"jquery","commonjs2":"jquery"} ***!
873
+ \********************************************************************************************/
874
+ /*! no static exports found */
875
+ /***/ (function(module, exports) {
876
+
877
+ module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;
878
+
879
+ /***/ })
880
+
881
+ /******/ });
882
+ });
883
+ //# sourceMappingURL=foundation.orbit.js.map