foundation-rails 6.5.3.0 → 6.6.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (164) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile.lock +100 -86
  3. data/bower.json +2 -2
  4. data/foundation-rails.gemspec +5 -5
  5. data/lib/foundation/rails/version.rb +1 -1
  6. data/lib/generators/foundation/templates/_settings.scss +37 -11
  7. data/vendor/assets/js/foundation.cjs.js +1060 -370
  8. data/vendor/assets/js/foundation.cjs.js.map +1 -1
  9. data/vendor/assets/js/foundation.es6.js +926 -326
  10. data/vendor/assets/js/foundation.es6.js.map +1 -1
  11. data/vendor/assets/js/foundation.esm.js +1048 -358
  12. data/vendor/assets/js/foundation.esm.js.map +1 -1
  13. data/vendor/assets/js/foundation.js +1063 -393
  14. data/vendor/assets/js/foundation.js.map +1 -1
  15. data/vendor/assets/js/foundation.min.js +1 -1
  16. data/vendor/assets/js/foundation.min.js.map +1 -1
  17. data/vendor/assets/js/plugins/foundation.abide.js +201 -11
  18. data/vendor/assets/js/plugins/foundation.abide.js.map +1 -1
  19. data/vendor/assets/js/plugins/foundation.abide.min.js +1 -1
  20. data/vendor/assets/js/plugins/foundation.abide.min.js.map +1 -1
  21. data/vendor/assets/js/plugins/foundation.accordion.js +22 -19
  22. data/vendor/assets/js/plugins/foundation.accordion.js.map +1 -1
  23. data/vendor/assets/js/plugins/foundation.accordion.min.js +1 -1
  24. data/vendor/assets/js/plugins/foundation.accordion.min.js.map +1 -1
  25. data/vendor/assets/js/plugins/foundation.accordionMenu.js +2 -4
  26. data/vendor/assets/js/plugins/foundation.accordionMenu.js.map +1 -1
  27. data/vendor/assets/js/plugins/foundation.accordionMenu.min.js +1 -1
  28. data/vendor/assets/js/plugins/foundation.accordionMenu.min.js.map +1 -1
  29. data/vendor/assets/js/plugins/foundation.core.js +140 -28
  30. data/vendor/assets/js/plugins/foundation.core.js.map +1 -1
  31. data/vendor/assets/js/plugins/foundation.core.min.js +1 -1
  32. data/vendor/assets/js/plugins/foundation.core.min.js.map +1 -1
  33. data/vendor/assets/js/plugins/foundation.drilldown.js +29 -19
  34. data/vendor/assets/js/plugins/foundation.drilldown.js.map +1 -1
  35. data/vendor/assets/js/plugins/foundation.drilldown.min.js +1 -1
  36. data/vendor/assets/js/plugins/foundation.drilldown.min.js.map +1 -1
  37. data/vendor/assets/js/plugins/foundation.dropdown.js +30 -13
  38. data/vendor/assets/js/plugins/foundation.dropdown.js.map +1 -1
  39. data/vendor/assets/js/plugins/foundation.dropdown.min.js +1 -1
  40. data/vendor/assets/js/plugins/foundation.dropdown.min.js.map +1 -1
  41. data/vendor/assets/js/plugins/foundation.dropdownMenu.js +67 -38
  42. data/vendor/assets/js/plugins/foundation.dropdownMenu.js.map +1 -1
  43. data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js +1 -1
  44. data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js.map +1 -1
  45. data/vendor/assets/js/plugins/foundation.equalizer.js +1 -1
  46. data/vendor/assets/js/plugins/foundation.equalizer.min.js +1 -1
  47. data/vendor/assets/js/plugins/foundation.equalizer.min.js.map +1 -1
  48. data/vendor/assets/js/plugins/foundation.interchange.js +48 -13
  49. data/vendor/assets/js/plugins/foundation.interchange.js.map +1 -1
  50. data/vendor/assets/js/plugins/foundation.interchange.min.js +1 -1
  51. data/vendor/assets/js/plugins/foundation.interchange.min.js.map +1 -1
  52. data/vendor/assets/js/plugins/foundation.magellan.js +340 -12
  53. data/vendor/assets/js/plugins/foundation.magellan.js.map +1 -1
  54. data/vendor/assets/js/plugins/foundation.magellan.min.js +1 -1
  55. data/vendor/assets/js/plugins/foundation.magellan.min.js.map +1 -1
  56. data/vendor/assets/js/plugins/foundation.offcanvas.js +234 -56
  57. data/vendor/assets/js/plugins/foundation.offcanvas.js.map +1 -1
  58. data/vendor/assets/js/plugins/foundation.offcanvas.min.js +1 -1
  59. data/vendor/assets/js/plugins/foundation.offcanvas.min.js.map +1 -1
  60. data/vendor/assets/js/plugins/foundation.orbit.js +31 -4
  61. data/vendor/assets/js/plugins/foundation.orbit.js.map +1 -1
  62. data/vendor/assets/js/plugins/foundation.orbit.min.js +1 -1
  63. data/vendor/assets/js/plugins/foundation.orbit.min.js.map +1 -1
  64. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js +91 -18
  65. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js.map +1 -1
  66. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js +1 -1
  67. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js.map +1 -1
  68. data/vendor/assets/js/plugins/foundation.responsiveMenu.js +1 -1
  69. data/vendor/assets/js/plugins/foundation.responsiveMenu.min.js +1 -1
  70. data/vendor/assets/js/plugins/foundation.responsiveMenu.min.js.map +1 -1
  71. data/vendor/assets/js/plugins/foundation.responsiveToggle.js +1 -1
  72. data/vendor/assets/js/plugins/foundation.responsiveToggle.min.js +1 -1
  73. data/vendor/assets/js/plugins/foundation.responsiveToggle.min.js.map +1 -1
  74. data/vendor/assets/js/plugins/foundation.reveal.js +19 -12
  75. data/vendor/assets/js/plugins/foundation.reveal.js.map +1 -1
  76. data/vendor/assets/js/plugins/foundation.reveal.min.js +1 -1
  77. data/vendor/assets/js/plugins/foundation.reveal.min.js.map +1 -1
  78. data/vendor/assets/js/plugins/foundation.slider.js +20 -15
  79. data/vendor/assets/js/plugins/foundation.slider.js.map +1 -1
  80. data/vendor/assets/js/plugins/foundation.slider.min.js +1 -1
  81. data/vendor/assets/js/plugins/foundation.slider.min.js.map +1 -1
  82. data/vendor/assets/js/plugins/foundation.smoothScroll.js +2 -2
  83. data/vendor/assets/js/plugins/foundation.smoothScroll.js.map +1 -1
  84. data/vendor/assets/js/plugins/foundation.smoothScroll.min.js +1 -1
  85. data/vendor/assets/js/plugins/foundation.smoothScroll.min.js.map +1 -1
  86. data/vendor/assets/js/plugins/foundation.sticky.js +26 -18
  87. data/vendor/assets/js/plugins/foundation.sticky.js.map +1 -1
  88. data/vendor/assets/js/plugins/foundation.sticky.min.js +1 -1
  89. data/vendor/assets/js/plugins/foundation.sticky.min.js.map +1 -1
  90. data/vendor/assets/js/plugins/foundation.tabs.js +24 -21
  91. data/vendor/assets/js/plugins/foundation.tabs.js.map +1 -1
  92. data/vendor/assets/js/plugins/foundation.tabs.min.js +1 -1
  93. data/vendor/assets/js/plugins/foundation.tabs.min.js.map +1 -1
  94. data/vendor/assets/js/plugins/foundation.toggler.js +24 -9
  95. data/vendor/assets/js/plugins/foundation.toggler.js.map +1 -1
  96. data/vendor/assets/js/plugins/foundation.toggler.min.js +1 -1
  97. data/vendor/assets/js/plugins/foundation.toggler.min.js.map +1 -1
  98. data/vendor/assets/js/plugins/foundation.tooltip.js +31 -18
  99. data/vendor/assets/js/plugins/foundation.tooltip.js.map +1 -1
  100. data/vendor/assets/js/plugins/foundation.tooltip.min.js +1 -1
  101. data/vendor/assets/js/plugins/foundation.tooltip.min.js.map +1 -1
  102. data/vendor/assets/js/plugins/foundation.util.box.js +1 -59
  103. data/vendor/assets/js/plugins/foundation.util.box.js.map +1 -1
  104. data/vendor/assets/js/plugins/foundation.util.box.min.js +1 -1
  105. data/vendor/assets/js/plugins/foundation.util.box.min.js.map +1 -1
  106. data/vendor/assets/js/plugins/foundation.util.imageLoader.js +1 -1
  107. data/vendor/assets/js/plugins/foundation.util.imageLoader.min.js +1 -1
  108. data/vendor/assets/js/plugins/foundation.util.imageLoader.min.js.map +1 -1
  109. data/vendor/assets/js/plugins/foundation.util.keyboard.js +9 -8
  110. data/vendor/assets/js/plugins/foundation.util.keyboard.js.map +1 -1
  111. data/vendor/assets/js/plugins/foundation.util.keyboard.min.js +1 -1
  112. data/vendor/assets/js/plugins/foundation.util.keyboard.min.js.map +1 -1
  113. data/vendor/assets/js/plugins/foundation.util.mediaQuery.js +121 -17
  114. data/vendor/assets/js/plugins/foundation.util.mediaQuery.js.map +1 -1
  115. data/vendor/assets/js/plugins/foundation.util.mediaQuery.min.js +1 -1
  116. data/vendor/assets/js/plugins/foundation.util.mediaQuery.min.js.map +1 -1
  117. data/vendor/assets/js/plugins/foundation.util.motion.js +1 -2
  118. data/vendor/assets/js/plugins/foundation.util.motion.js.map +1 -1
  119. data/vendor/assets/js/plugins/foundation.util.motion.min.js +1 -1
  120. data/vendor/assets/js/plugins/foundation.util.motion.min.js.map +1 -1
  121. data/vendor/assets/js/plugins/foundation.util.nest.js +1 -1
  122. data/vendor/assets/js/plugins/foundation.util.nest.min.js +1 -1
  123. data/vendor/assets/js/plugins/foundation.util.nest.min.js.map +1 -1
  124. data/vendor/assets/js/plugins/foundation.util.timer.js +1 -1
  125. data/vendor/assets/js/plugins/foundation.util.timer.min.js +1 -1
  126. data/vendor/assets/js/plugins/foundation.util.timer.min.js.map +1 -1
  127. data/vendor/assets/js/plugins/foundation.util.touch.js +2 -2
  128. data/vendor/assets/js/plugins/foundation.util.touch.js.map +1 -1
  129. data/vendor/assets/js/plugins/foundation.util.touch.min.js +1 -1
  130. data/vendor/assets/js/plugins/foundation.util.touch.min.js.map +1 -1
  131. data/vendor/assets/js/plugins/foundation.util.triggers.js +3 -2
  132. data/vendor/assets/js/plugins/foundation.util.triggers.js.map +1 -1
  133. data/vendor/assets/js/plugins/foundation.util.triggers.min.js +1 -1
  134. data/vendor/assets/js/plugins/foundation.util.triggers.min.js.map +1 -1
  135. data/vendor/assets/scss/components/_accordion.scss +10 -2
  136. data/vendor/assets/scss/components/_button-group.scss +37 -10
  137. data/vendor/assets/scss/components/_button.scss +119 -104
  138. data/vendor/assets/scss/components/_callout.scss +12 -10
  139. data/vendor/assets/scss/components/_close-button.scss +28 -3
  140. data/vendor/assets/scss/components/_menu.scss +5 -1
  141. data/vendor/assets/scss/components/_off-canvas.scss +6 -1
  142. data/vendor/assets/scss/components/_pagination.scss +10 -2
  143. data/vendor/assets/scss/components/_switch.scss +14 -0
  144. data/vendor/assets/scss/components/_table.scss +1 -0
  145. data/vendor/assets/scss/forms/_select.scss +4 -0
  146. data/vendor/assets/scss/foundation.scss +8 -3
  147. data/vendor/assets/scss/grid/_classes.scss +25 -12
  148. data/vendor/assets/scss/grid/_column.scss +1 -31
  149. data/vendor/assets/scss/prototype/_rounded.scss +6 -2
  150. data/vendor/assets/scss/prototype/_spacing.scss +7 -5
  151. data/vendor/assets/scss/settings/_settings.scss +37 -11
  152. data/vendor/assets/scss/typography/_base.scss +16 -51
  153. data/vendor/assets/scss/typography/_helpers.scss +100 -0
  154. data/vendor/assets/scss/typography/_print.scss +8 -2
  155. data/vendor/assets/scss/util/_breakpoint.scss +172 -97
  156. data/vendor/assets/scss/util/_math.scss +75 -0
  157. data/vendor/assets/scss/util/_mixins.scss +81 -25
  158. data/vendor/assets/scss/util/_value.scss +40 -0
  159. data/vendor/assets/scss/xy-grid/_cell.scss +186 -99
  160. data/vendor/assets/scss/xy-grid/_classes.scss +26 -29
  161. data/vendor/assets/scss/xy-grid/_collapse.scss +2 -2
  162. data/vendor/assets/scss/xy-grid/_layout.scss +10 -8
  163. data/vendor/assets/scss/xy-grid/_position.scss +32 -9
  164. metadata +8 -9
@@ -1,2 +1,2 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("./foundation.smoothScroll"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.smoothScroll","jquery"],e):"object"==typeof exports?exports["foundation.magellan"]=e(require("./foundation.core"),require("./foundation.smoothScroll"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.magellan"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.smoothScroll"],t.jQuery))}(window,function(n,o,i){return function(n){var o={};function i(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,i),e.l=!0,e.exports}return i.m=n,i.c=o,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)i.d(n,o,function(t){return e[t]}.bind(null,o));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=8)}({"./foundation.core":function(t,e){t.exports=n},"./foundation.smoothScroll":function(t,e){t.exports=o},"./js/entries/plugins/foundation.magellan.js":function(t,e,n){"use strict";n.r(e);var o=n("./foundation.core");n.d(e,"Foundation",function(){return o.Foundation});var i=n("./js/foundation.magellan.js");n.d(e,"Magellan",function(){return i.Magellan}),o.Foundation.plugin(i.Magellan,"Magellan")},"./js/foundation.magellan.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Magellan",function(){return h});var o=n("jquery"),c=n.n(o),r=n("./foundation.core"),a=n("./foundation.smoothScroll");function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function s(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function l(t,e){return!e||"object"!==i(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 u(t){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function f(t,e){return(f=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var h=function(t){function n(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),l(this,u(n).apply(this,arguments))}var e,o,i;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&&f(t,e)}(n,r["Plugin"]),e=n,(o=[{key:"_setup",value:function(t,e){this.$element=t,this.options=c.a.extend({},n.defaults,this.$element.data(),e),this.className="Magellan",this._init(),this.calcPoints()}},{key:"_init",value:function(){var t=this.$element[0].id||Object(r.GetYoDigits)(6,"magellan");this.$targets=c()("[data-magellan-target]"),this.$links=this.$element.find("a"),this.$element.attr({"data-resize":t,"data-scroll":t,id:t}),this.$active=c()(),this.scrollPos=parseInt(window.pageYOffset,10),this._events()}},{key:"calcPoints",value:function(){var n=this,t=document.body,e=document.documentElement;this.points=[],this.winHeight=Math.round(Math.max(window.innerHeight,e.clientHeight)),this.docHeight=Math.round(Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)),this.$targets.each(function(){var t=c()(this),e=Math.round(t.offset().top-n.options.threshold);t.targetPoint=e,n.points.push(e)})}},{key:"_events",value:function(){var n=this;c()("html, body"),n.options.animationDuration,n.options.animationEasing;c()(window).one("load",function(){n.options.deepLinking&&location.hash&&n.scrollToLoc(location.hash),n.calcPoints(),n._updateActive()}),n.onLoadListener=Object(r.onLoad)(c()(window),function(){n.$element.on({"resizeme.zf.trigger":n.reflow.bind(n),"scrollme.zf.trigger":n._updateActive.bind(n)}).on("click.zf.magellan",'a[href^="#"]',function(t){t.preventDefault();var e=this.getAttribute("href");n.scrollToLoc(e)})}),this._deepLinkScroll=function(t){n.options.deepLinking&&n.scrollToLoc(window.location.hash)},c()(window).on("hashchange",this._deepLinkScroll)}},{key:"scrollToLoc",value:function(t){this._inTransition=!0;var e=this,n={animationEasing:this.options.animationEasing,animationDuration:this.options.animationDuration,threshold:this.options.threshold,offset:this.options.offset};a.SmoothScroll.scrollToLoc(t,n,function(){e._inTransition=!1})}},{key:"reflow",value:function(){this.calcPoints(),this._updateActive()}},{key:"_updateActive",value:function(){var n=this;if(!this._inTransition){var t,o=parseInt(window.pageYOffset,10),i=this.scrollPos>o;if((this.scrollPos=o)<this.points[0]);else if(o+this.winHeight===this.docHeight)t=this.points.length-1;else{var e=this.points.filter(function(t,e){return t-n.options.offset-(i?n.options.threshold:0)<=o});t=e.length?e.length-1:0}var r=this.$active,a="";void 0!==t?(this.$active=this.$links.filter('[href="#'+this.$targets.eq(t).data("magellan-target")+'"]'),this.$active.length&&(a=this.$active[0].getAttribute("href"))):this.$active=c()();var s=!(!this.$active.length&&!r.length||this.$active.is(r)),l=a!==window.location.hash;if(s&&(r.removeClass(this.options.activeClass),this.$active.addClass(this.options.activeClass)),this.options.deepLinking&&l)if(window.history.pushState){var u=a||window.location.pathname+window.location.search;window.history.pushState(null,null,u)}else window.location.hash=a;s&&this.$element.trigger("update.zf.magellan",[this.$active])}}},{key:"_destroy",value:function(){if(this.$element.off(".zf.trigger .zf.magellan").find(".".concat(this.options.activeClass)).removeClass(this.options.activeClass),this.options.deepLinking){var t=this.$active[0].getAttribute("href");window.location.hash.replace(t,"")}c()(window).off("hashchange",this._deepLinkScroll),this.onLoadListener&&c()(window).off(this.onLoadListener)}}])&&s(e.prototype,o),i&&s(e,i),n}();h.defaults={animationDuration:500,animationEasing:"linear",threshold:50,activeClass:"is-active",deepLinking:!1,offset:0}},8:function(t,e,n){t.exports=n("./js/entries/plugins/foundation.magellan.js")},jquery:function(t,e){t.exports=i}})});
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("./foundation.smoothScroll"),require("./foundation.util.motion"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.smoothScroll","./foundation.util.motion","jquery"],e):"object"==typeof exports?exports["foundation.magellan"]=e(require("./foundation.core"),require("./foundation.smoothScroll"),require("./foundation.util.motion"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.magellan"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.smoothScroll"],t.__FOUNDATION_EXTERNAL__["foundation.util.motion"],t.jQuery))}(window,function(i,n,o,r){return l={},a.m=s={"./foundation.core":function(t,e){t.exports=i},"./foundation.smoothScroll":function(t,e){t.exports=n},"./foundation.util.motion":function(t,e){t.exports=o},"./js/entries/plugins/foundation.magellan.js":function(t,e,i){"use strict";i.r(e);var n=i("./foundation.core");i.d(e,"Foundation",function(){return n.Foundation});var o=i("./js/foundation.magellan.js");i.d(e,"Magellan",function(){return o.Magellan}),n.Foundation.plugin(o.Magellan,"Magellan")},"./js/foundation.magellan.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Magellan",function(){return g});var n=i("jquery"),u=i.n(n),o=i("./foundation.core"),r=i("./foundation.smoothScroll"),a=i("./js/foundation.util.triggers.js");function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function l(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function c(t,e){return!e||"object"!==s(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 f(t){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function d(t,e){return(d=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var g=function(){function i(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),c(this,f(i).apply(this,arguments))}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&&d(t,e)}(i,o["Plugin"]),function(t,e,i){e&&l(t.prototype,e),i&&l(t,i)}(i,[{key:"_setup",value:function(t,e){this.$element=t,this.options=u.a.extend({},i.defaults,this.$element.data(),e),this.className="Magellan",a.Triggers.init(u.a),this._init(),this.calcPoints()}},{key:"_init",value:function(){var t=this.$element[0].id||Object(o.GetYoDigits)(6,"magellan");this.$targets=u()("[data-magellan-target]"),this.$links=this.$element.find("a"),this.$element.attr({"data-resize":t,"data-scroll":t,id:t}),this.$active=u()(),this.scrollPos=parseInt(window.pageYOffset,10),this._events()}},{key:"calcPoints",value:function(){var i=this,t=document.body,e=document.documentElement;this.points=[],this.winHeight=Math.round(Math.max(window.innerHeight,e.clientHeight)),this.docHeight=Math.round(Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)),this.$targets.each(function(){var t=u()(this),e=Math.round(t.offset().top-i.options.threshold);t.targetPoint=e,i.points.push(e)})}},{key:"_events",value:function(){var i=this;u()("html, body"),i.options.animationDuration,i.options.animationEasing;u()(window).one("load",function(){i.options.deepLinking&&location.hash&&i.scrollToLoc(location.hash),i.calcPoints(),i._updateActive()}),i.onLoadListener=Object(o.onLoad)(u()(window),function(){i.$element.on({"resizeme.zf.trigger":i.reflow.bind(i),"scrollme.zf.trigger":i._updateActive.bind(i)}).on("click.zf.magellan",'a[href^="#"]',function(t){t.preventDefault();var e=this.getAttribute("href");i.scrollToLoc(e)})}),this._deepLinkScroll=function(t){i.options.deepLinking&&i.scrollToLoc(window.location.hash)},u()(window).on("hashchange",this._deepLinkScroll)}},{key:"scrollToLoc",value:function(t){this._inTransition=!0;var e=this,i={animationEasing:this.options.animationEasing,animationDuration:this.options.animationDuration,threshold:this.options.threshold,offset:this.options.offset};r.SmoothScroll.scrollToLoc(t,i,function(){e._inTransition=!1})}},{key:"reflow",value:function(){this.calcPoints(),this._updateActive()}},{key:"_updateActive",value:function(){var i=this;if(!this._inTransition){var t,n=parseInt(window.pageYOffset,10),o=this.scrollPos>n;if((this.scrollPos=n)<this.points[0]);else if(n+this.winHeight===this.docHeight)t=this.points.length-1;else{var e=this.points.filter(function(t,e){return t-i.options.offset-(o?i.options.threshold:0)<=n});t=e.length?e.length-1:0}var r=this.$active,a="";void 0!==t?(this.$active=this.$links.filter('[href="#'+this.$targets.eq(t).data("magellan-target")+'"]'),this.$active.length&&(a=this.$active[0].getAttribute("href"))):this.$active=u()();var s=!(!this.$active.length&&!r.length||this.$active.is(r)),l=a!==window.location.hash;if(s&&(r.removeClass(this.options.activeClass),this.$active.addClass(this.options.activeClass)),this.options.deepLinking&&l)if(window.history.pushState){var c=a||window.location.pathname+window.location.search;this.options.updateHistory?window.history.pushState({},"",c):window.history.replaceState({},"",c)}else window.location.hash=a;s&&this.$element.trigger("update.zf.magellan",[this.$active])}}},{key:"_destroy",value:function(){if(this.$element.off(".zf.trigger .zf.magellan").find(".".concat(this.options.activeClass)).removeClass(this.options.activeClass),this.options.deepLinking){var t=this.$active[0].getAttribute("href");window.location.hash.replace(t,"")}u()(window).off("hashchange",this._deepLinkScroll),this.onLoadListener&&u()(window).off(this.onLoadListener)}}]),i}();g.defaults={animationDuration:500,animationEasing:"linear",threshold:50,activeClass:"is-active",deepLinking:!1,updateHistory:!1,offset:0}},"./js/foundation.util.triggers.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Triggers",function(){return u});var n=i("jquery"),r=i.n(n),o=i("./foundation.core"),a=i("./foundation.util.motion");function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function l(e,i){e.data(i).split(" ").forEach(function(t){r()("#".concat(t))["close"===i?"trigger":"triggerHandler"]("".concat(i,".zf.trigger"),[e])})}var c=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}(),u={Listeners:{Basic:{},Global:{}},Initializers:{}};function f(e,t,i){var n,o=Array.prototype.slice.call(arguments,3);r()(window).off(t).on(t,function(t){n&&clearTimeout(n),n=setTimeout(function(){i.apply(null,o)},e||10)})}u.Listeners.Basic={openListener:function(){l(r()(this),"open")},closeListener:function(){r()(this).data("close")?l(r()(this),"close"):r()(this).trigger("close.zf.trigger")},toggleListener:function(){r()(this).data("toggle")?l(r()(this),"toggle"):r()(this).trigger("toggle.zf.trigger")},closeableListener:function(t){var e=r()(this).data("closable");t.stopPropagation(),""!==e?a.Motion.animateOut(r()(this),e,function(){r()(this).trigger("closed.zf")}):r()(this).fadeOut().trigger("closed.zf")},toggleFocusListener:function(){var t=r()(this).data("toggle-focus");r()("#".concat(t)).triggerHandler("toggle.zf.trigger",[r()(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){c||t.each(function(){r()(this).triggerHandler("resizeme.zf.trigger")}),t.attr("data-events","resize")},scrollListener:function(t){c||t.each(function(){r()(this).triggerHandler("scrollme.zf.trigger")}),t.attr("data-events","scroll")},closeMeListener:function(t,e){var i=t.namespace.split(".")[0];r()("[data-".concat(i,"]")).not('[data-yeti-box="'.concat(e,'"]')).each(function(){var t=r()(this);t.triggerHandler("close.zf.trigger",[t])})}},u.Initializers.addClosemeListener=function(t){var e=r()("[data-yeti-box]"),i=["dropdown","tooltip","reveal"];if(t&&("string"==typeof t?i.push(t):"object"===s(t)&&"string"==typeof t[0]?i=i.concat(t):console.error("Plugin names must be strings")),e.length){var n=i.map(function(t){return"closeme.zf.".concat(t)}).join(" ");r()(window).off(n).on(n,u.Listeners.Global.closeMeListener)}},u.Initializers.addResizeListener=function(t){var e=r()("[data-resize]");e.length&&f(t,"resize.zf.trigger",u.Listeners.Global.resizeListener,e)},u.Initializers.addScrollListener=function(t){var e=r()("[data-scroll]");e.length&&f(t,"scroll.zf.trigger",u.Listeners.Global.scrollListener,e)},u.Initializers.addMutationEventsListener=function(t){if(!c)return!1;function e(t){var e=r()(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}}var i=t.find("[data-resize], [data-scroll], [data-mutate]");if(i.length)for(var n=0;n<=i.length-1;n++){new c(e).observe(i[n],{attributes:!0,childList:!0,characterData:!1,subtree:!0,attributeFilter:["data-events","style"]})}},u.Initializers.addSimpleListeners=function(){var t=r()(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=r()(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)}},8:function(t,e,i){t.exports=i("./js/entries/plugins/foundation.magellan.js")},jquery:function(t,e){t.exports=r}},a.c=l,a.d=function(t,e,i){a.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(a.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(i,n,function(t){return e[t]}.bind(null,n));return i},a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,"a",e),e},a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},a.p="",a(a.s=8);function a(t){if(l[t])return l[t].exports;var e=l[t]={i:t,l:!1,exports:{}};return s[t].call(e.exports,e,e.exports,a),e.l=!0,e.exports}var s,l});
2
2
  //# sourceMappingURL=foundation.magellan.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.smoothScroll\"],\"amd\":\"./foundation.smoothScroll\",\"commonjs\":\"./foundation.smoothScroll\",\"commonjs2\":\"./foundation.smoothScroll\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.magellan.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.magellan.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_smoothScroll__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","moduleId","i","l","modules","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","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","_foundation_magellan__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Magellan","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_smoothScroll__WEBPACK_IMPORTED_MODULE_2__","Plugin","element","options","this","$element","$","extend","defaults","data","className","_init","calcPoints","id","GetYoDigits","$targets","$links","find","attr","data-resize","data-scroll","$active","scrollPos","parseInt","pageYOffset","_events","_this","body","document","html","documentElement","points","winHeight","Math","round","max","innerHeight","clientHeight","docHeight","scrollHeight","offsetHeight","each","$tar","pt","offset","top","threshold","targetPoint","push","animationDuration","animationEasing","one","deepLinking","location","hash","scrollToLoc","_updateActive","onLoadListener","onLoad","on","resizeme.zf.trigger","reflow","scrollme.zf.trigger","e","preventDefault","arrival","getAttribute","_deepLinkScroll","loc","_inTransition","SmoothScroll","_this2","activeIdx","newScrollPos","isScrollingUp","length","visibleLinks","filter","$oldActive","activeHash","eq","isNewActive","is","isNewHash","removeClass","activeClass","addClass","history","pushState","url","pathname","search","trigger","off","concat","replace"],"mappings":"CAAA,SAAAA,EAAAC,GACA,iBAAAC,SAAA,iBAAAC,OACAA,OAAAD,QAAAD,EAAAG,QAAA,qBAAAA,QAAA,6BAAAA,QAAA,WACA,mBAAAC,QAAAA,OAAAC,IACAD,OAAA,CAAA,oBAAA,4BAAA,UAAAJ,GACA,iBAAAC,QACAA,QAAA,uBAAAD,EAAAG,QAAA,qBAAAA,QAAA,6BAAAA,QAAA,YAEAJ,EAAA,wBAAAA,EAAA,yBAAA,GAAyEA,EAAA,wBAAA,uBAAAC,EAAAD,EAAA,wBAAA,mBAAAA,EAAA,wBAAA,2BAAAA,EAAA,SARzE,CASCO,OAAA,SAAAC,EAAAC,EAAAC,GACD,mBCTA,IAAAC,EAAA,GAGA,SAAAC,EAAAC,GAGA,GAAAF,EAAAE,GACA,OAAAF,EAAAE,GAAAX,QAGA,IAAAC,EAAAQ,EAAAE,GAAA,CACAC,EAAAD,EACAE,GAAA,EACAb,QAAA,IAUA,OANAc,EAAAH,GAAAI,KAAAd,EAAAD,QAAAC,EAAAA,EAAAD,QAAAU,GAGAT,EAAAY,GAAA,EAGAZ,EAAAD,QA0DA,OArDAU,EAAAM,EAAAF,EAGAJ,EAAAO,EAAAR,EAGAC,EAAAQ,EAAA,SAAAlB,EAAAmB,EAAAC,GACAV,EAAAW,EAAArB,EAAAmB,IACAG,OAAAC,eAAAvB,EAAAmB,EAAA,CAA0CK,YAAA,EAAAC,IAAAL,KAK1CV,EAAAgB,EAAA,SAAA1B,GACA,oBAAA2B,QAAAA,OAAAC,aACAN,OAAAC,eAAAvB,EAAA2B,OAAAC,YAAA,CAAwDC,MAAA,WAExDP,OAAAC,eAAAvB,EAAA,aAAA,CAAiD6B,OAAA,KAQjDnB,EAAAoB,EAAA,SAAAD,EAAAE,GAEA,GADA,EAAAA,IAAAF,EAAAnB,EAAAmB,IACA,EAAAE,EAAA,OAAAF,EACA,GAAA,EAAAE,GAAA,iBAAAF,GAAAA,GAAAA,EAAAG,WAAA,OAAAH,EACA,IAAAI,EAAAX,OAAAY,OAAA,MAGA,GAFAxB,EAAAgB,EAAAO,GACAX,OAAAC,eAAAU,EAAA,UAAA,CAAyCT,YAAA,EAAAK,MAAAA,IACzC,EAAAE,GAAA,iBAAAF,EAAA,IAAA,IAAAM,KAAAN,EAAAnB,EAAAQ,EAAAe,EAAAE,EAAA,SAAAA,GAAgH,OAAAN,EAAAM,IAAqBC,KAAA,KAAAD,IACrI,OAAAF,GAIAvB,EAAA2B,EAAA,SAAApC,GACA,IAAAmB,EAAAnB,GAAAA,EAAA+B,WACA,WAA2B,OAAA/B,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAS,EAAAQ,EAAAE,EAAA,IAAAA,GACAA,GAIAV,EAAAW,EAAA,SAAAiB,EAAAC,GAAsD,OAAAjB,OAAAkB,UAAAC,eAAA1B,KAAAuB,EAAAC,IAGtD7B,EAAAgC,EAAA,GAIAhC,EAAAA,EAAAiC,EAAA,uCClFA1C,EAAAD,QAAAM,6CCAAL,EAAAD,QAAAO,8ECAAG,EAAAgB,EAAAkB,GAAA,IAAAC,EAAAnC,EAAA,qBAAAA,EAAAQ,EAAA0B,EAAA,aAAA,WAAA,OAAAC,EAAA,aAAA,IAAAC,EAAApC,EAAA,+BAAAA,EAAAQ,EAAA0B,EAAA,WAAA,WAAA,OAAAE,EAAA,WAGAC,EAAAA,WAAWC,OAAOC,EAAAA,SAAU,wECH5BvC,EAAAgB,EAAAkB,GAAAlC,EAAAQ,EAAA0B,EAAA,WAAA,WAAA,OAAAK,IAAA,IAAAC,EAAAxC,EAAA,UAAAyC,EAAAzC,EAAA2B,EAAAa,GAAAE,EAAA1C,EAAA,qBAAA2C,EAAA3C,EAAA,w0BAcMuC,gaAAiBK,EAAAA,gDASdC,EAASC,GACdC,KAAKC,SAAWH,EAChBE,KAAKD,QAAWG,EAAAA,EAAEC,OAAO,GAAIX,EAASY,SAAUJ,KAAKC,SAASI,OAAQN,GACtEC,KAAKM,UAAY,WAEjBN,KAAKO,QACLP,KAAKQ,6CAQL,IAAIC,EAAKT,KAAKC,SAAS,GAAGQ,IAAMC,OAAAA,EAAAA,YAAAA,CAAY,EAAG,YAE/CV,KAAKW,SAAWT,GAAAA,CAAE,0BAClBF,KAAKY,OAASZ,KAAKC,SAASY,KAAK,KACjCb,KAAKC,SAASa,KAAK,CACjBC,cAAeN,EACfO,cAAeP,EACfA,GAAMA,IAERT,KAAKiB,QAAUf,GAAAA,GACfF,KAAKkB,UAAYC,SAASvE,OAAOwE,YAAa,IAE9CpB,KAAKqB,+CASL,IAAIC,EAAQtB,KACRuB,EAAOC,SAASD,KAChBE,EAAOD,SAASE,gBAEpB1B,KAAK2B,OAAS,GACd3B,KAAK4B,UAAYC,KAAKC,MAAMD,KAAKE,IAAInF,OAAOoF,YAAaP,EAAKQ,eAC9DjC,KAAKkC,UAAYL,KAAKC,MAAMD,KAAKE,IAAIR,EAAKY,aAAcZ,EAAKa,aAAcX,EAAKQ,aAAcR,EAAKU,aAAcV,EAAKW,eAEtHpC,KAAKW,SAAS0B,KAAK,WACjB,IAAIC,EAAOpC,GAAAA,CAAEF,MACTuC,EAAKV,KAAKC,MAAMQ,EAAKE,SAASC,IAAMnB,EAAMvB,QAAQ2C,WACtDJ,EAAKK,YAAcJ,EACnBjB,EAAMK,OAAOiB,KAAKL,uCASpB,IAAIjB,EAAQtB,KACAE,GAAAA,CAAE,cAEEoB,EAAMvB,QAAQ8C,kBACdvB,EAAMvB,QAAQ+C,gBAG9B5C,GAAAA,CAAEtD,QAAQmG,IAAI,OAAQ,WACjBzB,EAAMvB,QAAQiD,aACZC,SAASC,MACV5B,EAAM6B,YAAYF,SAASC,MAG/B5B,EAAMd,aACNc,EAAM8B,kBAGR9B,EAAM+B,eAAiBC,OAAAA,EAAAA,OAAAA,CAAOpD,GAAAA,CAAEtD,QAAS,WACvC0E,EAAMrB,SACHsD,GAAG,CACFC,sBAAuBlC,EAAMmC,OAAO9E,KAAK2C,GACzCoC,sBAAuBpC,EAAM8B,cAAczE,KAAK2C,KAEjDiC,GAAG,oBAAqB,eAAgB,SAAUI,GACjDA,EAAEC,iBACF,IAAIC,EAAY7D,KAAK8D,aAAa,QAClCxC,EAAM6B,YAAYU,OAIxB7D,KAAK+D,gBAAkB,SAASJ,GAC3BrC,EAAMvB,QAAQiD,aACf1B,EAAM6B,YAAYvG,OAAOqG,SAASC,OAItChD,GAAAA,CAAEtD,QAAQ2G,GAAG,aAAcvD,KAAK+D,qDAQtBC,GACVhE,KAAKiE,eAAgB,EACrB,IAAI3C,EAAQtB,KAERD,EAAU,CACZ+C,gBAAiB9C,KAAKD,QAAQ+C,gBAC9BD,kBAAmB7C,KAAKD,QAAQ8C,kBAChCH,UAAW1C,KAAKD,QAAQ2C,UACxBF,OAAQxC,KAAKD,QAAQyC,QAGvB0B,EAAAA,aAAaf,YAAYa,EAAKjE,EAAS,WACrCuB,EAAM2C,eAAgB,qCASxBjE,KAAKQ,aACLR,KAAKoD,wDASiC,IAAAe,EAAAnE,KACtC,IAAGA,KAAKiE,cAAR,CAEA,IAIIG,EAJEC,EAAelD,SAASvE,OAAOwE,YAAa,IAC5CkD,EAAgBtE,KAAKkB,UAAYmD,EAKvC,IAJArE,KAAKkB,UAAYmD,GAICrE,KAAK2B,OAAO,SAEzB,GAAG0C,EAAerE,KAAK4B,YAAc5B,KAAKkC,UAAYkC,EAAYpE,KAAK2B,OAAO4C,OAAS,MAExF,CACF,IAAMC,EAAexE,KAAK2B,OAAO8C,OAAO,SAACxF,EAAG9B,GAC1C,OAAQ8B,EAAIkF,EAAKpE,QAAQyC,QAAU8B,EAAgBH,EAAKpE,QAAQ2C,UAAY,IAAO2B,IAErFD,EAAYI,EAAaD,OAASC,EAAaD,OAAS,EAAI,EAI9D,IAAMG,EAAa1E,KAAKiB,QACpB0D,EAAa,QACO,IAAdP,GACRpE,KAAKiB,QAAUjB,KAAKY,OAAO6D,OAAO,WAAazE,KAAKW,SAASiE,GAAGR,GAAW/D,KAAK,mBAAqB,MACjGL,KAAKiB,QAAQsD,SAAQI,EAAa3E,KAAKiB,QAAQ,GAAG6C,aAAa,UAEnE9D,KAAKiB,QAAUf,GAAAA,GAEjB,IAAM2E,KAAiB7E,KAAKiB,QAAQsD,SAAWG,EAAWH,QAAYvE,KAAKiB,QAAQ6D,GAAGJ,IAChFK,EAAYJ,IAAe/H,OAAOqG,SAASC,KASjD,GANG2B,IACDH,EAAWM,YAAYhF,KAAKD,QAAQkF,aACpCjF,KAAKiB,QAAQiE,SAASlF,KAAKD,QAAQkF,cAIlCjF,KAAKD,QAAQiD,aAAe+B,EAC7B,GAAGnI,OAAOuI,QAAQC,UAAU,CAE1B,IAAMC,EAAMV,GAA0B/H,OAAOqG,SAASqC,SAAW1I,OAAOqG,SAASsC,OACjF3I,OAAOuI,QAAQC,UAAU,KAAM,KAAMC,QAErCzI,OAAOqG,SAASC,KAAOyB,EAIvBE,GAKH7E,KAAKC,SAASuF,QAAQ,qBAAsB,CAACxF,KAAKiB,8CAYnD,GAHAjB,KAAKC,SAASwF,IAAI,4BACb5E,KADL,IAAA6E,OACc1F,KAAKD,QAAQkF,cAAeD,YAAYhF,KAAKD,QAAQkF,aAEhEjF,KAAKD,QAAQiD,YAAY,CAC1B,IAAIE,EAAOlD,KAAKiB,QAAQ,GAAG6C,aAAa,QACxClH,OAAOqG,SAASC,KAAKyC,QAAQzC,EAAM,IAGrChD,GAAAA,CAAEtD,QAAQ6I,IAAI,aAAczF,KAAK+D,iBAC7B/D,KAAKqD,gBAAgBnD,GAAAA,CAAEtD,QAAQ6I,IAAIzF,KAAKqD,qDAOhD7D,EAASY,SAAW,CAOlByC,kBAAmB,IAQnBC,gBAAiB,SAOjBJ,UAAW,GAOXuC,YAAa,YAObjC,aAAa,EAObR,OAAQ,uGCpRVhG,EAAAD,QAAAQ","file":"foundation.magellan.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.smoothScroll\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.smoothScroll\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.magellan\"] = factory(require(\"./foundation.core\"), require(\"./foundation.smoothScroll\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.magellan\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.smoothScroll\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_smoothScroll__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 8);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_smoothScroll__;","import { Foundation } from './foundation.core';\n\nimport { Magellan } from '../../foundation.magellan';\nFoundation.plugin(Magellan, 'Magellan');\n\nexport { Foundation, Magellan };\n","'use strict';\n\n\nimport $ from 'jquery';\nimport { onLoad, GetYoDigits } from './foundation.core.utils';\nimport { Plugin } from './foundation.core.plugin';\nimport { SmoothScroll } from './foundation.smoothScroll';\n\n/**\n * Magellan module.\n * @module foundation.magellan\n * @requires foundation.smoothScroll\n */\n\nclass Magellan extends Plugin {\n /**\n * Creates a new instance of Magellan.\n * @class\n * @name Magellan\n * @fires Magellan#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Magellan.defaults, this.$element.data(), options);\n this.className = 'Magellan'; // ie9 back compat\n\n this._init();\n this.calcPoints();\n }\n\n /**\n * Initializes the Magellan plugin and calls functions to get equalizer functioning on load.\n * @private\n */\n _init() {\n var id = this.$element[0].id || GetYoDigits(6, 'magellan');\n var _this = this;\n this.$targets = $('[data-magellan-target]');\n this.$links = this.$element.find('a');\n this.$element.attr({\n 'data-resize': id,\n 'data-scroll': id,\n 'id': id\n });\n this.$active = $();\n this.scrollPos = parseInt(window.pageYOffset, 10);\n\n this._events();\n }\n\n /**\n * Calculates an array of pixel values that are the demarcation lines between locations on the page.\n * Can be invoked if new elements are added or the size of a location changes.\n * @function\n */\n calcPoints() {\n var _this = this,\n body = document.body,\n html = document.documentElement;\n\n this.points = [];\n this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight));\n this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight));\n\n this.$targets.each(function(){\n var $tar = $(this),\n pt = Math.round($tar.offset().top - _this.options.threshold);\n $tar.targetPoint = pt;\n _this.points.push(pt);\n });\n }\n\n /**\n * Initializes events for Magellan.\n * @private\n */\n _events() {\n var _this = this,\n $body = $('html, body'),\n opts = {\n duration: _this.options.animationDuration,\n easing: _this.options.animationEasing\n };\n\n $(window).one('load', function(){\n if(_this.options.deepLinking){\n if(location.hash){\n _this.scrollToLoc(location.hash);\n }\n }\n _this.calcPoints();\n _this._updateActive();\n });\n\n _this.onLoadListener = onLoad($(window), function () {\n _this.$element\n .on({\n 'resizeme.zf.trigger': _this.reflow.bind(_this),\n 'scrollme.zf.trigger': _this._updateActive.bind(_this)\n })\n .on('click.zf.magellan', 'a[href^=\"#\"]', function (e) {\n e.preventDefault();\n var arrival = this.getAttribute('href');\n _this.scrollToLoc(arrival);\n });\n });\n\n this._deepLinkScroll = function(e) {\n if(_this.options.deepLinking) {\n _this.scrollToLoc(window.location.hash);\n }\n };\n\n $(window).on('hashchange', this._deepLinkScroll);\n }\n\n /**\n * Function to scroll to a given location on the page.\n * @param {String} loc - a properly formatted jQuery id selector. Example: '#foo'\n * @function\n */\n scrollToLoc(loc) {\n this._inTransition = true;\n var _this = this;\n\n var options = {\n animationEasing: this.options.animationEasing,\n animationDuration: this.options.animationDuration,\n threshold: this.options.threshold,\n offset: this.options.offset\n };\n\n SmoothScroll.scrollToLoc(loc, options, function() {\n _this._inTransition = false;\n })\n }\n\n /**\n * Calls necessary functions to update Magellan upon DOM change\n * @function\n */\n reflow() {\n this.calcPoints();\n this._updateActive();\n }\n\n /**\n * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled.\n * @private\n * @function\n * @fires Magellan#update\n */\n _updateActive(/*evt, elem, scrollPos*/) {\n if(this._inTransition) return;\n\n const newScrollPos = parseInt(window.pageYOffset, 10);\n const isScrollingUp = this.scrollPos > newScrollPos;\n this.scrollPos = newScrollPos;\n\n let activeIdx;\n // Before the first point: no link\n if(newScrollPos < this.points[0]){ /* do nothing */ }\n // At the bottom of the page: last link\n else if(newScrollPos + this.winHeight === this.docHeight){ activeIdx = this.points.length - 1; }\n // Otherwhise, use the last visible link\n else{\n const visibleLinks = this.points.filter((p, i) => {\n return (p - this.options.offset - (isScrollingUp ? this.options.threshold : 0)) <= newScrollPos;\n });\n activeIdx = visibleLinks.length ? visibleLinks.length - 1 : 0;\n }\n\n // Get the new active link\n const $oldActive = this.$active;\n let activeHash = '';\n if(typeof activeIdx !== 'undefined'){\n this.$active = this.$links.filter('[href=\"#' + this.$targets.eq(activeIdx).data('magellan-target') + '\"]');\n if (this.$active.length) activeHash = this.$active[0].getAttribute('href');\n }else{\n this.$active = $();\n }\n const isNewActive = !(!this.$active.length && !$oldActive.length) && !this.$active.is($oldActive);\n const isNewHash = activeHash !== window.location.hash;\n\n // Update the active link element\n if(isNewActive) {\n $oldActive.removeClass(this.options.activeClass);\n this.$active.addClass(this.options.activeClass);\n }\n\n // Update the hash (it may have changed with the same active link)\n if(this.options.deepLinking && isNewHash){\n if(window.history.pushState){\n // Set or remove the hash (see: https://stackoverflow.com/a/5298684/4317384\n const url = activeHash ? activeHash : window.location.pathname + window.location.search;\n window.history.pushState(null, null, url);\n }else{\n window.location.hash = activeHash;\n }\n }\n\n if (isNewActive) {\n /**\n * Fires when magellan is finished updating to the new active element.\n * @event Magellan#update\n */\n \tthis.$element.trigger('update.zf.magellan', [this.$active]);\n\t }\n }\n\n /**\n * Destroys an instance of Magellan and resets the url of the window.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.trigger .zf.magellan')\n .find(`.${this.options.activeClass}`).removeClass(this.options.activeClass);\n\n if(this.options.deepLinking){\n var hash = this.$active[0].getAttribute('href');\n window.location.hash.replace(hash, '');\n }\n\n $(window).off('hashchange', this._deepLinkScroll)\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n }\n}\n\n/**\n * Default settings for plugin\n */\nMagellan.defaults = {\n /**\n * Amount of time, in ms, the animated scrolling should take between locations.\n * @option\n * @type {number}\n * @default 500\n */\n animationDuration: 500,\n /**\n * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`.\n * @option\n * @type {string}\n * @default 'linear'\n * @see {@link https://api.jquery.com/animate|Jquery animate}\n */\n animationEasing: 'linear',\n /**\n * Number of pixels to use as a marker for location changes.\n * @option\n * @type {number}\n * @default 50\n */\n threshold: 50,\n /**\n * Class applied to the active locations link on the magellan container.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n activeClass: 'is-active',\n /**\n * Allows the script to manipulate the url of the current page, and if supported, alter the history.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLinking: false,\n /**\n * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.\n * @option\n * @type {number}\n * @default 0\n */\n offset: 0\n}\n\nexport {Magellan};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]}
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.smoothScroll\"],\"amd\":\"./foundation.smoothScroll\",\"commonjs\":\"./foundation.smoothScroll\",\"commonjs2\":\"./foundation.smoothScroll\"}","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.magellan.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.magellan.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.triggers.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_smoothScroll__","__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_magellan__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Magellan","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__","_foundation_smoothScroll__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__","Plugin","element","options","this","$element","$","extend","defaults","data","className","Triggers","init","_init","calcPoints","id","GetYoDigits","$targets","$links","find","attr","data-resize","data-scroll","$active","scrollPos","parseInt","pageYOffset","_events","_this","body","document","html","documentElement","points","winHeight","Math","round","max","innerHeight","clientHeight","docHeight","scrollHeight","offsetHeight","each","$tar","pt","offset","top","threshold","targetPoint","push","animationDuration","animationEasing","one","deepLinking","location","hash","scrollToLoc","_updateActive","onLoadListener","onLoad","on","resizeme.zf.trigger","reflow","bind","scrollme.zf.trigger","e","preventDefault","arrival","getAttribute","_deepLinkScroll","loc","_inTransition","SmoothScroll","_this2","activeIdx","newScrollPos","isScrollingUp","length","visibleLinks","filter","p","i","$oldActive","activeHash","eq","isNewActive","is","isNewHash","removeClass","activeClass","addClass","history","pushState","url","pathname","search","updateHistory","replaceState","trigger","off","concat","replace","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","triggers","el","type","split","forEach","MutationObserver","prefixes","Listeners","Basic","Global","Initializers","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","call","arguments","clearTimeout","setTimeout","apply","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","scrollListener","closeMeListener","pluginId","namespace","not","addClosemeListener","pluginName","yetiBoxes","plugNames","_typeof","console","error","listeners","map","name","join","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","closest","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","triggersInitialized","IHearYou","c","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","object","property","hasOwnProperty","s","moduleId","l","modules"],"mappings":"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","file":"foundation.magellan.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.smoothScroll\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.smoothScroll\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.magellan\"] = factory(require(\"./foundation.core\"), require(\"./foundation.smoothScroll\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.magellan\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.smoothScroll\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_smoothScroll__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 8);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_smoothScroll__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Magellan } from '../../foundation.magellan';\nFoundation.plugin(Magellan, 'Magellan');\n\nexport { Foundation, Magellan };\n","'use strict';\n\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad, GetYoDigits } from './foundation.core.utils';\nimport { SmoothScroll } from './foundation.smoothScroll';\n\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Magellan module.\n * @module foundation.magellan\n * @requires foundation.smoothScroll\n * @requires foundation.util.triggers\n */\n\nclass Magellan extends Plugin {\n /**\n * Creates a new instance of Magellan.\n * @class\n * @name Magellan\n * @fires Magellan#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Magellan.defaults, this.$element.data(), options);\n this.className = 'Magellan'; // ie9 back compat\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n\n this._init();\n this.calcPoints();\n }\n\n /**\n * Initializes the Magellan plugin and calls functions to get equalizer functioning on load.\n * @private\n */\n _init() {\n var id = this.$element[0].id || GetYoDigits(6, 'magellan');\n var _this = this;\n this.$targets = $('[data-magellan-target]');\n this.$links = this.$element.find('a');\n this.$element.attr({\n 'data-resize': id,\n 'data-scroll': id,\n 'id': id\n });\n this.$active = $();\n this.scrollPos = parseInt(window.pageYOffset, 10);\n\n this._events();\n }\n\n /**\n * Calculates an array of pixel values that are the demarcation lines between locations on the page.\n * Can be invoked if new elements are added or the size of a location changes.\n * @function\n */\n calcPoints() {\n var _this = this,\n body = document.body,\n html = document.documentElement;\n\n this.points = [];\n this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight));\n this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight));\n\n this.$targets.each(function(){\n var $tar = $(this),\n pt = Math.round($tar.offset().top - _this.options.threshold);\n $tar.targetPoint = pt;\n _this.points.push(pt);\n });\n }\n\n /**\n * Initializes events for Magellan.\n * @private\n */\n _events() {\n var _this = this,\n $body = $('html, body'),\n opts = {\n duration: _this.options.animationDuration,\n easing: _this.options.animationEasing\n };\n\n $(window).one('load', function(){\n if(_this.options.deepLinking){\n if(location.hash){\n _this.scrollToLoc(location.hash);\n }\n }\n _this.calcPoints();\n _this._updateActive();\n });\n\n _this.onLoadListener = onLoad($(window), function () {\n _this.$element\n .on({\n 'resizeme.zf.trigger': _this.reflow.bind(_this),\n 'scrollme.zf.trigger': _this._updateActive.bind(_this)\n })\n .on('click.zf.magellan', 'a[href^=\"#\"]', function (e) {\n e.preventDefault();\n var arrival = this.getAttribute('href');\n _this.scrollToLoc(arrival);\n });\n });\n\n this._deepLinkScroll = function(e) {\n if(_this.options.deepLinking) {\n _this.scrollToLoc(window.location.hash);\n }\n };\n\n $(window).on('hashchange', this._deepLinkScroll);\n }\n\n /**\n * Function to scroll to a given location on the page.\n * @param {String} loc - a properly formatted jQuery id selector. Example: '#foo'\n * @function\n */\n scrollToLoc(loc) {\n this._inTransition = true;\n var _this = this;\n\n var options = {\n animationEasing: this.options.animationEasing,\n animationDuration: this.options.animationDuration,\n threshold: this.options.threshold,\n offset: this.options.offset\n };\n\n SmoothScroll.scrollToLoc(loc, options, function() {\n _this._inTransition = false;\n })\n }\n\n /**\n * Calls necessary functions to update Magellan upon DOM change\n * @function\n */\n reflow() {\n this.calcPoints();\n this._updateActive();\n }\n\n /**\n * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled.\n * @private\n * @function\n * @fires Magellan#update\n */\n _updateActive(/*evt, elem, scrollPos*/) {\n if(this._inTransition) return;\n\n const newScrollPos = parseInt(window.pageYOffset, 10);\n const isScrollingUp = this.scrollPos > newScrollPos;\n this.scrollPos = newScrollPos;\n\n let activeIdx;\n // Before the first point: no link\n if(newScrollPos < this.points[0]){ /* do nothing */ }\n // At the bottom of the page: last link\n else if(newScrollPos + this.winHeight === this.docHeight){ activeIdx = this.points.length - 1; }\n // Otherwhise, use the last visible link\n else{\n const visibleLinks = this.points.filter((p, i) => {\n return (p - this.options.offset - (isScrollingUp ? this.options.threshold : 0)) <= newScrollPos;\n });\n activeIdx = visibleLinks.length ? visibleLinks.length - 1 : 0;\n }\n\n // Get the new active link\n const $oldActive = this.$active;\n let activeHash = '';\n if(typeof activeIdx !== 'undefined'){\n this.$active = this.$links.filter('[href=\"#' + this.$targets.eq(activeIdx).data('magellan-target') + '\"]');\n if (this.$active.length) activeHash = this.$active[0].getAttribute('href');\n }else{\n this.$active = $();\n }\n const isNewActive = !(!this.$active.length && !$oldActive.length) && !this.$active.is($oldActive);\n const isNewHash = activeHash !== window.location.hash;\n\n // Update the active link element\n if(isNewActive) {\n $oldActive.removeClass(this.options.activeClass);\n this.$active.addClass(this.options.activeClass);\n }\n\n // Update the hash (it may have changed with the same active link)\n if(this.options.deepLinking && isNewHash){\n if(window.history.pushState){\n // Set or remove the hash (see: https://stackoverflow.com/a/5298684/4317384\n const url = activeHash ? activeHash : window.location.pathname + window.location.search;\n if(this.options.updateHistory){\n window.history.pushState({}, '', url);\n }else{\n window.history.replaceState({}, '', url);\n }\n }else{\n window.location.hash = activeHash;\n }\n }\n\n if (isNewActive) {\n /**\n * Fires when magellan is finished updating to the new active element.\n * @event Magellan#update\n */\n \tthis.$element.trigger('update.zf.magellan', [this.$active]);\n\t }\n }\n\n /**\n * Destroys an instance of Magellan and resets the url of the window.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.trigger .zf.magellan')\n .find(`.${this.options.activeClass}`).removeClass(this.options.activeClass);\n\n if(this.options.deepLinking){\n var hash = this.$active[0].getAttribute('href');\n window.location.hash.replace(hash, '');\n }\n\n $(window).off('hashchange', this._deepLinkScroll)\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n }\n}\n\n/**\n * Default settings for plugin\n */\nMagellan.defaults = {\n /**\n * Amount of time, in ms, the animated scrolling should take between locations.\n * @option\n * @type {number}\n * @default 500\n */\n animationDuration: 500,\n /**\n * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`.\n * @option\n * @type {string}\n * @default 'linear'\n * @see {@link https://api.jquery.com/animate|Jquery animate}\n */\n animationEasing: 'linear',\n /**\n * Number of pixels to use as a marker for location changes.\n * @option\n * @type {number}\n * @default 50\n */\n threshold: 50,\n /**\n * Class applied to the active locations link on the magellan container.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n activeClass: 'is-active',\n /**\n * Allows the script to manipulate the url of the current page, and if supported, alter the history.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLinking: false,\n /**\n * Update the browser history with the active link, if deep linking is enabled.\n * @option\n * @type {boolean}\n * @default false\n */\n updateHistory: false,\n /**\n * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.\n * @option\n * @type {number}\n * @default 0\n */\n offset: 0\n}\n\nexport {Magellan};\n","'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 let animation = $(this).data('closable');\n\n // Only close the first closable element. See https://git.io/zf-7833\n e.stopPropagation();\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 = 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__;"]}
@@ -175,8 +175,8 @@ __webpack_require__.r(__webpack_exports__);
175
175
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "OffCanvas", function() { return OffCanvas; });
176
176
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");
177
177
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
178
- /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ "./foundation.core");
179
- /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__);
178
+ /* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.plugin */ "./foundation.core");
179
+ /* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__);
180
180
  /* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.keyboard */ "./foundation.util.keyboard");
181
181
  /* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__);
182
182
  /* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ "./foundation.util.mediaQuery");
@@ -210,7 +210,7 @@ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || func
210
210
 
211
211
  /**
212
212
  * OffCanvas module.
213
- * @module foundation.offcanvas
213
+ * @module foundation.offCanvas
214
214
  * @requires foundation.util.keyboard
215
215
  * @requires foundation.util.mediaQuery
216
216
  * @requires foundation.util.triggers
@@ -253,7 +253,9 @@ function (_Plugin) {
253
253
  this.$triggers = jquery__WEBPACK_IMPORTED_MODULE_0___default()();
254
254
  this.position = 'left';
255
255
  this.$content = jquery__WEBPACK_IMPORTED_MODULE_0___default()();
256
- this.nested = !!this.options.nested; // Defines the CSS transition/position classes of the off-canvas content container.
256
+ this.nested = !!this.options.nested;
257
+ this.$sticky = jquery__WEBPACK_IMPORTED_MODULE_0___default()();
258
+ this.isInCanvas = false; // Defines the CSS transition/position classes of the off-canvas content container.
257
259
 
258
260
  jquery__WEBPACK_IMPORTED_MODULE_0___default()(['push', 'overlap']).each(function (index, val) {
259
261
  _this2.contentClasses.base.push('has-transition-' + val);
@@ -332,7 +334,7 @@ function (_Plugin) {
332
334
  } // Get the revealOn option from the class.
333
335
 
334
336
 
335
- var revealOnRegExp = new RegExp(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__["RegExpEscape"])(this.options.revealClass) + '([^\\s]+)', 'g');
337
+ var revealOnRegExp = new RegExp(Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__["RegExpEscape"])(this.options.revealClass) + '([^\\s]+)', 'g');
336
338
  var revealOnClass = revealOnRegExp.exec(this.$element[0].className);
337
339
 
338
340
  if (revealOnClass) {
@@ -349,6 +351,29 @@ function (_Plugin) {
349
351
 
350
352
  if (this.options.transitionTime) {
351
353
  this.$element.css('transition-duration', this.options.transitionTime);
354
+ } // Find fixed elements that should stay fixed while off-canvas is opened
355
+
356
+
357
+ this.$sticky = this.$content.find('[data-off-canvas-sticky]');
358
+
359
+ if (this.$sticky.length > 0 && this.options.transition === 'push') {
360
+ // If there's at least one match force contentScroll:false because the absolute top value doesn't get recalculated on scroll
361
+ // Limit to push transition since there's no transform scope for overlap
362
+ this.options.contentScroll = false;
363
+ }
364
+
365
+ var inCanvasFor = this.$element.attr('class').match(/\bin-canvas-for-(\w+)/);
366
+
367
+ if (inCanvasFor && inCanvasFor.length === 2) {
368
+ // Set `inCanvasOn` option if found in-canvas-for-[BREAKPONT] CSS class
369
+ this.options.inCanvasOn = inCanvasFor[1];
370
+ } else if (this.options.inCanvasOn) {
371
+ // Ensure the CSS class is set
372
+ this.$element.addClass("in-canvas-for-".concat(this.options.inCanvasOn));
373
+ }
374
+
375
+ if (this.options.inCanvasOn) {
376
+ this._checkInCanvas();
352
377
  } // Initally remove all transition/position CSS classes from off-canvas content container.
353
378
 
354
379
 
@@ -363,17 +388,25 @@ function (_Plugin) {
363
388
  }, {
364
389
  key: "_events",
365
390
  value: function _events() {
366
- this.$element.off('.zf.trigger .zf.offcanvas').on({
391
+ var _this3 = this;
392
+
393
+ this.$element.off('.zf.trigger .zf.offCanvas').on({
367
394
  'open.zf.trigger': this.open.bind(this),
368
395
  'close.zf.trigger': this.close.bind(this),
369
396
  'toggle.zf.trigger': this.toggle.bind(this),
370
- 'keydown.zf.offcanvas': this._handleKeyboard.bind(this)
397
+ 'keydown.zf.offCanvas': this._handleKeyboard.bind(this)
371
398
  });
372
399
 
373
400
  if (this.options.closeOnClick === true) {
374
401
  var $target = this.options.contentOverlay ? this.$overlay : this.$content;
375
402
  $target.on({
376
- 'click.zf.offcanvas': this.close.bind(this)
403
+ 'click.zf.offCanvas': this.close.bind(this)
404
+ });
405
+ }
406
+
407
+ if (this.options.inCanvasOn) {
408
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', function () {
409
+ _this3._checkInCanvas();
377
410
  });
378
411
  }
379
412
  }
@@ -387,7 +420,7 @@ function (_Plugin) {
387
420
  value: function _setMQChecker() {
388
421
  var _this = this;
389
422
 
390
- this.onLoadListener = Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__["onLoad"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {
423
+ this.onLoadListener = Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__["onLoad"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {
391
424
  if (_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__["MediaQuery"].atLeast(_this.options.revealOn)) {
392
425
  _this.reveal(true);
393
426
  }
@@ -400,6 +433,20 @@ function (_Plugin) {
400
433
  }
401
434
  });
402
435
  }
436
+ /**
437
+ * Checks if InCanvas on current breakpoint and adjust off-canvas accordingly
438
+ * @private
439
+ */
440
+
441
+ }, {
442
+ key: "_checkInCanvas",
443
+ value: function _checkInCanvas() {
444
+ this.isInCanvas = _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__["MediaQuery"].atLeast(this.options.inCanvasOn);
445
+
446
+ if (this.isInCanvas === true) {
447
+ this.close();
448
+ }
449
+ }
403
450
  /**
404
451
  * Removes the CSS transition/position classes of the off-canvas content container.
405
452
  * Removing the classes is important when another off-canvas gets opened that uses the same content container.
@@ -434,6 +481,57 @@ function (_Plugin) {
434
481
  this.$content.addClass("has-reveal-".concat(this.position));
435
482
  }
436
483
  }
484
+ /**
485
+ * Preserves the fixed behavior of sticky elements on opening an off-canvas with push transition.
486
+ * Since the off-canvas container has got a transform scope in such a case, it is done by calculating position absolute values.
487
+ * @private
488
+ */
489
+
490
+ }, {
491
+ key: "_fixStickyElements",
492
+ value: function _fixStickyElements() {
493
+ this.$sticky.each(function (_, el) {
494
+ var $el = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el); // If sticky element is currently fixed, adjust its top value to match absolute position due to transform scope
495
+ // Limit to push transition because postion:fixed works without problems for overlap (no transform scope)
496
+
497
+ if ($el.css('position') === 'fixed') {
498
+ // Save current inline styling to restore it if undoing the absolute fixing
499
+ var topVal = parseInt($el.css('top'), 10);
500
+ $el.data('offCanvasSticky', {
501
+ top: topVal
502
+ });
503
+ var absoluteTopVal = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).scrollTop() + topVal;
504
+ $el.css({
505
+ top: "".concat(absoluteTopVal, "px"),
506
+ width: '100%',
507
+ transition: 'none'
508
+ });
509
+ }
510
+ });
511
+ }
512
+ /**
513
+ * Restores the original fixed styling of sticky elements after having closed an off-canvas that got pseudo fixed beforehand.
514
+ * This reverts the changes of _fixStickyElements()
515
+ * @private
516
+ */
517
+
518
+ }, {
519
+ key: "_unfixStickyElements",
520
+ value: function _unfixStickyElements() {
521
+ this.$sticky.each(function (_, el) {
522
+ var $el = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el);
523
+ var stickyData = $el.data('offCanvasSticky'); // If sticky element has got data object with prior values (meaning it was originally fixed) restore these values once off-canvas is closed
524
+
525
+ if (_typeof(stickyData) === 'object') {
526
+ $el.css({
527
+ top: "".concat(stickyData.top, "px"),
528
+ width: '',
529
+ transition: ''
530
+ });
531
+ $el.data('offCanvasSticky', '');
532
+ }
533
+ });
534
+ }
437
535
  /**
438
536
  * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.
439
537
  * @param {Boolean} isRevealed - true if element should be revealed.
@@ -462,7 +560,8 @@ function (_Plugin) {
462
560
  this._addContentClasses(isRevealed);
463
561
  }
464
562
  /**
465
- * Stops scrolling of the body when offcanvas is open on mobile Safari and other troublesome browsers.
563
+ * Stops scrolling of the body when OffCanvas is open on mobile Safari and other troublesome browsers.
564
+ * @function
466
565
  * @private
467
566
  */
468
567
 
@@ -470,8 +569,17 @@ function (_Plugin) {
470
569
  key: "_stopScrolling",
471
570
  value: function _stopScrolling(event) {
472
571
  return false;
473
- } // Taken and adapted from http://stackoverflow.com/questions/16889447/prevent-full-page-scrolling-ios
474
- // Only really works for y, not sure how to extend to x or if we need to.
572
+ }
573
+ /**
574
+ * Tag the element given as context whether it can be scrolled up and down.
575
+ * Used to allow or prevent it to scroll. See `_stopScrollPropagation`.
576
+ *
577
+ * Taken and adapted from http://stackoverflow.com/questions/16889447/prevent-full-page-scrolling-ios
578
+ * Only really works for y, not sure how to extend to x or if we need to.
579
+ *
580
+ * @function
581
+ * @private
582
+ */
475
583
 
476
584
  }, {
477
585
  key: "_recordScrollable",
@@ -495,17 +603,40 @@ function (_Plugin) {
495
603
  elem.allowDown = elem.scrollTop < elem.scrollHeight - elem.clientHeight;
496
604
  elem.lastY = event.originalEvent.pageY;
497
605
  }
606
+ /**
607
+ * Prevent the given event propagation if the element given as context can scroll.
608
+ * Used to preserve the element scrolling on mobile (`touchmove`) when the document
609
+ * scrolling is prevented. See https://git.io/zf-9707.
610
+ * @function
611
+ * @private
612
+ */
613
+
498
614
  }, {
499
615
  key: "_stopScrollPropagation",
500
616
  value: function _stopScrollPropagation(event) {
501
617
  var elem = this; // called from event handler context with this as elem
502
618
 
619
+ var parent; // off-canvas elem if called from inner scrollbox
620
+
503
621
  var up = event.pageY < elem.lastY;
504
622
  var down = !up;
505
623
  elem.lastY = event.pageY;
506
624
 
507
625
  if (up && elem.allowUp || down && elem.allowDown) {
508
- event.stopPropagation();
626
+ // It is not recommended to stop event propagation (the user cannot watch it),
627
+ // but in this case this is the only solution we have.
628
+ event.stopPropagation(); // If elem is inner scrollbox we are scrolling the outer off-canvas down/up once the box end has been reached
629
+ // This lets the user continue to touch move the off-canvas without the need to place the finger outside the scrollbox
630
+
631
+ if (elem.hasAttribute('data-off-canvas-scrollbox')) {
632
+ parent = elem.closest('[data-off-canvas], [data-off-canvas-scrollbox-outer]');
633
+
634
+ if (elem.scrollTop <= 1 && parent.scrollTop > 0) {
635
+ parent.scrollTop--;
636
+ } else if (elem.scrollTop >= elem.scrollHeight - elem.clientHeight - 1 && parent.scrollTop < parent.scrollHeight - parent.clientHeight) {
637
+ parent.scrollTop++;
638
+ }
639
+ }
509
640
  } else {
510
641
  event.preventDefault();
511
642
  }
@@ -515,14 +646,16 @@ function (_Plugin) {
515
646
  * @function
516
647
  * @param {Object} event - Event object passed from listener.
517
648
  * @param {jQuery} trigger - element that triggered the off-canvas to open.
518
- * @fires Offcanvas#opened
649
+ * @fires OffCanvas#opened
519
650
  * @todo also trigger 'open' event?
520
651
  */
521
652
 
522
653
  }, {
523
654
  key: "open",
524
655
  value: function open(event, trigger) {
525
- if (this.$element.hasClass('is-open') || this.isRevealed) {
656
+ var _this4 = this;
657
+
658
+ if (this.$element.hasClass('is-open') || this.isRevealed || this.isInCanvas) {
526
659
  return;
527
660
  }
528
661
 
@@ -553,6 +686,8 @@ function (_Plugin) {
553
686
  jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling);
554
687
  this.$element.on('touchstart', this._recordScrollable);
555
688
  this.$element.on('touchmove', this._stopScrollPropagation);
689
+ this.$element.on('touchstart', '[data-off-canvas-scrollbox]', this._recordScrollable);
690
+ this.$element.on('touchmove', '[data-off-canvas-scrollbox]', this._stopScrollPropagation);
556
691
  }
557
692
 
558
693
  if (this.options.contentOverlay === true) {
@@ -564,7 +699,7 @@ function (_Plugin) {
564
699
  }
565
700
 
566
701
  if (this.options.autoFocus === true) {
567
- this.$element.one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__["transitionend"])(this.$element), function () {
702
+ this.$element.one(Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__["transitionend"])(this.$element), function () {
568
703
  if (!_this.$element.hasClass('is-open')) {
569
704
  return; // exit if prematurely closed
570
705
  }
@@ -584,45 +719,56 @@ function (_Plugin) {
584
719
  _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__["Keyboard"].trapFocus(this.$element);
585
720
  }
586
721
 
722
+ if (this.options.transition === 'push') {
723
+ this._fixStickyElements();
724
+ }
725
+
587
726
  this._addContentClasses();
588
727
  /**
589
728
  * Fires when the off-canvas menu opens.
590
- * @event Offcanvas#opened
729
+ * @event OffCanvas#opened
591
730
  */
592
731
 
593
732
 
594
- this.$element.trigger('opened.zf.offcanvas');
733
+ this.$element.trigger('opened.zf.offCanvas');
734
+ /**
735
+ * Fires when the off-canvas menu open transition is done.
736
+ * @event OffCanvas#openedEnd
737
+ */
738
+
739
+ this.$element.one(Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__["transitionend"])(this.$element), function () {
740
+ _this4.$element.trigger('openedEnd.zf.offCanvas');
741
+ });
595
742
  }
596
743
  /**
597
744
  * Closes the off-canvas menu.
598
745
  * @function
599
746
  * @param {Function} cb - optional cb to fire after closure.
600
- * @fires Offcanvas#closed
747
+ * @fires OffCanvas#close
748
+ * @fires OffCanvas#closed
601
749
  */
602
750
 
603
751
  }, {
604
752
  key: "close",
605
753
  value: function close(cb) {
754
+ var _this5 = this;
755
+
606
756
  if (!this.$element.hasClass('is-open') || this.isRevealed) {
607
757
  return;
608
758
  }
759
+ /**
760
+ * Fires when the off-canvas menu closes.
761
+ * @event OffCanvas#close
762
+ */
763
+
764
+
765
+ this.$element.trigger('close.zf.offCanvas');
609
766
 
610
767
  var _this = this;
611
768
 
612
769
  this.$element.removeClass('is-open');
613
- this.$element.attr('aria-hidden', 'true')
614
- /**
615
- * Fires when the off-canvas menu opens.
616
- * @event Offcanvas#closed
617
- */
618
- .trigger('closed.zf.offcanvas');
619
- 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.
620
-
621
- if (this.options.contentScroll === false) {
622
- jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').removeClass('is-off-canvas-open').off('touchmove', this._stopScrolling);
623
- this.$element.off('touchstart', this._recordScrollable);
624
- this.$element.off('touchmove', this._stopScrollPropagation);
625
- }
770
+ this.$element.attr('aria-hidden', 'true');
771
+ this.$content.removeClass('is-open-left is-open-top is-open-right is-open-bottom');
626
772
 
627
773
  if (this.options.contentOverlay === true) {
628
774
  this.$overlay.removeClass('is-visible');
@@ -632,18 +778,42 @@ function (_Plugin) {
632
778
  this.$overlay.removeClass('is-closable');
633
779
  }
634
780
 
635
- this.$triggers.attr('aria-expanded', 'false');
781
+ this.$triggers.attr('aria-expanded', 'false'); // Listen to transitionEnd: add class, re-enable scrolling and release focus when done.
782
+
783
+ this.$element.one(Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__["transitionend"])(this.$element), function (e) {
784
+ _this5.$element.addClass('is-closed');
785
+
786
+ _this5._removeContentClasses();
787
+
788
+ if (_this5.options.transition === 'push') {
789
+ _this5._unfixStickyElements();
790
+ } // If `contentScroll` is set to false, remove class and re-enable scrolling on touch devices.
636
791
 
637
- if (this.options.trapFocus === true) {
638
- this.$content.removeAttr('tabindex');
639
- _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__["Keyboard"].releaseFocus(this.$element);
640
- } // Listen to transitionEnd and add class when done.
641
792
 
793
+ if (_this5.options.contentScroll === false) {
794
+ jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').removeClass('is-off-canvas-open').off('touchmove', _this5._stopScrolling);
642
795
 
643
- this.$element.one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__["transitionend"])(this.$element), function (e) {
644
- _this.$element.addClass('is-closed');
796
+ _this5.$element.off('touchstart', _this5._recordScrollable);
645
797
 
646
- _this._removeContentClasses();
798
+ _this5.$element.off('touchmove', _this5._stopScrollPropagation);
799
+
800
+ _this5.$element.off('touchstart', '[data-off-canvas-scrollbox]', _this5._recordScrollable);
801
+
802
+ _this5.$element.off('touchmove', '[data-off-canvas-scrollbox]', _this5._stopScrollPropagation);
803
+ }
804
+
805
+ if (_this5.options.trapFocus === true) {
806
+ _this5.$content.removeAttr('tabindex');
807
+
808
+ _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__["Keyboard"].releaseFocus(_this5.$element);
809
+ }
810
+ /**
811
+ * Fires when the off-canvas menu close transition is done.
812
+ * @event OffCanvas#closed
813
+ */
814
+
815
+
816
+ _this5.$element.trigger('closed.zf.offCanvas');
647
817
  });
648
818
  }
649
819
  /**
@@ -671,24 +841,23 @@ function (_Plugin) {
671
841
  }, {
672
842
  key: "_handleKeyboard",
673
843
  value: function _handleKeyboard(e) {
674
- var _this3 = this;
844
+ var _this6 = this;
675
845
 
676
846
  _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__["Keyboard"].handleKey(e, 'OffCanvas', {
677
847
  close: function close() {
678
- _this3.close();
848
+ _this6.close();
679
849
 
680
- _this3.$lastTrigger.focus();
850
+ _this6.$lastTrigger.focus();
681
851
 
682
852
  return true;
683
853
  },
684
854
  handled: function handled() {
685
- e.stopPropagation();
686
855
  e.preventDefault();
687
856
  }
688
857
  });
689
858
  }
690
859
  /**
691
- * Destroys the offcanvas plugin.
860
+ * Destroys the OffCanvas plugin.
692
861
  * @function
693
862
  */
694
863
 
@@ -696,14 +865,14 @@ function (_Plugin) {
696
865
  key: "_destroy",
697
866
  value: function _destroy() {
698
867
  this.close();
699
- this.$element.off('.zf.trigger .zf.offcanvas');
700
- this.$overlay.off('.zf.offcanvas');
868
+ this.$element.off('.zf.trigger .zf.offCanvas');
869
+ this.$overlay.off('.zf.offCanvas');
701
870
  if (this.onLoadListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener);
702
871
  }
703
872
  }]);
704
873
 
705
874
  return OffCanvas;
706
- }(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__["Plugin"]);
875
+ }(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__["Plugin"]);
707
876
 
708
877
  OffCanvas.defaults = {
709
878
  /**
@@ -747,15 +916,15 @@ OffCanvas.defaults = {
747
916
  contentScroll: true,
748
917
 
749
918
  /**
750
- * Amount of time in ms the open and close transition requires. If none selected, pulls from body style.
919
+ * Amount of time the open and close transition requires, including the appropriate milliseconds (`ms`) or seconds (`s`) unit (e.g. `500ms`, `.75s`) If none selected, pulls from body style.
751
920
  * @option
752
- * @type {number}
921
+ * @type {string}
753
922
  * @default null
754
923
  */
755
924
  transitionTime: null,
756
925
 
757
926
  /**
758
- * Type of transition for the offcanvas menu. Options are 'push', 'detached' or 'slide'.
927
+ * Type of transition for the OffCanvas menu. Options are 'push', 'detached' or 'slide'.
759
928
  * @option
760
929
  * @type {string}
761
930
  * @default push
@@ -771,7 +940,7 @@ OffCanvas.defaults = {
771
940
  forceTo: null,
772
941
 
773
942
  /**
774
- * Allow the offcanvas to remain open for certain breakpoints.
943
+ * Allow the OffCanvas to remain open for certain breakpoints.
775
944
  * @option
776
945
  * @type {boolean}
777
946
  * @default false
@@ -786,6 +955,14 @@ OffCanvas.defaults = {
786
955
  */
787
956
  revealOn: null,
788
957
 
958
+ /**
959
+ * Breakpoint at which the off-canvas gets moved into canvas content and acts as regular page element.
960
+ * @option
961
+ * @type {?string}
962
+ * @default null
963
+ */
964
+ inCanvasOn: null,
965
+
789
966
  /**
790
967
  * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.
791
968
  * @option
@@ -795,7 +972,7 @@ OffCanvas.defaults = {
795
972
  autoFocus: true,
796
973
 
797
974
  /**
798
- * Class used to force an offcanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.
975
+ * Class used to force an OffCanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.
799
976
  * @option
800
977
  * @type {string}
801
978
  * @default reveal-for-
@@ -804,7 +981,7 @@ OffCanvas.defaults = {
804
981
  revealClass: 'reveal-for-',
805
982
 
806
983
  /**
807
- * Triggers optional focus trapping when opening an offcanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.
984
+ * Triggers optional focus trapping when opening an OffCanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.
808
985
  * @option
809
986
  * @type {boolean}
810
987
  * @default false
@@ -887,8 +1064,9 @@ Triggers.Listeners.Basic = {
887
1064
  }
888
1065
  },
889
1066
  closeableListener: function closeableListener(e) {
1067
+ var animation = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('closable'); // Only close the first closable element. See https://git.io/zf-7833
1068
+
890
1069
  e.stopPropagation();
891
- var animation = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('closable');
892
1070
 
893
1071
  if (animation !== '') {
894
1072
  _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__["Motion"].animateOut(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), animation, function () {
@@ -1119,7 +1297,7 @@ Triggers.init = function ($, Foundation) {
1119
1297
  /*! no static exports found */
1120
1298
  /***/ (function(module, exports, __webpack_require__) {
1121
1299
 
1122
- module.exports = __webpack_require__(/*! /Users/ncoden/Documents/Documents/Projects/Programmation/Web/2016/Foundation/foundation-sites/js/entries/plugins/foundation.offcanvas.js */"./js/entries/plugins/foundation.offcanvas.js");
1300
+ module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.offcanvas.js */"./js/entries/plugins/foundation.offcanvas.js");
1123
1301
 
1124
1302
 
1125
1303
  /***/ }),