"},e.prototype.computeEventTimeFormat=function(){return this.opt("mediumTimeFormat")},e}(o.default);e.default=s},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(0),i=n(1),o=n(44),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype.handleClick=function(e,n){var r;t.prototype.handleClick.call(this,e,n),i(n.target).closest("a[href]").length||(r=e.footprint.eventDef.url)&&!n.isDefaultPrevented()&&(window.location.href=r)},e}(o.default);e.default=s},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(25),i=n(34),o=n(57),s=n(58);r.default.registerClass(i.default),r.default.registerClass(o.default),r.default.registerClass(s.default)},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(36),i=n(55),o=n(56),s=n(94);r.default.register("standard",i.default),r.default.register("jquery-ui",o.default),r.default.register("bootstrap3",s.default)},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(0),i=n(27),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e}(i.default);e.default=o,o.prototype.classes={widget:"fc-bootstrap3",tableGrid:"table-bordered",tableList:"table table-striped",buttonGroup:"btn-group",button:"btn btn-default",stateActive:"active",stateDisabled:"disabled",today:"alert alert-info",popover:"panel panel-default",popoverHeader:"panel-heading",popoverContent:"panel-body",headerRow:"panel-default",dayRow:"panel-default",listView:"panel panel-default"},o.prototype.baseIconClass="glyphicon",o.prototype.iconClasses={close:"glyphicon-remove",prev:"glyphicon-chevron-left",next:"glyphicon-chevron-right",prevYear:"glyphicon-backward",nextYear:"glyphicon-forward"},o.prototype.iconOverrideOption="bootstrapGlyphicons",o.prototype.iconOverrideCustomButtonOption="bootstrapGlyphicon",o.prototype.iconOverridePrefix="glyphicon-"},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(7),i=n(47),o=n(70),s=r.default.views;s.basic={class:i.default},s.basicDay={type:"basic",duration:{days:1}},s.basicWeek={type:"basic",duration:{weeks:1}},s.month={class:o.default,duration:{months:1},defaults:{fixedWeekCount:!0}}},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(7),i=n(67),o=r.default.views;o.agenda={class:i.default,defaults:{allDaySlot:!0,slotDuration:"00:30:00",slotEventOverlap:!0}},o.agendaDay={type:"agenda",duration:{days:1}},o.agendaWeek={type:"agenda",duration:{weeks:1}}},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(7),i=n(71),o=r.default.views;o.list={class:i.default,buttonTextKey:"list",defaults:{buttonText:"list",listDayFormat:"LL",noEventsMessage:"No events to display"}},o.listDay={type:"list",duration:{days:1},defaults:{listDayFormat:"dddd"}},o.listWeek={type:"list",duration:{weeks:1},defaults:{listDayFormat:"dddd",listDayAltFormat:"LL"}},o.listMonth={type:"list",duration:{month:1},defaults:{listDayAltFormat:"dddd"}},o.listYear={type:"list",duration:{year:1},defaults:{listDayAltFormat:"dddd"}}}])});
\ No newline at end of file
diff --git a/assets/js/foundation.js b/assets/js/foundation.js
index 321fc51..2efe7c8 100644
--- a/assets/js/foundation.js
+++ b/assets/js/foundation.js
@@ -1,12 +1,41 @@
-'use strict';var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};!function($){"use strict";var FOUNDATION_VERSION='6.3.1';// Global Foundation object
+'use strict';var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};/******/(function(modules){// webpackBootstrap
+/******/// The module cache
+/******/var installedModules={};/******//******/// The require function
+/******/function __webpack_require__(moduleId){/******//******/// Check if module is in cache
+/******/if(installedModules[moduleId]){/******/return installedModules[moduleId].exports;/******/}/******/// Create a new module (and put it into the cache)
+/******/var module=installedModules[moduleId]={/******/i:moduleId,/******/l:false,/******/exports:{}/******/};/******//******/// Execute the module function
+/******/modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);/******//******/// Flag the module as loaded
+/******/module.l=true;/******//******/// Return the exports of the module
+/******/return module.exports;/******/}/******//******//******/// expose the modules object (__webpack_modules__)
+/******/__webpack_require__.m=modules;/******//******/// expose the module cache
+/******/__webpack_require__.c=installedModules;/******//******/// identity function for calling harmony imports with the correct context
+/******/__webpack_require__.i=function(value){return value;};/******//******/// define getter function for harmony exports
+/******/__webpack_require__.d=function(exports,name,getter){/******/if(!__webpack_require__.o(exports,name)){/******/Object.defineProperty(exports,name,{/******/configurable:false,/******/enumerable:true,/******/get:getter/******/});/******/}/******/};/******//******/// getDefaultExport function for compatibility with non-harmony modules
+/******/__webpack_require__.n=function(module){/******/var getter=module&&module.__esModule?/******/function getDefault(){return module['default'];}:/******/function getModuleExports(){return module;};/******/__webpack_require__.d(getter,'a',getter);/******/return getter;/******/};/******//******/// Object.prototype.hasOwnProperty.call
+/******/__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property);};/******//******/// __webpack_public_path__
+/******/__webpack_require__.p="";/******//******/// Load entry module and return exports
+/******/return __webpack_require__(__webpack_require__.s=6);/******/})(/************************************************************************//******/[/* 0 *//***/function(module,exports){module.exports=jQuery;/***/},/* 1 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return rtl;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"b",function(){return GetYoDigits;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"c",function(){return transitionend;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);// Core Foundation Utilities, utilized in a number of places.
+/**
+ * Returns a boolean for RTL support
+ */function rtl(){return __WEBPACK_IMPORTED_MODULE_0_jquery___default()('html').attr('dir')==='rtl';}/**
+ * returns a random base-36 uid with namespacing
+ * @function
+ * @param {Number} length - number of random base-36 digits desired. Increase for more random strings.
+ * @param {String} namespace - name of plugin to be incorporated in uid, optional.
+ * @default {String} '' - if no plugin name is provided, nothing is appended to the uid.
+ * @returns {String} - unique id
+ */function GetYoDigits(length,namespace){length=length||6;return Math.round(Math.pow(36,length+1)-Math.random()*Math.pow(36,length)).toString(36).slice(1)+(namespace?'-'+namespace:'');}function transitionend($elem){var transitions={'transition':'transitionend','WebkitTransition':'webkitTransitionEnd','MozTransition':'transitionend','OTransition':'otransitionend'};var elem=document.createElement('div'),end;for(var t in transitions){if(typeof elem.style[t]!=='undefined'){end=transitions[t];}}if(end){return end;}else{end=setTimeout(function(){$elem.triggerHandler('transitionend',[$elem]);},1);return'transitionend';}}/***/},/* 2 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:true});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_core__=__webpack_require__(3);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_core__=__webpack_require__(1);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_plugin__=__webpack_require__(4);__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a"/* Foundation */].addToJquery(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);// These are now separated out, but historically were a part of this module,
+// and since this is here for backwards compatibility we include them in
+// this entry.
+__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a"/* Foundation */].rtl=__WEBPACK_IMPORTED_MODULE_2__foundation_util_core__["a"/* rtl */];__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a"/* Foundation */].GetYoDigits=__WEBPACK_IMPORTED_MODULE_2__foundation_util_core__["b"/* GetYoDigits */];__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a"/* Foundation */].transitionend=__WEBPACK_IMPORTED_MODULE_2__foundation_util_core__["c"/* transitionend */];// Every plugin depends on plugin now, we can include that on the core for the
+// script inclusion path.
+__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a"/* Foundation */].Plugin=__WEBPACK_IMPORTED_MODULE_3__foundation_plugin__["a"/* Plugin */];window.Foundation=__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a"/* Foundation */];/***/},/* 3 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Foundation;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_core__=__webpack_require__(1);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__=__webpack_require__(5);var FOUNDATION_VERSION='6.4.3';// Global Foundation object
// This is attached to the window, or used as a module for AMD/Browserify
var Foundation={version:FOUNDATION_VERSION,/**
* Stores initialized plugins.
*/_plugins:{},/**
* Stores generated unique ids for plugin instances
*/_uuids:[],/**
- * Returns a boolean for RTL support
- */rtl:function rtl(){return $('html').attr('dir')==='rtl';},/**
* Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing.
* @param {Object} plugin - The constructor of the plugin.
*/plugin:function plugin(_plugin,name){// Object key to use when adding to global Foundation object
@@ -22,10 +51,10 @@ this._plugins[attrName]=this[className]=_plugin;},/**
* @param {Object} plugin - an instance of a plugin, usually `this` in context.
* @param {String} name - the name of the plugin, passed as a camelCased string.
* @fires Plugin#init
- */registerPlugin:function registerPlugin(plugin,name){var pluginName=name?hyphenate(name):functionName(plugin.constructor).toLowerCase();plugin.uuid=this.GetYoDigits(6,pluginName);if(!plugin.$element.attr('data-'+pluginName)){plugin.$element.attr('data-'+pluginName,plugin.uuid);}if(!plugin.$element.data('zfPlugin')){plugin.$element.data('zfPlugin',plugin);}/**
- * Fires when the plugin has initialized.
- * @event Plugin#init
- */plugin.$element.trigger('init.zf.'+pluginName);this._uuids.push(plugin.uuid);return;},/**
+ */registerPlugin:function registerPlugin(plugin,name){var pluginName=name?hyphenate(name):functionName(plugin.constructor).toLowerCase();plugin.uuid=__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__foundation_util_core__["b"/* GetYoDigits */])(6,pluginName);if(!plugin.$element.attr('data-'+pluginName)){plugin.$element.attr('data-'+pluginName,plugin.uuid);}if(!plugin.$element.data('zfPlugin')){plugin.$element.data('zfPlugin',plugin);}/**
+ * Fires when the plugin has initialized.
+ * @event Plugin#init
+ */plugin.$element.trigger('init.zf.'+pluginName);this._uuids.push(plugin.uuid);return;},/**
* @function
* Removes the plugins uuid from the _uuids array.
* Removes the zfPlugin data attribute, as well as the data-plugin-name attribute.
@@ -33,45 +62,32 @@ this._plugins[attrName]=this[className]=_plugin;},/**
* @param {Object} plugin - an instance of a plugin, usually `this` in context.
* @fires Plugin#destroyed
*/unregisterPlugin:function unregisterPlugin(plugin){var pluginName=hyphenate(functionName(plugin.$element.data('zfPlugin').constructor));this._uuids.splice(this._uuids.indexOf(plugin.uuid),1);plugin.$element.removeAttr('data-'+pluginName).removeData('zfPlugin')/**
- * Fires when the plugin has been destroyed.
- * @event Plugin#destroyed
- */.trigger('destroyed.zf.'+pluginName);for(var prop in plugin){plugin[prop]=null;//clean up script to prep for garbage collection.
+ * Fires when the plugin has been destroyed.
+ * @event Plugin#destroyed
+ */.trigger('destroyed.zf.'+pluginName);for(var prop in plugin){plugin[prop]=null;//clean up script to prep for garbage collection.
}return;},/**
* @function
* Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc.
* @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'`
* @default If no argument is passed, reflow all currently active plugins.
- */reInit:function reInit(plugins){var isJQ=plugins instanceof $;try{if(isJQ){plugins.each(function(){$(this).data('zfPlugin')._init();});}else{var type=typeof plugins==='undefined'?'undefined':_typeof(plugins),_this=this,fns={'object':function object(plgs){plgs.forEach(function(p){p=hyphenate(p);$('[data-'+p+']').foundation('_init');});},'string':function string(){plugins=hyphenate(plugins);$('[data-'+plugins+']').foundation('_init');},'undefined':function undefined(){this['object'](Object.keys(_this._plugins));}};fns[type](plugins);}}catch(err){console.error(err);}finally{return plugins;}},/**
- * returns a random base-36 uid with namespacing
- * @function
- * @param {Number} length - number of random base-36 digits desired. Increase for more random strings.
- * @param {String} namespace - name of plugin to be incorporated in uid, optional.
- * @default {String} '' - if no plugin name is provided, nothing is appended to the uid.
- * @returns {String} - unique id
- */GetYoDigits:function GetYoDigits(length,namespace){length=length||6;return Math.round(Math.pow(36,length+1)-Math.random()*Math.pow(36,length)).toString(36).slice(1)+(namespace?'-'+namespace:'');},/**
+ */reInit:function reInit(plugins){var isJQ=plugins instanceof __WEBPACK_IMPORTED_MODULE_0_jquery___default.a;try{if(isJQ){plugins.each(function(){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('zfPlugin')._init();});}else{var type=typeof plugins==='undefined'?'undefined':_typeof(plugins),_this=this,fns={'object':function object(plgs){plgs.forEach(function(p){p=hyphenate(p);__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-'+p+']').foundation('_init');});},'string':function string(){plugins=hyphenate(plugins);__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-'+plugins+']').foundation('_init');},'undefined':function undefined(){this['object'](Object.keys(_this._plugins));}};fns[type](plugins);}}catch(err){console.error(err);}finally{return plugins;}},/**
* Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized.
* @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object.
* @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything.
*/reflow:function reflow(elem,plugins){// If plugins is undefined, just grab everything
if(typeof plugins==='undefined'){plugins=Object.keys(this._plugins);}// If plugins is a string, convert it to an array with one item
else if(typeof plugins==='string'){plugins=[plugins];}var _this=this;// Iterate through each plugin
-$.each(plugins,function(i,name){// Get the current plugin
+__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.each(plugins,function(i,name){// Get the current plugin
var plugin=_this._plugins[name];// Localize the search to all elements inside elem, as well as elem itself, unless elem === document
-var $elem=$(elem).find('[data-'+name+']').addBack('[data-'+name+']');// For each plugin found, initialize it
-$elem.each(function(){var $el=$(this),opts={};// Don't double-dip on plugins
-if($el.data('zfPlugin')){console.warn("Tried to initialize "+name+" on an element that already has a Foundation plugin.");return;}if($el.attr('data-options')){var thing=$el.attr('data-options').split(';').forEach(function(e,i){var opt=e.split(':').map(function(el){return el.trim();});if(opt[0])opts[opt[0]]=parseValue(opt[1]);});}try{$el.data('zfPlugin',new plugin($(this),opts));}catch(er){console.error(er);}finally{return;}});});},getFnName:functionName,transitionend:function transitionend($elem){var transitions={'transition':'transitionend','WebkitTransition':'webkitTransitionEnd','MozTransition':'transitionend','OTransition':'otransitionend'};var elem=document.createElement('div'),end;for(var t in transitions){if(typeof elem.style[t]!=='undefined'){end=transitions[t];}}if(end){return end;}else{end=setTimeout(function(){$elem.triggerHandler('transitionend',[$elem]);},1);return'transitionend';}}};Foundation.util={/**
- * Function for applying a debounce effect to a function call.
- * @function
- * @param {Function} func - Function to be called at end of timeout.
- * @param {Number} delay - Time in ms to delay the call of `func`.
- * @returns function
- */throttle:function throttle(func,delay){var timer=null;return function(){var context=this,args=arguments;if(timer===null){timer=setTimeout(function(){func.apply(context,args);timer=null;},delay);}};}};// TODO: consider not making this a jQuery function
+var $elem=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(elem).find('[data-'+name+']').addBack('[data-'+name+']');// For each plugin found, initialize it
+$elem.each(function(){var $el=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),opts={};// Don't double-dip on plugins
+if($el.data('zfPlugin')){console.warn("Tried to initialize "+name+" on an element that already has a Foundation plugin.");return;}if($el.attr('data-options')){var thing=$el.attr('data-options').split(';').forEach(function(e,i){var opt=e.split(':').map(function(el){return el.trim();});if(opt[0])opts[opt[0]]=parseValue(opt[1]);});}try{$el.data('zfPlugin',new plugin(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),opts));}catch(er){console.error(er);}finally{return;}});});},getFnName:functionName,addToJquery:function addToJquery($){// TODO: consider not making this a jQuery function
// TODO: need way to reflow vs. re-initialize
/**
- * The Foundation jQuery method.
- * @param {String|Array} method - An action to perform on the current jQuery object.
- */var foundation=function foundation(method){var type=typeof method==='undefined'?'undefined':_typeof(method),$meta=$('meta.foundation-mq'),$noJS=$('.no-js');if(!$meta.length){$('').appendTo(document.head);}if($noJS.length){$noJS.removeClass('no-js');}if(type==='undefined'){//needs to initialize the Foundation object, or an individual plugin.
-Foundation.MediaQuery._init();Foundation.reflow(this);}else if(type==='string'){//an individual method to invoke on a plugin or group of plugins
+ * The Foundation jQuery method.
+ * @param {String|Array} method - An action to perform on the current jQuery object.
+ */var foundation=function foundation(method){var type=typeof method==='undefined'?'undefined':_typeof(method),$noJS=$('.no-js');if($noJS.length){$noJS.removeClass('no-js');}if(type==='undefined'){//needs to initialize the Foundation object, or an individual plugin.
+__WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__["a"/* MediaQuery */]._init();Foundation.reflow(this);}else if(type==='string'){//an individual method to invoke on a plugin or group of plugins
var args=Array.prototype.slice.call(arguments,1);//collect all the arguments, if necessary
var plugClass=this.data('zfPlugin');//determine the class of plugin
if(plugClass!==undefined&&plugClass[method]!==undefined){//make sure both the class and method exist
@@ -79,7 +95,13 @@ if(this.length===1){//if there's only one, call it directly.
plugClass[method].apply(plugClass,args);}else{this.each(function(i,el){//otherwise loop through the jQuery collection and invoke the method on each
plugClass[method].apply($(el).data('zfPlugin'),args);});}}else{//error for no class or no method
throw new ReferenceError("We're sorry, '"+method+"' is not an available method for "+(plugClass?functionName(plugClass):'this element')+'.');}}else{//error for invalid argument type
-throw new TypeError('We\'re sorry, '+type+' is not a valid parameter. You must use a string representing the method you wish to invoke.');}return this;};window.Foundation=Foundation;$.fn.foundation=foundation;// Polyfill for requestAnimationFrame
+throw new TypeError('We\'re sorry, '+type+' is not a valid parameter. You must use a string representing the method you wish to invoke.');}return this;};$.fn.foundation=foundation;return $;}};Foundation.util={/**
+ * Function for applying a debounce effect to a function call.
+ * @function
+ * @param {Function} func - Function to be called at end of timeout.
+ * @param {Number} delay - Time in ms to delay the call of `func`.
+ * @returns function
+ */throttle:function throttle(func,delay){var timer=null;return function(){var context=this,args=arguments;if(timer===null){timer=setTimeout(function(){func.apply(context,args);timer=null;},delay);}};}};window.Foundation=Foundation;// Polyfill for requestAnimationFrame
(function(){if(!Date.now||!window.Date.now)window.Date.now=Date.now=function(){return new Date().getTime();};var vendors=['webkit','moz'];for(var i=0;i1?results[1].trim():"";}else if(fn.prototype===undefined){return fn.constructor.name;}else{return fn.prototype.constructor.name;}}function parseValue(str){if('true'===str)return true;else if('false'===str)return false;else if(!isNaN(str*1))return parseFloat(str);return str;}// Convert PascalCase to kebab-case
// Thank you: http://stackoverflow.com/a/8955580
-function hyphenate(str){return str.replace(/([a-z])([A-Z])/g,'$1-$2').toLowerCase();}}(jQuery);
-'use strict';!function($){Foundation.Box={ImNotTouchingYou:ImNotTouchingYou,GetDimensions:GetDimensions,GetOffsets:GetOffsets/**
- * Compares the dimensions of an element to a container and determines collision events with container.
- * @function
- * @param {jQuery} element - jQuery object to test for collisions.
- * @param {jQuery} parent - jQuery object to use as bounding container.
- * @param {Boolean} lrOnly - set to true to check left and right values only.
- * @param {Boolean} tbOnly - set to true to check top and bottom values only.
- * @default if no parent object passed, detects collisions with `window`.
- * @returns {Boolean} - true if collision free, false if a collision in any direction.
- */};function ImNotTouchingYou(element,parent,lrOnly,tbOnly){var eleDims=GetDimensions(element),top,bottom,left,right;if(parent){var parDims=GetDimensions(parent);bottom=eleDims.offset.top+eleDims.height<=parDims.height+parDims.offset.top;top=eleDims.offset.top>=parDims.offset.top;left=eleDims.offset.left>=parDims.offset.left;right=eleDims.offset.left+eleDims.width<=parDims.width+parDims.offset.left;}else{bottom=eleDims.offset.top+eleDims.height<=eleDims.windowDims.height+eleDims.windowDims.offset.top;top=eleDims.offset.top>=eleDims.windowDims.offset.top;left=eleDims.offset.left>=eleDims.windowDims.offset.left;right=eleDims.offset.left+eleDims.width<=eleDims.windowDims.width;}var allDirs=[bottom,top,left,right];if(lrOnly){return left===right===true;}if(tbOnly){return top===bottom===true;}return allDirs.indexOf(false)===-1;};/**
+function hyphenate(str){return str.replace(/([a-z])([A-Z])/g,'$1-$2').toLowerCase();}/***/},/* 4 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Plugin;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_core__=__webpack_require__(1);var _createClass=function(){function defineProperties(target,props){for(var i=0;i').appendTo(document.head);}var extractedStyles=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('.foundation-mq').css('font-family');var namedQueries;namedQueries=parseStyleToObject(extractedStyles);for(var key in namedQueries){if(namedQueries.hasOwnProperty(key)){self.queries.push({name:key,value:'only screen and (min-width: '+namedQueries[key]+')'});}}this.current=this._getCurrentSize();this._watcher();},/**
+ * Checks if the screen is at least as wide as a breakpoint.
+ * @function
+ * @param {String} size - Name of the breakpoint to check.
+ * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.
+ */atLeast:function atLeast(size){var query=this.get(size);if(query){return matchMedia(query).matches;}return false;},/**
+ * Checks if the screen matches to a breakpoint.
+ * @function
+ * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.
+ * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.
+ */is:function is(size){size=size.trim().split(' ');if(size.length>1&&size[1]==='only'){if(size[0]===this._getCurrentSize())return true;}else{return this.atLeast(size[0]);}return false;},/**
+ * Gets the media query of a breakpoint.
+ * @function
+ * @param {String} size - Name of the breakpoint to get.
+ * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.
+ */get:function get(size){for(var i in this.queries){if(this.queries.hasOwnProperty(i)){var query=this.queries[i];if(size===query.name)return query.value;}}return null;},/**
+ * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).
+ * @function
+ * @private
+ * @returns {String} Name of the current breakpoint.
+ */_getCurrentSize:function _getCurrentSize(){var matched;for(var i=0;i').appendTo(document.head);}var extractedStyles=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('.foundation-mq').css('font-family');var namedQueries;namedQueries=parseStyleToObject(extractedStyles);for(var key in namedQueries){if(namedQueries.hasOwnProperty(key)){self.queries.push({name:key,value:'only screen and (min-width: '+namedQueries[key]+')'});}}this.current=this._getCurrentSize();this._watcher();},/**
* Checks if the screen is at least as wide as a breakpoint.
* @function
* @param {String} size - Name of the breakpoint to check.
* @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.
- */atLeast:function atLeast(size){var query=this.get(size);if(query){return window.matchMedia(query).matches;}return false;},/**
+ */atLeast:function atLeast(size){var query=this.get(size);if(query){return matchMedia(query).matches;}return false;},/**
* Checks if the screen matches to a breakpoint.
* @function
* @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.
@@ -184,25 +353,35 @@ var defaultQueries={'default':'only screen',landscape:'only screen and (orientat
* @function
* @private
* @returns {String} Name of the current breakpoint.
- */_getCurrentSize:function _getCurrentSize(){var matched;for(var i=0;i').appendTo(document.head);var t,n=u()(".foundation-mq").css("font-family");t=r(n);for(var i in t){t.hasOwnProperty(i)&&e.queries.push({name:i,value:"only screen and (min-width: "+t[i]+")"});}this.current=this._getCurrentSize(),this._watcher();},atLeast:function atLeast(e){var t=this.get(e);return!!t&&o(t).matches;},is:function is(e){return e=e.trim().split(" "),e.length>1&&"only"===e[1]?e[0]===this._getCurrentSize():this.atLeast(e[0]);},get:function get(e){for(var t in this.queries){if(this.queries.hasOwnProperty(t)){var n=this.queries[t];if(e===n.name)return n.value;}}return null;},_getCurrentSize:function _getCurrentSize(){for(var e,t=0;t1&&arguments[1]!==undefined?arguments[1]:'zf';menu.attr('role','menubar');var items=menu.find('li').attr({'role':'menuitem'}),subMenuClass='is-'+type+'-submenu',subItemClass=subMenuClass+'-item',hasSubClass='is-'+type+'-submenu-parent';items.each(function(){var $item=$(this),$sub=$item.children('ul');if($sub.length){$item.addClass(hasSubClass).attr({'aria-haspopup':true,'aria-label':$item.children('a:first').text()});// Note: Drilldowns behave differently in how they hide, and so need
+function reset(){element[0].style.transitionDuration=0;element.removeClass(initClass+' '+activeClass+' '+animation);}}/***/}/******/});
+"use strict";!function(n){function t(e){if(i[e])return i[e].exports;var o=i[e]={i:e,l:!1,exports:{}};return n[e].call(o.exports,o,o.exports,t),o.l=!0,o.exports;}var i={};t.m=n,t.c=i,t.i=function(n){return n;},t.d=function(n,i,e){t.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:e});},t.n=function(n){var i=n&&n.__esModule?function(){return n.default;}:function(){return n;};return t.d(i,"a",i),i;},t.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t);},t.p="",t(t.s=104);}({0:function _(n,t){n.exports=jQuery;},1:function _(n,t){n.exports={Foundation:window.Foundation};},104:function _(n,t,i){n.exports=i(38);},3:function _(n,t){n.exports={rtl:window.Foundation.rtl,GetYoDigits:window.Foundation.GetYoDigits,transitionend:window.Foundation.transitionend};},38:function _(n,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var e=i(1),o=(i.n(e),i(68));e.Foundation.Motion=o.a,e.Foundation.Move=o.b;},68:function _(n,t,i){"use strict";function e(n,t,i){function e(u){a||(a=u),r=u-a,i.apply(t),r1&&arguments[1]!==undefined?arguments[1]:'zf';menu.attr('role','menubar');var items=menu.find('li').attr({'role':'menuitem'}),subMenuClass='is-'+type+'-submenu',subItemClass=subMenuClass+'-item',hasSubClass='is-'+type+'-submenu-parent',applyAria=type!=='accordion';// Accordions handle their own ARIA attriutes.
+items.each(function(){var $item=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),$sub=$item.children('ul');if($sub.length){$item.addClass(hasSubClass);$sub.addClass('submenu '+subMenuClass).attr({'data-submenu':''});if(applyAria){$item.attr({'aria-haspopup':true,'aria-label':$item.children('a:first').text()});// Note: Drilldowns behave differently in how they hide, and so need
// additional attributes. We should look if this possibly over-generalized
// utility (Nest) is appropriate when we rework menus in 6.4
-if(type==='drilldown'){$item.attr({'aria-expanded':false});}$sub.addClass('submenu '+subMenuClass).attr({'data-submenu':'','role':'menu'});if(type==='drilldown'){$sub.attr({'aria-hidden':true});}}if($item.parent('[data-submenu]').length){$item.addClass('is-submenu-item '+subItemClass);}});return;},Burn:function Burn(menu,type){var//items = menu.find('li'),
-subMenuClass='is-'+type+'-submenu',subItemClass=subMenuClass+'-item',hasSubClass='is-'+type+'-submenu-parent';menu.find('>li, .menu, .menu > li').removeClass(subMenuClass+' '+subItemClass+' '+hasSubClass+' is-submenu-item submenu is-active').removeAttr('data-submenu').css('display','');// console.log( menu.find('.' + subMenuClass + ', .' + subItemClass + ', .has-submenu, .is-submenu-item, .submenu, [data-submenu]')
-// .removeClass(subMenuClass + ' ' + subItemClass + ' has-submenu is-submenu-item submenu')
-// .removeAttr('data-submenu'));
-// items.each(function(){
-// var $item = $(this),
-// $sub = $item.children('ul');
-// if($item.parent('[data-submenu]').length){
-// $item.removeClass('is-submenu-item ' + subItemClass);
-// }
-// if($sub.length){
-// $item.removeClass('has-submenu');
-// $sub.removeClass('submenu ' + subMenuClass).removeAttr('data-submenu');
-// }
-// });
-}};Foundation.Nest=Nest;}(jQuery);
+if(type==='drilldown'){$item.attr({'aria-expanded':false});}}$sub.addClass('submenu '+subMenuClass).attr({'data-submenu':'','role':'menu'});if(type==='drilldown'){$sub.attr({'aria-hidden':true});}}if($item.parent('[data-submenu]').length){$item.addClass('is-submenu-item '+subItemClass);}});return;},Burn:function Burn(menu,type){var//items = menu.find('li'),
+subMenuClass='is-'+type+'-submenu',subItemClass=subMenuClass+'-item',hasSubClass='is-'+type+'-submenu-parent';menu.find('>li, .menu, .menu > li').removeClass(subMenuClass+' '+subItemClass+' '+hasSubClass+' is-submenu-item submenu is-active').removeAttr('data-submenu').css('display','');}};/***/}/******/});
+"use strict";!function(n){function e(r){if(t[r])return t[r].exports;var u=t[r]={i:r,l:!1,exports:{}};return n[r].call(u.exports,u,u.exports,e),u.l=!0,u.exports;}var t={};e.m=n,e.c=t,e.i=function(n){return n;},e.d=function(n,t,r){e.o(n,t)||Object.defineProperty(n,t,{configurable:!1,enumerable:!0,get:r});},e.n=function(n){var t=n&&n.__esModule?function(){return n.default;}:function(){return n;};return e.d(t,"a",t),t;},e.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e);},e.p="",e(e.s=105);}({0:function _(n,e){n.exports=jQuery;},1:function _(n,e){n.exports={Foundation:window.Foundation};},105:function _(n,e,t){n.exports=t(39);},39:function _(n,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=t(1),u=(t.n(r),t(69));r.Foundation.Nest=u.a;},69:function _(n,e,t){"use strict";t.d(e,"a",function(){return a;});var r=t(0),u=t.n(r),a={Feather:function Feather(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zf";n.attr("role","menubar");var t=n.find("li").attr({role:"menuitem"}),r="is-"+e+"-submenu",a=r+"-item",i="is-"+e+"-submenu-parent",o="accordion"!==e;t.each(function(){var n=u()(this),t=n.children("ul");t.length&&(n.addClass(i),t.addClass("submenu "+r).attr({"data-submenu":""}),o&&(n.attr({"aria-haspopup":!0,"aria-label":n.children("a:first").text()}),"drilldown"===e&&n.attr({"aria-expanded":!1})),t.addClass("submenu "+r).attr({"data-submenu":"",role:"menu"}),"drilldown"===e&&t.attr({"aria-hidden":!0})),n.parent("[data-submenu]").length&&n.addClass("is-submenu-item "+a);});},Burn:function Burn(n,e){var t="is-"+e+"-submenu",r=t+"-item",u="is-"+e+"-submenu-parent";n.find(">li, .menu, .menu > li").removeClass(t+" "+r+" "+u+" is-submenu-item submenu is-active").removeAttr("data-submenu").css("display","");}};}});
+'use strict';/******/(function(modules){// webpackBootstrap
+/******/// The module cache
+/******/var installedModules={};/******//******/// The require function
+/******/function __webpack_require__(moduleId){/******//******/// Check if module is in cache
+/******/if(installedModules[moduleId]){/******/return installedModules[moduleId].exports;/******/}/******/// Create a new module (and put it into the cache)
+/******/var module=installedModules[moduleId]={/******/i:moduleId,/******/l:false,/******/exports:{}/******/};/******//******/// Execute the module function
+/******/modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);/******//******/// Flag the module as loaded
+/******/module.l=true;/******//******/// Return the exports of the module
+/******/return module.exports;/******/}/******//******//******/// expose the modules object (__webpack_modules__)
+/******/__webpack_require__.m=modules;/******//******/// expose the module cache
+/******/__webpack_require__.c=installedModules;/******//******/// identity function for calling harmony imports with the correct context
+/******/__webpack_require__.i=function(value){return value;};/******//******/// define getter function for harmony exports
+/******/__webpack_require__.d=function(exports,name,getter){/******/if(!__webpack_require__.o(exports,name)){/******/Object.defineProperty(exports,name,{/******/configurable:false,/******/enumerable:true,/******/get:getter/******/});/******/}/******/};/******//******/// getDefaultExport function for compatibility with non-harmony modules
+/******/__webpack_require__.n=function(module){/******/var getter=module&&module.__esModule?/******/function getDefault(){return module['default'];}:/******/function getModuleExports(){return module;};/******/__webpack_require__.d(getter,'a',getter);/******/return getter;/******/};/******//******/// Object.prototype.hasOwnProperty.call
+/******/__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property);};/******//******/// __webpack_public_path__
+/******/__webpack_require__.p="";/******//******/// Load entry module and return exports
+/******/return __webpack_require__(__webpack_require__.s=106);/******/})(/************************************************************************//******/{/***/0:/***/function _(module,exports){module.exports=jQuery;/***/},/***/1:/***/function _(module,exports){module.exports={Foundation:window.Foundation};/***/},/***/106:/***/function _(module,exports,__webpack_require__){module.exports=__webpack_require__(40);/***/},/***/40:/***/function _(module,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:true});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0__foundation_core__=__webpack_require__(1);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0__foundation_core___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__foundation_core__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_timer__=__webpack_require__(70);__WEBPACK_IMPORTED_MODULE_0__foundation_core__["Foundation"].Timer=__WEBPACK_IMPORTED_MODULE_1__foundation_util_timer__["a"/* Timer */];/***/},/***/70:/***/function _(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Timer;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);function Timer(elem,options,cb){var _this=this,duration=options.duration,//options is an object for easily adding features later.
+nameSpace=Object.keys(elem.data())[0]||'timer',remain=-1,start,timer;this.isPaused=false;this.restart=function(){remain=-1;clearTimeout(timer);this.start();};this.start=function(){this.isPaused=false;// if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.
+clearTimeout(timer);remain=remain<=0?duration:remain;elem.data('paused',false);start=Date.now();timer=setTimeout(function(){if(options.infinite){_this.restart();//rerun the timer.
+}if(cb&&typeof cb==='function'){cb();}},remain);elem.trigger('timerstart.zf.'+nameSpace);};this.pause=function(){this.isPaused=true;//if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.
+clearTimeout(timer);elem.data('paused',true);var end=Date.now();remain=remain-(end-start);elem.trigger('timerpaused.zf.'+nameSpace);};}/***/}/******/});
+"use strict";!function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports;}var n={};e.m=t,e.c=n,e.i=function(t){return t;},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r});},e.n=function(t){var n=t&&t.__esModule?function(){return t.default;}:function(){return t;};return e.d(n,"a",n),n;},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e);},e.p="",e(e.s=106);}({0:function _(t,e){t.exports=jQuery;},1:function _(t,e){t.exports={Foundation:window.Foundation};},106:function _(t,e,n){t.exports=n(40);},40:function _(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),i=(n.n(r),n(70));r.Foundation.Timer=i.a;},70:function _(t,e,n){"use strict";function r(t,e,n){var r,i,o=this,u=e.duration,a=Object.keys(t.data())[0]||"timer",s=-1;this.isPaused=!1,this.restart=function(){s=-1,clearTimeout(i),this.start();},this.start=function(){this.isPaused=!1,clearTimeout(i),s=s<=0?u:s,t.data("paused",!1),r=Date.now(),i=setTimeout(function(){e.infinite&&o.restart(),n&&"function"==typeof n&&n();},s),t.trigger("timerstart.zf."+a);},this.pause=function(){this.isPaused=!0,clearTimeout(i),t.data("paused",!0);var e=Date.now();s-=e-r,t.trigger("timerpaused.zf."+a);};}n.d(e,"a",function(){return r;});var i=n(0);n.n(i);}});
'use strict';!function($){function Timer(elem,options,cb){var _this=this,duration=options.duration,//options is an object for easily adding features later.
nameSpace=Object.keys(elem.data())[0]||'timer',remain=-1,start,timer;this.isPaused=false;this.restart=function(){remain=-1;clearTimeout(timer);this.start();};this.start=function(){this.isPaused=false;// if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.
clearTimeout(timer);remain=remain<=0?duration:remain;elem.data('paused',false);start=Date.now();timer=setTimeout(function(){if(options.infinite){_this.restart();//rerun the timer.
}if(cb&&typeof cb==='function'){cb();}},remain);elem.trigger('timerstart.zf.'+nameSpace);};this.pause=function(){this.isPaused=true;//if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.
clearTimeout(timer);elem.data('paused',true);var end=Date.now();remain=remain-(end-start);elem.trigger('timerpaused.zf.'+nameSpace);};}/**
- * Runs a callback function when images are fully loaded.
- * @param {Object} images - Image(s) to check if loaded.
- * @param {Func} callback - Function to execute when image is fully loaded.
- */function onImagesLoaded(images,callback){var self=this,unloaded=images.length;if(unloaded===0){callback();}images.each(function(){// Check if image is loaded
+ * Runs a callback function when images are fully loaded.
+ * @param {Object} images - Image(s) to check if loaded.
+ * @param {Func} callback - Function to execute when image is fully loaded.
+ */function onImagesLoaded(images,callback){var self=this,unloaded=images.length;if(unloaded===0){callback();}images.each(function(){// Check if image is loaded
if(this.complete||this.readyState===4||this.readyState==='complete'){singleImageLoaded();}// Force load the image
else{// fix for IE. See https://css-tricks.com/snippets/jquery/fixing-load-in-ie-for-cached-images/
var src=$(this).attr('src');$(this).attr('src',src+(src.indexOf('?')>=0?'&':'?')+new Date().getTime());$(this).one('load',function(){singleImageLoaded();});}});function singleImageLoaded(){unloaded--;if(unloaded===0){callback();}}}Foundation.Timer=Timer;Foundation.onImagesLoaded=onImagesLoaded;}(jQuery);
-'use strict';//**************************************************
+"use strict";!function(t){function e(t,e,i){var a,s,n=this,r=e.duration,o=Object.keys(t.data())[0]||"timer",u=-1;this.isPaused=!1,this.restart=function(){u=-1,clearTimeout(s),this.start();},this.start=function(){this.isPaused=!1,clearTimeout(s),u=u<=0?r:u,t.data("paused",!1),a=Date.now(),s=setTimeout(function(){e.infinite&&n.restart(),i&&"function"==typeof i&&i();},u),t.trigger("timerstart.zf."+o);},this.pause=function(){this.isPaused=!0,clearTimeout(s),t.data("paused",!0);var e=Date.now();u-=e-a,t.trigger("timerpaused.zf."+o);};}function i(e,i){function a(){s--,0===s&&i();}var s=e.length;0===s&&i(),e.each(function(){if(this.complete||4===this.readyState||"complete"===this.readyState)a();else{var e=t(this).attr("src");t(this).attr("src",e+(e.indexOf("?")>=0?"&":"?")+new Date().getTime()),t(this).one("load",function(){a();});}});}Foundation.Timer=e,Foundation.onImagesLoaded=i;}(jQuery);
+'use strict';/******/(function(modules){// webpackBootstrap
+/******/// The module cache
+/******/var installedModules={};/******//******/// The require function
+/******/function __webpack_require__(moduleId){/******//******/// Check if module is in cache
+/******/if(installedModules[moduleId]){/******/return installedModules[moduleId].exports;/******/}/******/// Create a new module (and put it into the cache)
+/******/var module=installedModules[moduleId]={/******/i:moduleId,/******/l:false,/******/exports:{}/******/};/******//******/// Execute the module function
+/******/modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);/******//******/// Flag the module as loaded
+/******/module.l=true;/******//******/// Return the exports of the module
+/******/return module.exports;/******/}/******//******//******/// expose the modules object (__webpack_modules__)
+/******/__webpack_require__.m=modules;/******//******/// expose the module cache
+/******/__webpack_require__.c=installedModules;/******//******/// identity function for calling harmony imports with the correct context
+/******/__webpack_require__.i=function(value){return value;};/******//******/// define getter function for harmony exports
+/******/__webpack_require__.d=function(exports,name,getter){/******/if(!__webpack_require__.o(exports,name)){/******/Object.defineProperty(exports,name,{/******/configurable:false,/******/enumerable:true,/******/get:getter/******/});/******/}/******/};/******//******/// getDefaultExport function for compatibility with non-harmony modules
+/******/__webpack_require__.n=function(module){/******/var getter=module&&module.__esModule?/******/function getDefault(){return module['default'];}:/******/function getModuleExports(){return module;};/******/__webpack_require__.d(getter,'a',getter);/******/return getter;/******/};/******//******/// Object.prototype.hasOwnProperty.call
+/******/__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property);};/******//******/// __webpack_public_path__
+/******/__webpack_require__.p="";/******//******/// Load entry module and return exports
+/******/return __webpack_require__(__webpack_require__.s=107);/******/})(/************************************************************************//******/{/***/0:/***/function _(module,exports){module.exports=jQuery;/***/},/***/107:/***/function _(module,exports,__webpack_require__){module.exports=__webpack_require__(41);/***/},/***/41:/***/function _(module,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:true});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_touch__=__webpack_require__(71);__WEBPACK_IMPORTED_MODULE_1__foundation_util_touch__["a"/* Touch */].init(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);window.Foundation.Touch=__WEBPACK_IMPORTED_MODULE_1__foundation_util_touch__["a"/* Touch */];/***/},/***/71:/***/function _(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Touch;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);var _createClass=function(){function defineProperties(target,props){for(var i=0;i=$.spotSwipe.moveThreshold&&elapsedTime<=$.spotSwipe.timeThreshold){dir=dx>0?'left':'right';}// else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {
+var Touch={};var startPosX,startPosY,startTime,elapsedTime,isMoving=false;function onTouchEnd(){// alert(this);
+this.removeEventListener('touchmove',onTouchMove);this.removeEventListener('touchend',onTouchEnd);isMoving=false;}function onTouchMove(e){if(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.spotSwipe.preventDefault){e.preventDefault();}if(isMoving){var x=e.touches[0].pageX;var y=e.touches[0].pageY;var dx=startPosX-x;var dy=startPosY-y;var dir;elapsedTime=new Date().getTime()-startTime;if(Math.abs(dx)>=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.spotSwipe.moveThreshold&&elapsedTime<=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.spotSwipe.timeThreshold){dir=dx>0?'left':'right';}// else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {
// dir = dy > 0 ? 'down' : 'up';
// }
-if(dir){e.preventDefault();onTouchEnd.call(this);$(this).trigger('swipe',dir).trigger('swipe'+dir);}}}function onTouchStart(e){if(e.touches.length==1){startPosX=e.touches[0].pageX;startPosY=e.touches[0].pageY;isMoving=true;startTime=new Date().getTime();this.addEventListener('touchmove',onTouchMove,false);this.addEventListener('touchend',onTouchEnd,false);}}function init(){this.addEventListener&&this.addEventListener('touchstart',onTouchStart,false);}function teardown(){this.removeEventListener('touchstart',onTouchStart);}$.event.special.swipe={setup:init};$.each(['left','up','down','right'],function(){$.event.special['swipe'+this]={setup:function setup(){$(this).on('swipe',$.noop);}};});})(jQuery);/****************************************************
- * Method for adding psuedo drag events to elements *
- ***************************************************/!function($){$.fn.addTouch=function(){this.each(function(i,el){$(el).bind('touchstart touchmove touchend touchcancel',function(){//we pass the original event object because the jQuery event
+if(dir){e.preventDefault();onTouchEnd.call(this);__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).trigger('swipe',dir).trigger('swipe'+dir);}}}function onTouchStart(e){if(e.touches.length==1){startPosX=e.touches[0].pageX;startPosY=e.touches[0].pageY;isMoving=true;startTime=new Date().getTime();this.addEventListener('touchmove',onTouchMove,false);this.addEventListener('touchend',onTouchEnd,false);}}function init(){this.addEventListener&&this.addEventListener('touchstart',onTouchStart,false);}function teardown(){this.removeEventListener('touchstart',onTouchStart);}var SpotSwipe=function(){function SpotSwipe($){_classCallCheck(this,SpotSwipe);this.version='1.0.0';this.enabled='ontouchstart'in document.documentElement;this.preventDefault=false;this.moveThreshold=75;this.timeThreshold=200;this.$=$;this._init();}_createClass(SpotSwipe,[{key:'_init',value:function _init(){var $=this.$;$.event.special.swipe={setup:init};$.each(['left','up','down','right'],function(){$.event.special['swipe'+this]={setup:function setup(){$(this).on('swipe',$.noop);}};});}}]);return SpotSwipe;}();/****************************************************
+ * As far as I can tell, both setupSpotSwipe and *
+ * setupTouchHandler should be idempotent, *
+ * because they directly replace functions & *
+ * values, and do not add event handlers directly. *
+ ****************************************************/Touch.setupSpotSwipe=function($){$.spotSwipe=new SpotSwipe($);};/****************************************************
+ * Method for adding pseudo drag events to elements *
+ ***************************************************/Touch.setupTouchHandler=function($){$.fn.addTouch=function(){this.each(function(i,el){$(el).bind('touchstart touchmove touchend touchcancel',function(){//we pass the original event object because the jQuery event
//object is normalized to w3c specs and does not provide the TouchList
-handleTouch(event);});});var handleTouch=function handleTouch(event){var touches=event.changedTouches,first=touches[0],eventTypes={touchstart:'mousedown',touchmove:'mousemove',touchend:'mouseup'},type=eventTypes[event.type],simulatedEvent;if('MouseEvent'in window&&typeof window.MouseEvent==='function'){simulatedEvent=new window.MouseEvent(type,{'bubbles':true,'cancelable':true,'screenX':first.screenX,'screenY':first.screenY,'clientX':first.clientX,'clientY':first.clientY});}else{simulatedEvent=document.createEvent('MouseEvent');simulatedEvent.initMouseEvent(type,true,true,window,1,first.screenX,first.screenY,first.clientX,first.clientY,false,false,false,false,0/*left*/,null);}first.target.dispatchEvent(simulatedEvent);};};}(jQuery);//**********************************
-//**From the jQuery Mobile Library**
-//**need to recreate functionality**
-//**and try to improve if possible**
-//**********************************
-/* Removing the jQuery function ****
-************************************
-
-(function( $, window, undefined ) {
-
- var $document = $( document ),
- // supportTouch = $.mobile.support.touch,
- touchStartEvent = 'touchstart'//supportTouch ? "touchstart" : "mousedown",
- touchStopEvent = 'touchend'//supportTouch ? "touchend" : "mouseup",
- touchMoveEvent = 'touchmove'//supportTouch ? "touchmove" : "mousemove";
-
- // setup new event shortcuts
- $.each( ( "touchstart touchmove touchend " +
- "swipe swipeleft swiperight" ).split( " " ), function( i, name ) {
-
- $.fn[ name ] = function( fn ) {
- return fn ? this.bind( name, fn ) : this.trigger( name );
- };
-
- // jQuery < 1.8
- if ( $.attrFn ) {
- $.attrFn[ name ] = true;
- }
- });
-
- function triggerCustomEvent( obj, eventType, event, bubble ) {
- var originalType = event.type;
- event.type = eventType;
- if ( bubble ) {
- $.event.trigger( event, undefined, obj );
- } else {
- $.event.dispatch.call( obj, event );
- }
- event.type = originalType;
- }
-
- // also handles taphold
-
- // Also handles swipeleft, swiperight
- $.event.special.swipe = {
-
- // More than this horizontal displacement, and we will suppress scrolling.
- scrollSupressionThreshold: 30,
-
- // More time than this, and it isn't a swipe.
- durationThreshold: 1000,
-
- // Swipe horizontal displacement must be more than this.
- horizontalDistanceThreshold: window.devicePixelRatio >= 2 ? 15 : 30,
-
- // Swipe vertical displacement must be less than this.
- verticalDistanceThreshold: window.devicePixelRatio >= 2 ? 15 : 30,
-
- getLocation: function ( event ) {
- var winPageX = window.pageXOffset,
- winPageY = window.pageYOffset,
- x = event.clientX,
- y = event.clientY;
-
- if ( event.pageY === 0 && Math.floor( y ) > Math.floor( event.pageY ) ||
- event.pageX === 0 && Math.floor( x ) > Math.floor( event.pageX ) ) {
-
- // iOS4 clientX/clientY have the value that should have been
- // in pageX/pageY. While pageX/page/ have the value 0
- x = x - winPageX;
- y = y - winPageY;
- } else if ( y < ( event.pageY - winPageY) || x < ( event.pageX - winPageX ) ) {
-
- // Some Android browsers have totally bogus values for clientX/Y
- // when scrolling/zooming a page. Detectable since clientX/clientY
- // should never be smaller than pageX/pageY minus page scroll
- x = event.pageX - winPageX;
- y = event.pageY - winPageY;
- }
-
- return {
- x: x,
- y: y
- };
- },
-
- start: function( event ) {
- var data = event.originalEvent.touches ?
- event.originalEvent.touches[ 0 ] : event,
- location = $.event.special.swipe.getLocation( data );
- return {
- time: ( new Date() ).getTime(),
- coords: [ location.x, location.y ],
- origin: $( event.target )
- };
- },
-
- stop: function( event ) {
- var data = event.originalEvent.touches ?
- event.originalEvent.touches[ 0 ] : event,
- location = $.event.special.swipe.getLocation( data );
- return {
- time: ( new Date() ).getTime(),
- coords: [ location.x, location.y ]
- };
- },
-
- handleSwipe: function( start, stop, thisObject, origTarget ) {
- if ( stop.time - start.time < $.event.special.swipe.durationThreshold &&
- Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.horizontalDistanceThreshold &&
- Math.abs( start.coords[ 1 ] - stop.coords[ 1 ] ) < $.event.special.swipe.verticalDistanceThreshold ) {
- var direction = start.coords[0] > stop.coords[ 0 ] ? "swipeleft" : "swiperight";
-
- triggerCustomEvent( thisObject, "swipe", $.Event( "swipe", { target: origTarget, swipestart: start, swipestop: stop }), true );
- triggerCustomEvent( thisObject, direction,$.Event( direction, { target: origTarget, swipestart: start, swipestop: stop } ), true );
- return true;
- }
- return false;
-
- },
-
- // This serves as a flag to ensure that at most one swipe event event is
- // in work at any given time
- eventInProgress: false,
-
- setup: function() {
- var events,
- thisObject = this,
- $this = $( thisObject ),
- context = {};
-
- // Retrieve the events data for this element and add the swipe context
- events = $.data( this, "mobile-events" );
- if ( !events ) {
- events = { length: 0 };
- $.data( this, "mobile-events", events );
- }
- events.length++;
- events.swipe = context;
-
- context.start = function( event ) {
-
- // Bail if we're already working on a swipe event
- if ( $.event.special.swipe.eventInProgress ) {
- return;
- }
- $.event.special.swipe.eventInProgress = true;
-
- var stop,
- start = $.event.special.swipe.start( event ),
- origTarget = event.target,
- emitted = false;
-
- context.move = function( event ) {
- if ( !start || event.isDefaultPrevented() ) {
- return;
- }
-
- stop = $.event.special.swipe.stop( event );
- if ( !emitted ) {
- emitted = $.event.special.swipe.handleSwipe( start, stop, thisObject, origTarget );
- if ( emitted ) {
-
- // Reset the context to make way for the next swipe event
- $.event.special.swipe.eventInProgress = false;
- }
- }
- // prevent scrolling
- if ( Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.scrollSupressionThreshold ) {
- event.preventDefault();
- }
- };
-
- context.stop = function() {
- emitted = true;
-
- // Reset the context to make way for the next swipe event
- $.event.special.swipe.eventInProgress = false;
- $document.off( touchMoveEvent, context.move );
- context.move = null;
- };
-
- $document.on( touchMoveEvent, context.move )
- .one( touchStopEvent, context.stop );
- };
- $this.on( touchStartEvent, context.start );
- },
-
- teardown: function() {
- var events, context;
-
- events = $.data( this, "mobile-events" );
- if ( events ) {
- context = events.swipe;
- delete events.swipe;
- events.length--;
- if ( events.length === 0 ) {
- $.removeData( this, "mobile-events" );
- }
- }
-
- if ( context ) {
- if ( context.start ) {
- $( this ).off( touchStartEvent, context.start );
- }
- if ( context.move ) {
- $document.off( touchMoveEvent, context.move );
- }
- if ( context.stop ) {
- $document.off( touchStopEvent, context.stop );
- }
- }
- }
- };
- $.each({
- swipeleft: "swipe.left",
- swiperight: "swipe.right"
- }, function( event, sourceEvent ) {
-
- $.event.special[ event ] = {
- setup: function() {
- $( this ).bind( sourceEvent, $.noop );
- },
- teardown: function() {
- $( this ).unbind( sourceEvent );
- }
- };
- });
-})( jQuery, this );
-*/
-'use strict';var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};!function($){var MutationObserver=function(){var prefixes=['WebKit','Moz','O','Ms',''];for(var i=0;i=l.a.spotSwipe.moveThreshold&&p<=l.a.spotSwipe.timeThreshold&&(t=o>0?"left":"right"),t&&(e.preventDefault(),i.call(this),l()(this).trigger("swipe",t).trigger("swipe"+t));}}function r(e){1==e.touches.length&&(s=e.touches[0].pageX,a=e.touches[0].pageY,w=!0,h=new Date().getTime(),this.addEventListener("touchmove",u,!1),this.addEventListener("touchend",i,!1));}function c(){this.addEventListener&&this.addEventListener("touchstart",r,!1);}n.d(t,"a",function(){return v;});var s,a,h,p,f=n(0),l=n.n(f),d=function(){function e(e,t){for(var n=0;n'+_this.options.submenuToggleText+'');}else{$elem.attr({'aria-controls':subId,'aria-expanded':isActive,'id':linkId});}$sub.attr({'aria-labelledby':linkId,'aria-hidden':!isActive,'role':'group','id':subId});});this.$element.find('li').attr({'role':'treeitem'});var initPanes=this.$element.find('.is-active');if(initPanes.length){var _this=this;initPanes.each(function(){_this.down(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this));});}this._events();}/**
+ * Adds event handlers for items within the menu.
+ * @private
+ */},{key:'_events',value:function _events(){var _this=this;this.$element.find('li').each(function(){var $submenu=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).children('[data-submenu]');if($submenu.length){if(_this.options.submenuToggle){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).children('.submenu-toggle').off('click.zf.accordionMenu').on('click.zf.accordionMenu',function(e){_this.toggle($submenu);});}else{__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).children('a').off('click.zf.accordionMenu').on('click.zf.accordionMenu',function(e){e.preventDefault();_this.toggle($submenu);});}}}).on('keydown.zf.accordionmenu',function(e){var $element=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),$elements=$element.parent('ul').children('li'),$prevElement,$nextElement,$target=$element.children('[data-submenu]');$elements.each(function(i){if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).is($element)){$prevElement=$elements.eq(Math.max(0,i-1)).find('a').first();$nextElement=$elements.eq(Math.min(i+1,$elements.length-1)).find('a').first();if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).children('[data-submenu]:visible').length){// has open sub menu
+$nextElement=$element.find('li:first-child').find('a').first();}if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).is(':first-child')){// is first element of sub menu
$prevElement=$element.parents('li').first().find('a').first();}else if($prevElement.parents('li').first().children('[data-submenu]:visible').length){// if previous element has open sub menu
-$prevElement=$prevElement.parents('li').find('li:last-child').find('a').first();}if($(this).is(':last-child')){// is last element of sub menu
-$nextElement=$element.parents('li').first().next('li').find('a').first();}return;}});Foundation.Keyboard.handleKey(e,'AccordionMenu',{open:function open(){if($target.is(':hidden')){_this.down($target);$target.find('li').first().find('a').first().focus();}},close:function close(){if($target.length&&!$target.is(':hidden')){// close active sub of this item
+$prevElement=$prevElement.parents('li').find('li:last-child').find('a').first();}if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).is(':last-child')){// is last element of sub menu
+$nextElement=$element.parents('li').first().next('li').find('a').first();}return;}});__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["Keyboard"].handleKey(e,'AccordionMenu',{open:function open(){if($target.is(':hidden')){_this.down($target);$target.find('li').first().find('a').first().focus();}},close:function close(){if($target.length&&!$target.is(':hidden')){// close active sub of this item
_this.up($target);}else if($element.parent('[data-submenu]').length){// close currently open sub
-_this.up($element.parent('[data-submenu]'));$element.parents('li').first().find('a').first().focus();}},up:function up(){$prevElement.focus();return true;},down:function down(){$nextElement.focus();return true;},toggle:function toggle(){if($element.children('[data-submenu]').length){_this.toggle($element.children('[data-submenu]'));}},closeAll:function closeAll(){_this.hideAll();},handled:function handled(preventDefault){if(preventDefault){e.preventDefault();}e.stopImmediatePropagation();}});});//.attr('tabindex', 0);
+_this.up($element.parent('[data-submenu]'));$element.parents('li').first().find('a').first().focus();}},up:function up(){$prevElement.focus();return true;},down:function down(){$nextElement.focus();return true;},toggle:function toggle(){if(_this.options.submenuToggle){return false;}if($element.children('[data-submenu]').length){_this.toggle($element.children('[data-submenu]'));return true;}},closeAll:function closeAll(){_this.hideAll();},handled:function handled(preventDefault){if(preventDefault){e.preventDefault();}e.stopImmediatePropagation();}});});//.attr('tabindex', 0);
}/**
- * Closes all panes of the menu.
- * @function
- */},{key:'hideAll',value:function hideAll(){this.up(this.$element.find('[data-submenu]'));}/**
- * Opens all panes of the menu.
- * @function
- */},{key:'showAll',value:function showAll(){this.down(this.$element.find('[data-submenu]'));}/**
- * Toggles the open/close state of a submenu.
- * @function
- * @param {jQuery} $target - the submenu to toggle
- */},{key:'toggle',value:function toggle($target){if(!$target.is(':animated')){if(!$target.is(':hidden')){this.up($target);}else{this.down($target);}}}/**
- * Opens the sub-menu defined by `$target`.
- * @param {jQuery} $target - Sub-menu to open.
- * @fires AccordionMenu#down
- */},{key:'down',value:function down($target){var _this=this;if(!this.options.multiOpen){this.up(this.$element.find('.is-active').not($target.parentsUntil(this.$element).add($target)));}$target.addClass('is-active').attr({'aria-hidden':false}).parent('.is-accordion-submenu-parent').attr({'aria-expanded':true});//Foundation.Move(this.options.slideSpeed, $target, function() {
-$target.slideDown(_this.options.slideSpeed,function(){/**
- * Fires when the menu is done opening.
- * @event AccordionMenu#down
- */_this.$element.trigger('down.zf.accordionMenu',[$target]);});//});
-}/**
- * Closes the sub-menu defined by `$target`. All sub-menus inside the target will be closed as well.
- * @param {jQuery} $target - Sub-menu to close.
- * @fires AccordionMenu#up
- */},{key:'up',value:function up($target){var _this=this;//Foundation.Move(this.options.slideSpeed, $target, function(){
-$target.slideUp(_this.options.slideSpeed,function(){/**
+ * Closes all panes of the menu.
+ * @function
+ */},{key:'hideAll',value:function hideAll(){this.up(this.$element.find('[data-submenu]'));}/**
+ * Opens all panes of the menu.
+ * @function
+ */},{key:'showAll',value:function showAll(){this.down(this.$element.find('[data-submenu]'));}/**
+ * Toggles the open/close state of a submenu.
+ * @function
+ * @param {jQuery} $target - the submenu to toggle
+ */},{key:'toggle',value:function toggle($target){if(!$target.is(':animated')){if(!$target.is(':hidden')){this.up($target);}else{this.down($target);}}}/**
+ * Opens the sub-menu defined by `$target`.
+ * @param {jQuery} $target - Sub-menu to open.
+ * @fires AccordionMenu#down
+ */},{key:'down',value:function down($target){var _this=this;if(!this.options.multiOpen){this.up(this.$element.find('.is-active').not($target.parentsUntil(this.$element).add($target)));}$target.addClass('is-active').attr({'aria-hidden':false});if(this.options.submenuToggle){$target.prev('.submenu-toggle').attr({'aria-expanded':true});}else{$target.parent('.is-accordion-submenu-parent').attr({'aria-expanded':true});}$target.slideDown(_this.options.slideSpeed,function(){/**
+ * Fires when the menu is done opening.
+ * @event AccordionMenu#down
+ */_this.$element.trigger('down.zf.accordionMenu',[$target]);});}/**
+ * Closes the sub-menu defined by `$target`. All sub-menus inside the target will be closed as well.
+ * @param {jQuery} $target - Sub-menu to close.
+ * @fires AccordionMenu#up
+ */},{key:'up',value:function up($target){var _this=this;$target.slideUp(_this.options.slideSpeed,function(){/**
* Fires when the menu is done collapsing up.
* @event AccordionMenu#up
- */_this.$element.trigger('up.zf.accordionMenu',[$target]);});//});
-var $menus=$target.find('[data-submenu]').slideUp(0).addBack().attr('aria-hidden',true);$menus.parent('.is-accordion-submenu-parent').attr('aria-expanded',false);}/**
- * Destroys an instance of accordion menu.
- * @fires AccordionMenu#destroyed
- */},{key:'destroy',value:function destroy(){this.$element.find('[data-submenu]').slideDown(0).css('display','');this.$element.find('a').off('click.zf.accordionMenu');Foundation.Nest.Burn(this.$element,'accordion');Foundation.unregisterPlugin(this);}}]);return AccordionMenu;}();AccordionMenu.defaults={/**
+ */_this.$element.trigger('up.zf.accordionMenu',[$target]);});var $menus=$target.find('[data-submenu]').slideUp(0).addBack().attr('aria-hidden',true);if(this.options.submenuToggle){$menus.prev('.submenu-toggle').attr('aria-expanded',false);}else{$menus.parent('.is-accordion-submenu-parent').attr('aria-expanded',false);}}/**
+ * Destroys an instance of accordion menu.
+ * @fires AccordionMenu#destroyed
+ */},{key:'_destroy',value:function _destroy(){this.$element.find('[data-submenu]').slideDown(0).css('display','');this.$element.find('a').off('click.zf.accordionMenu');if(this.options.submenuToggle){this.$element.find('.has-submenu-toggle').removeClass('has-submenu-toggle');this.$element.find('.submenu-toggle').remove();}__WEBPACK_IMPORTED_MODULE_2__foundation_util_nest__["Nest"].Burn(this.$element,'accordion');}}]);return AccordionMenu;}(__WEBPACK_IMPORTED_MODULE_4__foundation_plugin__["Plugin"]);AccordionMenu.defaults={/**
* Amount of time to animate the opening of a submenu in ms.
* @option
* @type {number}
* @default 250
*/slideSpeed:250,/**
+ * Adds a separate submenu toggle button. This allows the parent item to have a link.
+ * @option
+ * @example true
+ */submenuToggle:false,/**
+ * The text used for the submenu toggle if enabled. This is used for screen readers only.
+ * @option
+ * @example true
+ */submenuToggleText:'Toggle menu',/**
* Allow the menu to have multiple open panes.
* @option
* @type {boolean}
* @default true
- */multiOpen:true};// Window exports
-Foundation.plugin(AccordionMenu,'AccordionMenu');}(jQuery);
-'use strict';var _createClass=function(){function defineProperties(target,props){for(var i=0;i0;this.isNested=this.$element.parentsUntil(document.body,'[data-equalizer]').length>0;this.isOn=false;this._bindHandler={onResizeMeBound:this._onResizeMe.bind(this),onPostEqualizedBound:this._onPostEqualized.bind(this)};var imgs=this.$element.find('img');var tooSmall;if(this.options.equalizeOn){tooSmall=this._checkMQ();$(window).on('changed.zf.mediaquery',this._checkMQ.bind(this));}else{this._events();}if(tooSmall!==undefined&&tooSmall===false||tooSmall===undefined){if(imgs.length){Foundation.onImagesLoaded(imgs,this._reflow.bind(this));}else{this._reflow();}}}/**
- * Removes event listeners if the breakpoint is too small.
- * @private
- */},{key:'_pauseEvents',value:function _pauseEvents(){this.isOn=false;this.$element.off({'.zf.equalizer':this._bindHandler.onPostEqualizedBound,'resizeme.zf.trigger':this._bindHandler.onResizeMeBound,'mutateme.zf.trigger':this._bindHandler.onResizeMeBound});}/**
- * function to handle $elements resizeme.zf.trigger, with bound this on _bindHandler.onResizeMeBound
- * @private
- */},{key:'_onResizeMe',value:function _onResizeMe(e){this._reflow();}/**
- * function to handle $elements postequalized.zf.equalizer, with bound this on _bindHandler.onPostEqualizedBound
- * @private
- */},{key:'_onPostEqualized',value:function _onPostEqualized(e){if(e.target!==this.$element[0]){this._reflow();}}/**
- * Initializes events for Equalizer.
- * @private
- */},{key:'_events',value:function _events(){var _this=this;this._pauseEvents();if(this.hasNested){this.$element.on('postequalized.zf.equalizer',this._bindHandler.onPostEqualizedBound);}else{this.$element.on('resizeme.zf.trigger',this._bindHandler.onResizeMeBound);this.$element.on('mutateme.zf.trigger',this._bindHandler.onResizeMeBound);}this.isOn=true;}/**
- * Checks the current breakpoint to the minimum required size.
- * @private
- */},{key:'_checkMQ',value:function _checkMQ(){var tooSmall=!Foundation.MediaQuery.is(this.options.equalizeOn);if(tooSmall){if(this.isOn){this._pauseEvents();this.$watched.css('height','auto');}}else{if(!this.isOn){this._events();}}return tooSmall;}/**
- * A noop version for the plugin
- * @private
- */},{key:'_killswitch',value:function _killswitch(){return;}/**
- * Calls necessary functions to update Equalizer upon DOM change
- * @private
- */},{key:'_reflow',value:function _reflow(){if(!this.options.equalizeOnStack){if(this._isStacked()){this.$watched.css('height','auto');return false;}}if(this.options.equalizeByRow){this.getHeightsByRow(this.applyHeightByRow.bind(this));}else{this.getHeights(this.applyHeight.bind(this));}}/**
- * Manually determines if the first 2 elements are *NOT* stacked.
- * @private
- */},{key:'_isStacked',value:function _isStacked(){if(!this.$watched[0]||!this.$watched[1]){return true;}return this.$watched[0].getBoundingClientRect().top!==this.$watched[1].getBoundingClientRect().top;}/**
- * Finds the outer heights of children contained within an Equalizer parent and returns them in an array
- * @param {Function} cb - A non-optional callback to return the heights array to.
- * @returns {Array} heights - An array of heights of children within Equalizer container
- */},{key:'getHeights',value:function getHeights(cb){var heights=[];for(var i=0,len=this.$watched.length;i0;this.isNested=this.$element.parentsUntil(document.body,'[data-equalizer]').length>0;this.isOn=false;this._bindHandler={onResizeMeBound:this._onResizeMe.bind(this),onPostEqualizedBound:this._onPostEqualized.bind(this)};var imgs=this.$element.find('img');var tooSmall;if(this.options.equalizeOn){tooSmall=this._checkMQ();__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).on('changed.zf.mediaquery',this._checkMQ.bind(this));}else{this._events();}if(tooSmall!==undefined&&tooSmall===false||tooSmall===undefined){if(imgs.length){__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__foundation_util_imageLoader__["onImagesLoaded"])(imgs,this._reflow.bind(this));}else{this._reflow();}}}/**
+ * Removes event listeners if the breakpoint is too small.
+ * @private
+ */},{key:'_pauseEvents',value:function _pauseEvents(){this.isOn=false;this.$element.off({'.zf.equalizer':this._bindHandler.onPostEqualizedBound,'resizeme.zf.trigger':this._bindHandler.onResizeMeBound,'mutateme.zf.trigger':this._bindHandler.onResizeMeBound});}/**
+ * function to handle $elements resizeme.zf.trigger, with bound this on _bindHandler.onResizeMeBound
+ * @private
+ */},{key:'_onResizeMe',value:function _onResizeMe(e){this._reflow();}/**
+ * function to handle $elements postequalized.zf.equalizer, with bound this on _bindHandler.onPostEqualizedBound
+ * @private
+ */},{key:'_onPostEqualized',value:function _onPostEqualized(e){if(e.target!==this.$element[0]){this._reflow();}}/**
+ * Initializes events for Equalizer.
+ * @private
+ */},{key:'_events',value:function _events(){var _this=this;this._pauseEvents();if(this.hasNested){this.$element.on('postequalized.zf.equalizer',this._bindHandler.onPostEqualizedBound);}else{this.$element.on('resizeme.zf.trigger',this._bindHandler.onResizeMeBound);this.$element.on('mutateme.zf.trigger',this._bindHandler.onResizeMeBound);}this.isOn=true;}/**
+ * Checks the current breakpoint to the minimum required size.
+ * @private
+ */},{key:'_checkMQ',value:function _checkMQ(){var tooSmall=!__WEBPACK_IMPORTED_MODULE_1__foundation_util_mediaQuery__["MediaQuery"].is(this.options.equalizeOn);if(tooSmall){if(this.isOn){this._pauseEvents();this.$watched.css('height','auto');}}else{if(!this.isOn){this._events();}}return tooSmall;}/**
+ * A noop version for the plugin
+ * @private
+ */},{key:'_killswitch',value:function _killswitch(){return;}/**
+ * Calls necessary functions to update Equalizer upon DOM change
+ * @private
+ */},{key:'_reflow',value:function _reflow(){if(!this.options.equalizeOnStack){if(this._isStacked()){this.$watched.css('height','auto');return false;}}if(this.options.equalizeByRow){this.getHeightsByRow(this.applyHeightByRow.bind(this));}else{this.getHeights(this.applyHeight.bind(this));}}/**
+ * Manually determines if the first 2 elements are *NOT* stacked.
+ * @private
+ */},{key:'_isStacked',value:function _isStacked(){if(!this.$watched[0]||!this.$watched[1]){return true;}return this.$watched[0].getBoundingClientRect().top!==this.$watched[1].getBoundingClientRect().top;}/**
+ * Finds the outer heights of children contained within an Equalizer parent and returns them in an array
+ * @param {Function} cb - A non-optional callback to return the heights array to.
+ * @returns {Array} heights - An array of heights of children within Equalizer container
+ */},{key:'getHeights',value:function getHeights(cb){var heights=[];for(var i=0,len=this.$watched.length;i1){this.geoSync();}if(this.options.accessible){// allow wrapper to be focusable to enable arrow navigation
this.$wrapper.attr('tabindex',0);}}/**
- * Creates a jQuery collection of bullets, if they are being used.
- * @function
- * @private
- */},{key:'_loadBullets',value:function _loadBullets(){this.$bullets=this.$element.find('.'+this.options.boxOfBullets).find('button');}/**
- * Sets a `timer` object on the orbit, and starts the counter for the next slide.
- * @function
- */},{key:'geoSync',value:function geoSync(){var _this=this;this.timer=new Foundation.Timer(this.$element,{duration:this.options.timerDelay,infinite:false},function(){_this.changeSlide(true);});this.timer.start();}/**
- * Sets wrapper and slide heights for the orbit.
- * @function
- * @private
- */},{key:'_prepareForOrbit',value:function _prepareForOrbit(){var _this=this;this._setWrapperHeight();}/**
- * Calulates the height of each slide in the collection, and uses the tallest one for the wrapper height.
- * @function
- * @private
- * @param {Function} cb - a callback function to fire when complete.
- */},{key:'_setWrapperHeight',value:function _setWrapperHeight(cb){//rewrite this to `for` loop
-var max=0,temp,counter=0,_this=this;this.$slides.each(function(){temp=this.getBoundingClientRect().height;$(this).attr('data-slide',counter);if(_this.$slides.filter('.is-active')[0]!==_this.$slides.eq(counter)[0]){//if not the active slide, set css position and display property
-$(this).css({'position':'relative','display':'none'});}max=temp>max?temp:max;counter++;});if(counter===this.$slides.length){this.$wrapper.css({'height':max});//only change the wrapper height property once.
+ * Creates a jQuery collection of bullets, if they are being used.
+ * @function
+ * @private
+ */},{key:'_loadBullets',value:function _loadBullets(){this.$bullets=this.$element.find('.'+this.options.boxOfBullets).find('button');}/**
+ * Sets a `timer` object on the orbit, and starts the counter for the next slide.
+ * @function
+ */},{key:'geoSync',value:function geoSync(){var _this=this;this.timer=new __WEBPACK_IMPORTED_MODULE_3__foundation_util_timer__["Timer"](this.$element,{duration:this.options.timerDelay,infinite:false},function(){_this.changeSlide(true);});this.timer.start();}/**
+ * Sets wrapper and slide heights for the orbit.
+ * @function
+ * @private
+ */},{key:'_prepareForOrbit',value:function _prepareForOrbit(){var _this=this;this._setWrapperHeight();}/**
+ * Calulates the height of each slide in the collection, and uses the tallest one for the wrapper height.
+ * @function
+ * @private
+ * @param {Function} cb - a callback function to fire when complete.
+ */},{key:'_setWrapperHeight',value:function _setWrapperHeight(cb){//rewrite this to `for` loop
+var max=0,temp,counter=0,_this=this;this.$slides.each(function(){temp=this.getBoundingClientRect().height;__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).attr('data-slide',counter);if(!/mui/g.test(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this)[0].className)&&_this.$slides.filter('.is-active')[0]!==_this.$slides.eq(counter)[0]){//if not the active slide, set css position and display property
+__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).css({'position':'relative','display':'none'});}max=temp>max?temp:max;counter++;});if(counter===this.$slides.length){this.$wrapper.css({'height':max});//only change the wrapper height property once.
if(cb){cb(max);}//fire callback with max height dimension.
}}/**
- * Sets the max-height of each slide.
- * @function
- * @private
- */},{key:'_setSlideHeight',value:function _setSlideHeight(height){this.$slides.each(function(){$(this).css('max-height',height);});}/**
- * Adds event listeners to basically everything within the element.
- * @function
- * @private
- */},{key:'_events',value:function _events(){var _this=this;//***************************************
+ * Sets the max-height of each slide.
+ * @function
+ * @private
+ */},{key:'_setSlideHeight',value:function _setSlideHeight(height){this.$slides.each(function(){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).css('max-height',height);});}/**
+ * Adds event listeners to basically everything within the element.
+ * @function
+ * @private
+ */},{key:'_events',value:function _events(){var _this=this;//***************************************
//**Now using custom event - thanks to:**
//** Yohai Ararat of Toronto **
//***************************************
//
this.$element.off('.resizeme.zf.trigger').on({'resizeme.zf.trigger':this._prepareForOrbit.bind(this)});if(this.$slides.length>1){if(this.options.swipe){this.$slides.off('swipeleft.zf.orbit swiperight.zf.orbit').on('swipeleft.zf.orbit',function(e){e.preventDefault();_this.changeSlide(true);}).on('swiperight.zf.orbit',function(e){e.preventDefault();_this.changeSlide(false);});}//***************************************
if(this.options.autoPlay){this.$slides.on('click.zf.orbit',function(){_this.$element.data('clickedOn',_this.$element.data('clickedOn')?false:true);_this.timer[_this.$element.data('clickedOn')?'pause':'start']();});if(this.options.pauseOnHover){this.$element.on('mouseenter.zf.orbit',function(){_this.timer.pause();}).on('mouseleave.zf.orbit',function(){if(!_this.$element.data('clickedOn')){_this.timer.start();}});}}if(this.options.navButtons){var $controls=this.$element.find('.'+this.options.nextClass+', .'+this.options.prevClass);$controls.attr('tabindex',0)//also need to handle enter/return and spacebar key presses
-.on('click.zf.orbit touchend.zf.orbit',function(e){e.preventDefault();_this.changeSlide($(this).hasClass(_this.options.nextClass));});}if(this.options.bullets){this.$bullets.on('click.zf.orbit touchend.zf.orbit',function(){if(/is-active/g.test(this.className)){return false;}//if this is active, kick out of function.
-var idx=$(this).data('slide'),ltr=idx>_this.$slides.filter('.is-active').data('slide'),$slide=_this.$slides.eq(idx);_this.changeSlide(ltr,$slide,idx);});}if(this.options.accessible){this.$wrapper.add(this.$bullets).on('keydown.zf.orbit',function(e){// handle keyboard event with keyboard util
-Foundation.Keyboard.handleKey(e,'Orbit',{next:function next(){_this.changeSlide(true);},previous:function previous(){_this.changeSlide(false);},handled:function handled(){// if bullet is focused, make sure focus moves
-if($(e.target).is(_this.$bullets)){_this.$bullets.filter('.is-active').focus();}}});});}}}/**
- * Resets Orbit so it can be reinitialized
- */},{key:'_reset',value:function _reset(){// Don't do anything if there are no slides (first run)
+.on('click.zf.orbit touchend.zf.orbit',function(e){e.preventDefault();_this.changeSlide(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).hasClass(_this.options.nextClass));});}if(this.options.bullets){this.$bullets.on('click.zf.orbit touchend.zf.orbit',function(){if(/is-active/g.test(this.className)){return false;}//if this is active, kick out of function.
+var idx=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('slide'),ltr=idx>_this.$slides.filter('.is-active').data('slide'),$slide=_this.$slides.eq(idx);_this.changeSlide(ltr,$slide,idx);});}if(this.options.accessible){this.$wrapper.add(this.$bullets).on('keydown.zf.orbit',function(e){// handle keyboard event with keyboard util
+__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["Keyboard"].handleKey(e,'Orbit',{next:function next(){_this.changeSlide(true);},previous:function previous(){_this.changeSlide(false);},handled:function handled(){// if bullet is focused, make sure focus moves
+if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(e.target).is(_this.$bullets)){_this.$bullets.filter('.is-active').focus();}}});});}}}/**
+ * Resets Orbit so it can be reinitialized
+ */},{key:'_reset',value:function _reset(){// Don't do anything if there are no slides (first run)
if(typeof this.$slides=='undefined'){return;}if(this.$slides.length>1){// Remove old events
this.$element.off('.zf.orbit').find('*').off('.zf.orbit');// Restart timer if autoPlay is enabled
if(this.options.autoPlay){this.timer.restart();}// Reset all sliddes
-this.$slides.each(function(el){$(el).removeClass('is-active is-active is-in').removeAttr('aria-live').hide();});// Show the first slide
+this.$slides.each(function(el){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(el).removeClass('is-active is-active is-in').removeAttr('aria-live').hide();});// Show the first slide
this.$slides.first().addClass('is-active').show();// Triggers when the slide has finished animating
this.$element.trigger('slidechange.zf.orbit',[this.$slides.first()]);// Select first bullet if bullets are present
if(this.options.bullets){this._updateBullets(0);}}}/**
- * Changes the current slide to a new one.
- * @function
- * @param {Boolean} isLTR - flag if the slide should move left to right.
- * @param {jQuery} chosenSlide - the jQuery element of the slide to show next, if one is selected.
- * @param {Number} idx - the index of the new slide in its collection, if one chosen.
- * @fires Orbit#slidechange
- */},{key:'changeSlide',value:function changeSlide(isLTR,chosenSlide,idx){if(!this.$slides){return;}// Don't freak out if we're in the middle of cleanup
+ * Changes the current slide to a new one.
+ * @function
+ * @param {Boolean} isLTR - flag if the slide should move left to right.
+ * @param {jQuery} chosenSlide - the jQuery element of the slide to show next, if one is selected.
+ * @param {Number} idx - the index of the new slide in its collection, if one chosen.
+ * @fires Orbit#slidechange
+ */},{key:'changeSlide',value:function changeSlide(isLTR,chosenSlide,idx){if(!this.$slides){return;}// Don't freak out if we're in the middle of cleanup
var $curSlide=this.$slides.filter('.is-active').eq(0);if(/mui/g.test($curSlide[0].className)){return false;}//if the slide is currently animating, kick out of the function
var $firstSlide=this.$slides.first(),$lastSlide=this.$slides.last(),dirIn=isLTR?'Right':'Left',dirOut=isLTR?'Left':'Right',_this=this,$newSlide;if(!chosenSlide){//most of the time, this will be auto played or clicked from the navButtons.
$newSlide=isLTR?//if wrapping enabled, check to see if there is a `next` or `prev` sibling, if not, select the first or last slide to fill in. if wrapping not enabled, attempt to select `next` or `prev`, if there's nothing there, the function will kick out on next step. CRAZY NESTED TERNARIES!!!!!
this.options.infiniteWrap?$curSlide.next('.'+this.options.slideClass).length?$curSlide.next('.'+this.options.slideClass):$firstSlide:$curSlide.next('.'+this.options.slideClass)://pick next slide if moving left to right
this.options.infiniteWrap?$curSlide.prev('.'+this.options.slideClass).length?$curSlide.prev('.'+this.options.slideClass):$lastSlide:$curSlide.prev('.'+this.options.slideClass);//pick prev slide if moving right to left
}else{$newSlide=chosenSlide;}if($newSlide.length){/**
- * Triggers before the next slide starts animating in and only if a next slide has been found.
- * @event Orbit#beforeslidechange
- */this.$element.trigger('beforeslidechange.zf.orbit',[$curSlide,$newSlide]);if(this.options.bullets){idx=idx||this.$slides.index($newSlide);//grab index to update bullets
-this._updateBullets(idx);}if(this.options.useMUI&&!this.$element.is(':hidden')){Foundation.Motion.animateIn($newSlide.addClass('is-active').css({'position':'absolute','top':0}),this.options['animInFrom'+dirIn],function(){$newSlide.css({'position':'relative','display':'block'}).attr('aria-live','polite');});Foundation.Motion.animateOut($curSlide.removeClass('is-active'),this.options['animOutTo'+dirOut],function(){$curSlide.removeAttr('aria-live');if(_this.options.autoPlay&&!_this.timer.isPaused){_this.timer.restart();}//do stuff?
+ * Triggers before the next slide starts animating in and only if a next slide has been found.
+ * @event Orbit#beforeslidechange
+ */this.$element.trigger('beforeslidechange.zf.orbit',[$curSlide,$newSlide]);if(this.options.bullets){idx=idx||this.$slides.index($newSlide);//grab index to update bullets
+this._updateBullets(idx);}if(this.options.useMUI&&!this.$element.is(':hidden')){__WEBPACK_IMPORTED_MODULE_2__foundation_util_motion__["Motion"].animateIn($newSlide.addClass('is-active').css({'position':'absolute','top':0}),this.options['animInFrom'+dirIn],function(){$newSlide.css({'position':'relative','display':'block'}).attr('aria-live','polite');});__WEBPACK_IMPORTED_MODULE_2__foundation_util_motion__["Motion"].animateOut($curSlide.removeClass('is-active'),this.options['animOutTo'+dirOut],function(){$curSlide.removeAttr('aria-live');if(_this.options.autoPlay&&!_this.timer.isPaused){_this.timer.restart();}//do stuff?
});}else{$curSlide.removeClass('is-active is-in').removeAttr('aria-live').hide();$newSlide.addClass('is-active is-in').attr('aria-live','polite').show();if(this.options.autoPlay&&!this.timer.isPaused){this.timer.restart();}}/**
- * Triggers when the slide has finished animating in.
- * @event Orbit#slidechange
- */this.$element.trigger('slidechange.zf.orbit',[$newSlide]);}}/**
- * Updates the active state of the bullets, if displayed.
- * @function
- * @private
- * @param {Number} idx - the index of the current slide.
- */},{key:'_updateBullets',value:function _updateBullets(idx){var $oldBullet=this.$element.find('.'+this.options.boxOfBullets).find('.is-active').removeClass('is-active').blur(),span=$oldBullet.find('span:last').detach(),$newBullet=this.$bullets.eq(idx).addClass('is-active').append(span);}/**
- * Destroys the carousel and hides the element.
- * @function
- */},{key:'destroy',value:function destroy(){this.$element.off('.zf.orbit').find('*').off('.zf.orbit').end().hide();Foundation.unregisterPlugin(this);}}]);return Orbit;}();Orbit.defaults={/**
+ * Triggers when the slide has finished animating in.
+ * @event Orbit#slidechange
+ */this.$element.trigger('slidechange.zf.orbit',[$newSlide]);}}/**
+ * Updates the active state of the bullets, if displayed.
+ * @function
+ * @private
+ * @param {Number} idx - the index of the current slide.
+ */},{key:'_updateBullets',value:function _updateBullets(idx){var $oldBullet=this.$element.find('.'+this.options.boxOfBullets).find('.is-active').removeClass('is-active').blur(),span=$oldBullet.find('span:last').detach(),$newBullet=this.$bullets.eq(idx).addClass('is-active').append(span);}/**
+ * Destroys the carousel and hides the element.
+ * @function
+ */},{key:'_destroy',value:function _destroy(){this.$element.off('.zf.orbit').find('*').off('.zf.orbit').end().hide();}}]);return Orbit;}(__WEBPACK_IMPORTED_MODULE_6__foundation_plugin__["Plugin"]);Orbit.defaults={/**
* Tells the JS to look for and loadBullets.
* @option
* @type {boolean}
@@ -961,41 +1045,59 @@ this._updateBullets(idx);}if(this.options.useMUI&&!this.$element.is(':hidden')){
* @option
* @type {boolean}
* @default true
- */useMUI:true};// Window exports
-Foundation.plugin(Orbit,'Orbit');}(jQuery);
-'use strict';var _createClass=function(){function defineProperties(target,props){for(var i=0;i').addClass('reveal-overlay').appendTo(this.options.appendTo);}/**
- * Updates position of modal
- * TODO: Figure out if we actually need to cache these values or if it doesn't matter
- * @private
- */},{key:'_updatePosition',value:function _updatePosition(){var width=this.$element.outerWidth();var outerWidth=$(window).width();var height=this.$element.outerHeight();var outerHeight=$(window).height();var left,top;if(this.options.hOffset==='auto'){left=parseInt((outerWidth-width)/2,10);}else{left=parseInt(this.options.hOffset,10);}if(this.options.vOffset==='auto'){if(height>outerHeight){top=parseInt(Math.min(100,outerHeight/10),10);}else{top=parseInt((outerHeight-height)/4,10);}}else{top=parseInt(this.options.vOffset,10);}this.$element.css({top:top+'px'});// only worry about left if we don't have an overlay or we havea horizontal offset,
+ */var Reveal=function(_Plugin){_inherits(Reveal,_Plugin);function Reveal(){_classCallCheck(this,Reveal);return _possibleConstructorReturn(this,(Reveal.__proto__||Object.getPrototypeOf(Reveal)).apply(this,arguments));}_createClass(Reveal,[{key:'_setup',/**
+ * Creates a new instance of Reveal.
+ * @class
+ * @name Reveal
+ * @param {jQuery} element - jQuery object to use for the modal.
+ * @param {Object} options - optional parameters.
+ */value:function _setup(element,options){this.$element=element;this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},Reveal.defaults,this.$element.data(),options);this.className='Reveal';// ie9 back compat
+this._init();// Triggers init is idempotent, just need to make sure it is initialized
+__WEBPACK_IMPORTED_MODULE_5__foundation_util_triggers__["a"/* Triggers */].init(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["Keyboard"].register('Reveal',{'ESCAPE':'close'});}/**
+ * Initializes the modal by adding the overlay and close buttons, (if selected).
+ * @private
+ */},{key:'_init',value:function _init(){__WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__["MediaQuery"]._init();this.id=this.$element.attr('id');this.isActive=false;this.cached={mq:__WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__["MediaQuery"].current};this.isMobile=mobileSniff();this.$anchor=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-open="'+this.id+'"]').length?__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-open="'+this.id+'"]'):__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-toggle="'+this.id+'"]');this.$anchor.attr({'aria-controls':this.id,'aria-haspopup':true,'tabindex':0});if(this.options.fullScreen||this.$element.hasClass('full')){this.options.fullScreen=true;this.options.overlay=false;}if(this.options.overlay&&!this.$overlay){this.$overlay=this._makeOverlay(this.id);}this.$element.attr({'role':'dialog','aria-hidden':true,'data-yeti-box':this.id,'data-resize':this.id});if(this.$overlay){this.$element.detach().appendTo(this.$overlay);}else{this.$element.detach().appendTo(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.options.appendTo));this.$element.addClass('without-overlay');}this._events();if(this.options.deepLink&&window.location.hash==='#'+this.id){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).one('load.zf.reveal',this.open.bind(this));}}/**
+ * Creates an overlay div to display behind the modal.
+ * @private
+ */},{key:'_makeOverlay',value:function _makeOverlay(){var additionalOverlayClasses='';if(this.options.additionalOverlayClasses){additionalOverlayClasses=' '+this.options.additionalOverlayClasses;}return __WEBPACK_IMPORTED_MODULE_0_jquery___default()('').addClass('reveal-overlay'+additionalOverlayClasses).appendTo(this.options.appendTo);}/**
+ * Updates position of modal
+ * TODO: Figure out if we actually need to cache these values or if it doesn't matter
+ * @private
+ */},{key:'_updatePosition',value:function _updatePosition(){var width=this.$element.outerWidth();var outerWidth=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).width();var height=this.$element.outerHeight();var outerHeight=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).height();var left,top;if(this.options.hOffset==='auto'){left=parseInt((outerWidth-width)/2,10);}else{left=parseInt(this.options.hOffset,10);}if(this.options.vOffset==='auto'){if(height>outerHeight){top=parseInt(Math.min(100,outerHeight/10),10);}else{top=parseInt((outerHeight-height)/4,10);}}else{top=parseInt(this.options.vOffset,10);}this.$element.css({top:top+'px'});// only worry about left if we don't have an overlay or we havea horizontal offset,
// otherwise we're perfectly in the middle
if(!this.$overlay||this.options.hOffset!=='auto'){this.$element.css({left:left+'px'});this.$element.css({margin:'0px'});}}/**
- * Adds event handlers for the modal.
- * @private
- */},{key:'_events',value:function _events(){var _this2=this;var _this=this;this.$element.on({'open.zf.trigger':this.open.bind(this),'close.zf.trigger':function closeZfTrigger(event,$element){if(event.target===_this.$element[0]||$(event.target).parents('[data-closable]')[0]===$element){// only close reveal when it's explicitly called
-return _this2.close.apply(_this2);}},'toggle.zf.trigger':this.toggle.bind(this),'resizeme.zf.trigger':function resizemeZfTrigger(){_this._updatePosition();}});if(this.$anchor.length){this.$anchor.on('keydown.zf.reveal',function(e){if(e.which===13||e.which===32){e.stopPropagation();e.preventDefault();_this.open();}});}if(this.options.closeOnClick&&this.options.overlay){this.$overlay.off('.zf.reveal').on('click.zf.reveal',function(e){if(e.target===_this.$element[0]||$.contains(_this.$element[0],e.target)||!$.contains(document,e.target)){return;}_this.close();});}if(this.options.deepLink){$(window).on('popstate.zf.reveal:'+this.id,this._handleState.bind(this));}}/**
- * Handles modal methods on back/forward button clicks or any other event that triggers popstate.
- * @private
- */},{key:'_handleState',value:function _handleState(e){if(window.location.hash==='#'+this.id&&!this.isActive){this.open();}else{this.close();}}/**
- * Opens the modal controlled by `this.$anchor`, and closes all others by default.
- * @function
- * @fires Reveal#closeme
- * @fires Reveal#open
- */},{key:'open',value:function open(){var _this3=this;if(this.options.deepLink){var hash='#'+this.id;if(window.history.pushState){window.history.pushState(null,null,hash);}else{window.location.hash=hash;}}this.isActive=true;// Make elements invisible, but remove display: none so we can get size and positioning
+ * Adds event handlers for the modal.
+ * @private
+ */},{key:'_events',value:function _events(){var _this3=this;var _this=this;this.$element.on({'open.zf.trigger':this.open.bind(this),'close.zf.trigger':function closeZfTrigger(event,$element){if(event.target===_this.$element[0]||__WEBPACK_IMPORTED_MODULE_0_jquery___default()(event.target).parents('[data-closable]')[0]===$element){// only close reveal when it's explicitly called
+return _this3.close.apply(_this3);}},'toggle.zf.trigger':this.toggle.bind(this),'resizeme.zf.trigger':function resizemeZfTrigger(){_this._updatePosition();}});if(this.options.closeOnClick&&this.options.overlay){this.$overlay.off('.zf.reveal').on('click.zf.reveal',function(e){if(e.target===_this.$element[0]||__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.contains(_this.$element[0],e.target)||!__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.contains(document,e.target)){return;}_this.close();});}if(this.options.deepLink){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).on('popstate.zf.reveal:'+this.id,this._handleState.bind(this));}}/**
+ * Handles modal methods on back/forward button clicks or any other event that triggers popstate.
+ * @private
+ */},{key:'_handleState',value:function _handleState(e){if(window.location.hash==='#'+this.id&&!this.isActive){this.open();}else{this.close();}}/**
+ * Opens the modal controlled by `this.$anchor`, and closes all others by default.
+ * @function
+ * @fires Reveal#closeme
+ * @fires Reveal#open
+ */},{key:'open',value:function open(){var _this4=this;// either update or replace browser history
+if(this.options.deepLink){var hash='#'+this.id;if(window.history.pushState){if(this.options.updateHistory){window.history.pushState({},'',hash);}else{window.history.replaceState({},'',hash);}}else{window.location.hash=hash;}}this.isActive=true;// Make elements invisible, but remove display: none so we can get size and positioning
this.$element.css({'visibility':'hidden'}).show().scrollTop(0);if(this.options.overlay){this.$overlay.css({'visibility':'hidden'}).show();}this._updatePosition();this.$element.hide().css({'visibility':''});if(this.$overlay){this.$overlay.css({'visibility':''}).hide();if(this.$element.hasClass('fast')){this.$overlay.addClass('fast');}else if(this.$element.hasClass('slow')){this.$overlay.addClass('slow');}}if(!this.options.multipleOpened){/**
- * Fires immediately before the modal opens.
- * Closes any other modals that are currently open
- * @event Reveal#closeme
- */this.$element.trigger('closeme.zf.reveal',this.id);}var _this=this;function addRevealOpenClasses(){if(_this.isMobile){if(!_this.originalScrollPos){_this.originalScrollPos=window.pageYOffset;}$('html, body').addClass('is-reveal-open');}else{$('body').addClass('is-reveal-open');}}// Motion UI method of reveal
-if(this.options.animationIn){var afterAnimation=function afterAnimation(){_this.$element.attr({'aria-hidden':false,'tabindex':-1}).focus();addRevealOpenClasses();Foundation.Keyboard.trapFocus(_this.$element);};if(this.options.overlay){Foundation.Motion.animateIn(this.$overlay,'fade-in');}Foundation.Motion.animateIn(this.$element,this.options.animationIn,function(){if(_this3.$element){// protect against object having been removed
-_this3.focusableElements=Foundation.Keyboard.findFocusable(_this3.$element);afterAnimation();}});}// jQuery method of reveal
+ * Fires immediately before the modal opens.
+ * Closes any other modals that are currently open
+ * @event Reveal#closeme
+ */this.$element.trigger('closeme.zf.reveal',this.id);}var _this=this;function addRevealOpenClasses(){if(_this.isMobile){if(!_this.originalScrollPos){_this.originalScrollPos=window.pageYOffset;}__WEBPACK_IMPORTED_MODULE_0_jquery___default()('html, body').addClass('is-reveal-open');}else{__WEBPACK_IMPORTED_MODULE_0_jquery___default()('body').addClass('is-reveal-open');}}// Motion UI method of reveal
+if(this.options.animationIn){var afterAnimation=function afterAnimation(){_this.$element.attr({'aria-hidden':false,'tabindex':-1}).focus();addRevealOpenClasses();__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["Keyboard"].trapFocus(_this.$element);};if(this.options.overlay){__WEBPACK_IMPORTED_MODULE_3__foundation_util_motion__["Motion"].animateIn(this.$overlay,'fade-in');}__WEBPACK_IMPORTED_MODULE_3__foundation_util_motion__["Motion"].animateIn(this.$element,this.options.animationIn,function(){if(_this4.$element){// protect against object having been removed
+_this4.focusableElements=__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["Keyboard"].findFocusable(_this4.$element);afterAnimation();}});}// jQuery method of reveal
else{if(this.options.overlay){this.$overlay.show(0);}this.$element.show(this.options.showDelay);}// handle accessibility
-this.$element.attr({'aria-hidden':false,'tabindex':-1}).focus();Foundation.Keyboard.trapFocus(this.$element);/**
- * Fires when the modal has successfully opened.
- * @event Reveal#open
- */this.$element.trigger('open.zf.reveal');addRevealOpenClasses();setTimeout(function(){_this3._extraHandlers();},0);}/**
- * Adds extra event handlers for the body and window if necessary.
- * @private
- */},{key:'_extraHandlers',value:function _extraHandlers(){var _this=this;if(!this.$element){return;}// If we're in the middle of cleanup, don't freak out
-this.focusableElements=Foundation.Keyboard.findFocusable(this.$element);if(!this.options.overlay&&this.options.closeOnClick&&!this.options.fullScreen){$('body').on('click.zf.reveal',function(e){if(e.target===_this.$element[0]||$.contains(_this.$element[0],e.target)||!$.contains(document,e.target)){return;}_this.close();});}if(this.options.closeOnEsc){$(window).on('keydown.zf.reveal',function(e){Foundation.Keyboard.handleKey(e,'Reveal',{close:function close(){if(_this.options.closeOnEsc){_this.close();_this.$anchor.focus();}}});});}// lock focus within modal while tabbing
-this.$element.on('keydown.zf.reveal',function(e){var $target=$(this);// handle keyboard event with keyboard util
-Foundation.Keyboard.handleKey(e,'Reveal',{open:function open(){if(_this.$element.find(':focus').is(_this.$element.find('[data-close]'))){setTimeout(function(){// set focus back to anchor if close button has been activated
-_this.$anchor.focus();},1);}else if($target.is(_this.focusableElements)){// dont't trigger if acual element has focus (i.e. inputs, links, ...)
-_this.open();}},close:function close(){if(_this.options.closeOnEsc){_this.close();_this.$anchor.focus();}},handled:function handled(preventDefault){if(preventDefault){e.preventDefault();}}});});}/**
- * Closes the modal.
- * @function
- * @fires Reveal#closed
- */},{key:'close',value:function close(){if(!this.isActive||!this.$element.is(':visible')){return false;}var _this=this;// Motion UI method of hiding
-if(this.options.animationOut){if(this.options.overlay){Foundation.Motion.animateOut(this.$overlay,'fade-out',finishUp);}else{finishUp();}Foundation.Motion.animateOut(this.$element,this.options.animationOut);}// jQuery method of hiding
+this.$element.attr({'aria-hidden':false,'tabindex':-1}).focus();__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["Keyboard"].trapFocus(this.$element);addRevealOpenClasses();this._extraHandlers();/**
+ * Fires when the modal has successfully opened.
+ * @event Reveal#open
+ */this.$element.trigger('open.zf.reveal');}/**
+ * Adds extra event handlers for the body and window if necessary.
+ * @private
+ */},{key:'_extraHandlers',value:function _extraHandlers(){var _this=this;if(!this.$element){return;}// If we're in the middle of cleanup, don't freak out
+this.focusableElements=__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["Keyboard"].findFocusable(this.$element);if(!this.options.overlay&&this.options.closeOnClick&&!this.options.fullScreen){__WEBPACK_IMPORTED_MODULE_0_jquery___default()('body').on('click.zf.reveal',function(e){if(e.target===_this.$element[0]||__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.contains(_this.$element[0],e.target)||!__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.contains(document,e.target)){return;}_this.close();});}if(this.options.closeOnEsc){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).on('keydown.zf.reveal',function(e){__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["Keyboard"].handleKey(e,'Reveal',{close:function close(){if(_this.options.closeOnEsc){_this.close();}}});});}}/**
+ * Closes the modal.
+ * @function
+ * @fires Reveal#closed
+ */},{key:'close',value:function close(){if(!this.isActive||!this.$element.is(':visible')){return false;}var _this=this;// Motion UI method of hiding
+if(this.options.animationOut){if(this.options.overlay){__WEBPACK_IMPORTED_MODULE_3__foundation_util_motion__["Motion"].animateOut(this.$overlay,'fade-out');}__WEBPACK_IMPORTED_MODULE_3__foundation_util_motion__["Motion"].animateOut(this.$element,this.options.animationOut,finishUp);}// jQuery method of hiding
else{this.$element.hide(this.options.hideDelay);if(this.options.overlay){this.$overlay.hide(0,finishUp);}else{finishUp();}}// Conditionals to remove extra event listeners added on open
-if(this.options.closeOnEsc){$(window).off('keydown.zf.reveal');}if(!this.options.overlay&&this.options.closeOnClick){$('body').off('click.zf.reveal');}this.$element.off('keydown.zf.reveal');function finishUp(){if(_this.isMobile){if($('.reveal:visible').length===0){$('html, body').removeClass('is-reveal-open');}if(_this.originalScrollPos){$('body').scrollTop(_this.originalScrollPos);_this.originalScrollPos=null;}}else{if($('.reveal:visible').length===0){$('body').removeClass('is-reveal-open');}}Foundation.Keyboard.releaseFocus(_this.$element);_this.$element.attr('aria-hidden',true);/**
- * Fires when the modal is done closing.
- * @event Reveal#closed
- */_this.$element.trigger('closed.zf.reveal');}/**
- * Resets the modal content
- * This prevents a running video to keep going in the background
- */if(this.options.resetOnClose){this.$element.html(this.$element.html());}this.isActive=false;if(_this.options.deepLink){if(window.history.replaceState){window.history.replaceState('',document.title,window.location.href.replace('#'+this.id,''));}else{window.location.hash='';}}}/**
- * Toggles the open/closed state of a modal.
- * @function
- */},{key:'toggle',value:function toggle(){if(this.isActive){this.close();}else{this.open();}}},{key:'destroy',/**
- * Destroys an instance of a modal.
- * @function
- */value:function destroy(){if(this.options.overlay){this.$element.appendTo($(this.options.appendTo));// move $element outside of $overlay to prevent error unregisterPlugin()
-this.$overlay.hide().off().remove();}this.$element.hide().off();this.$anchor.off('.zf');$(window).off('.zf.reveal:'+this.id);Foundation.unregisterPlugin(this);}}]);return Reveal;}();Reveal.defaults={/**
+if(this.options.closeOnEsc){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off('keydown.zf.reveal');}if(!this.options.overlay&&this.options.closeOnClick){__WEBPACK_IMPORTED_MODULE_0_jquery___default()('body').off('click.zf.reveal');}this.$element.off('keydown.zf.reveal');function finishUp(){if(_this.isMobile){if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()('.reveal:visible').length===0){__WEBPACK_IMPORTED_MODULE_0_jquery___default()('html, body').removeClass('is-reveal-open');}if(_this.originalScrollPos){__WEBPACK_IMPORTED_MODULE_0_jquery___default()('body').scrollTop(_this.originalScrollPos);_this.originalScrollPos=null;}}else{if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()('.reveal:visible').length===0){__WEBPACK_IMPORTED_MODULE_0_jquery___default()('body').removeClass('is-reveal-open');}}__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["Keyboard"].releaseFocus(_this.$element);_this.$element.attr('aria-hidden',true);/**
+ * Fires when the modal is done closing.
+ * @event Reveal#closed
+ */_this.$element.trigger('closed.zf.reveal');}/**
+ * Resets the modal content
+ * This prevents a running video to keep going in the background
+ */if(this.options.resetOnClose){this.$element.html(this.$element.html());}this.isActive=false;if(_this.options.deepLink){if(window.history.replaceState){window.history.replaceState('',document.title,window.location.href.replace('#'+this.id,''));}else{window.location.hash='';}}this.$anchor.focus();}/**
+ * Toggles the open/closed state of a modal.
+ * @function
+ */},{key:'toggle',value:function toggle(){if(this.isActive){this.close();}else{this.open();}}},{key:'_destroy',/**
+ * Destroys an instance of a modal.
+ * @function
+ */value:function _destroy(){if(this.options.overlay){this.$element.appendTo(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.options.appendTo));// move $element outside of $overlay to prevent error unregisterPlugin()
+this.$overlay.hide().off().remove();}this.$element.hide().off();this.$anchor.off('.zf');__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off('.zf.reveal:'+this.id);}}]);return Reveal;}(__WEBPACK_IMPORTED_MODULE_4__foundation_plugin__["Plugin"]);Reveal.defaults={/**
* Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.
* @option
* @type {string}
@@ -1155,9 +1271,35 @@ this.$overlay.hide().off().remove();}this.$element.hide().off();this.$anchor.off
* @type {boolean}
* @default false
*/deepLink:false,/**
- * Allows the modal to append to custom div.
+ * Update the browser history with the open modal
+ * @option
+ * @default false
+ */updateHistory:false,/**
+ * Allows the modal to append to custom div.
+ * @option
+ * @type {string}
+ * @default "body"
+ */appendTo:"body",/**
+ * Allows adding additional class names to the reveal overlay.
* @option
* @type {string}
- * @default "body"
- */appendTo:"body"};// Window exports
-Foundation.plugin(Reveal,'Reveal');function iPhoneSniff(){return /iP(ad|hone|od).*OS/.test(window.navigator.userAgent);}function androidSniff(){return /Android/.test(window.navigator.userAgent);}function mobileSniff(){return iPhoneSniff()||androidSniff();}}(jQuery);
\ No newline at end of file
+ * @default ''
+ */additionalOverlayClasses:''};function iPhoneSniff(){return /iP(ad|hone|od).*OS/.test(window.navigator.userAgent);}function androidSniff(){return /Android/.test(window.navigator.userAgent);}function mobileSniff(){return iPhoneSniff()||androidSniff();}/***/},/***/6:/***/function _(module,exports){module.exports={MediaQuery:window.Foundation.MediaQuery};/***/},/***/7:/***/function _(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Triggers;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__=__webpack_require__(4);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_motion___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__);var MutationObserver=function(){var prefixes=['WebKit','Moz','O','Ms',''];for(var i=0;i').appendTo(document.head);}if($noJS.length){$noJS.removeClass('no-js');}if(type==='undefined'){//needs to initialize the Foundation object, or an individual plugin.
-Foundation.MediaQuery._init();Foundation.reflow(this);}else if(type==='string'){//an individual method to invoke on a plugin or group of plugins
+ * The Foundation jQuery method.
+ * @param {String|Array} method - An action to perform on the current jQuery object.
+ */var foundation=function foundation(method){var type=typeof method==='undefined'?'undefined':_typeof(method),$noJS=$('.no-js');if($noJS.length){$noJS.removeClass('no-js');}if(type==='undefined'){//needs to initialize the Foundation object, or an individual plugin.
+__WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__["a"/* MediaQuery */]._init();Foundation.reflow(this);}else if(type==='string'){//an individual method to invoke on a plugin or group of plugins
var args=Array.prototype.slice.call(arguments,1);//collect all the arguments, if necessary
var plugClass=this.data('zfPlugin');//determine the class of plugin
if(plugClass!==undefined&&plugClass[method]!==undefined){//make sure both the class and method exist
@@ -79,7 +95,13 @@ if(this.length===1){//if there's only one, call it directly.
plugClass[method].apply(plugClass,args);}else{this.each(function(i,el){//otherwise loop through the jQuery collection and invoke the method on each
plugClass[method].apply($(el).data('zfPlugin'),args);});}}else{//error for no class or no method
throw new ReferenceError("We're sorry, '"+method+"' is not an available method for "+(plugClass?functionName(plugClass):'this element')+'.');}}else{//error for invalid argument type
-throw new TypeError('We\'re sorry, '+type+' is not a valid parameter. You must use a string representing the method you wish to invoke.');}return this;};window.Foundation=Foundation;$.fn.foundation=foundation;// Polyfill for requestAnimationFrame
+throw new TypeError('We\'re sorry, '+type+' is not a valid parameter. You must use a string representing the method you wish to invoke.');}return this;};$.fn.foundation=foundation;return $;}};Foundation.util={/**
+ * Function for applying a debounce effect to a function call.
+ * @function
+ * @param {Function} func - Function to be called at end of timeout.
+ * @param {Number} delay - Time in ms to delay the call of `func`.
+ * @returns function
+ */throttle:function throttle(func,delay){var timer=null;return function(){var context=this,args=arguments;if(timer===null){timer=setTimeout(function(){func.apply(context,args);timer=null;},delay);}};}};window.Foundation=Foundation;// Polyfill for requestAnimationFrame
(function(){if(!Date.now||!window.Date.now)window.Date.now=Date.now=function(){return new Date().getTime();};var vendors=['webkit','moz'];for(var i=0;i1?results[1].trim():"";}else if(fn.prototype===undefined){return fn.constructor.name;}else{return fn.prototype.constructor.name;}}function parseValue(str){if('true'===str)return true;else if('false'===str)return false;else if(!isNaN(str*1))return parseFloat(str);return str;}// Convert PascalCase to kebab-case
// Thank you: http://stackoverflow.com/a/8955580
-function hyphenate(str){return str.replace(/([a-z])([A-Z])/g,'$1-$2').toLowerCase();}}(jQuery);
-'use strict';!function($){Foundation.Box={ImNotTouchingYou:ImNotTouchingYou,GetDimensions:GetDimensions,GetOffsets:GetOffsets/**
- * Compares the dimensions of an element to a container and determines collision events with container.
- * @function
- * @param {jQuery} element - jQuery object to test for collisions.
- * @param {jQuery} parent - jQuery object to use as bounding container.
- * @param {Boolean} lrOnly - set to true to check left and right values only.
- * @param {Boolean} tbOnly - set to true to check top and bottom values only.
- * @default if no parent object passed, detects collisions with `window`.
- * @returns {Boolean} - true if collision free, false if a collision in any direction.
- */};function ImNotTouchingYou(element,parent,lrOnly,tbOnly){var eleDims=GetDimensions(element),top,bottom,left,right;if(parent){var parDims=GetDimensions(parent);bottom=eleDims.offset.top+eleDims.height<=parDims.height+parDims.offset.top;top=eleDims.offset.top>=parDims.offset.top;left=eleDims.offset.left>=parDims.offset.left;right=eleDims.offset.left+eleDims.width<=parDims.width+parDims.offset.left;}else{bottom=eleDims.offset.top+eleDims.height<=eleDims.windowDims.height+eleDims.windowDims.offset.top;top=eleDims.offset.top>=eleDims.windowDims.offset.top;left=eleDims.offset.left>=eleDims.windowDims.offset.left;right=eleDims.offset.left+eleDims.width<=eleDims.windowDims.width;}var allDirs=[bottom,top,left,right];if(lrOnly){return left===right===true;}if(tbOnly){return top===bottom===true;}return allDirs.indexOf(false)===-1;};/**
+function hyphenate(str){return str.replace(/([a-z])([A-Z])/g,'$1-$2').toLowerCase();}/***/},/* 4 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Plugin;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_core__=__webpack_require__(1);var _createClass=function(){function defineProperties(target,props){for(var i=0;i').appendTo(document.head);}var extractedStyles=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('.foundation-mq').css('font-family');var namedQueries;namedQueries=parseStyleToObject(extractedStyles);for(var key in namedQueries){if(namedQueries.hasOwnProperty(key)){self.queries.push({name:key,value:'only screen and (min-width: '+namedQueries[key]+')'});}}this.current=this._getCurrentSize();this._watcher();},/**
+ * Checks if the screen is at least as wide as a breakpoint.
+ * @function
+ * @param {String} size - Name of the breakpoint to check.
+ * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.
+ */atLeast:function atLeast(size){var query=this.get(size);if(query){return matchMedia(query).matches;}return false;},/**
+ * Checks if the screen matches to a breakpoint.
+ * @function
+ * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.
+ * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.
+ */is:function is(size){size=size.trim().split(' ');if(size.length>1&&size[1]==='only'){if(size[0]===this._getCurrentSize())return true;}else{return this.atLeast(size[0]);}return false;},/**
+ * Gets the media query of a breakpoint.
+ * @function
+ * @param {String} size - Name of the breakpoint to get.
+ * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.
+ */get:function get(size){for(var i in this.queries){if(this.queries.hasOwnProperty(i)){var query=this.queries[i];if(size===query.name)return query.value;}}return null;},/**
+ * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).
+ * @function
+ * @private
+ * @returns {String} Name of the current breakpoint.
+ */_getCurrentSize:function _getCurrentSize(){var matched;for(var i=0;i').appendTo(document.head);}var extractedStyles=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('.foundation-mq').css('font-family');var namedQueries;namedQueries=parseStyleToObject(extractedStyles);for(var key in namedQueries){if(namedQueries.hasOwnProperty(key)){self.queries.push({name:key,value:'only screen and (min-width: '+namedQueries[key]+')'});}}this.current=this._getCurrentSize();this._watcher();},/**
* Checks if the screen is at least as wide as a breakpoint.
* @function
* @param {String} size - Name of the breakpoint to check.
* @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.
- */atLeast:function atLeast(size){var query=this.get(size);if(query){return window.matchMedia(query).matches;}return false;},/**
+ */atLeast:function atLeast(size){var query=this.get(size);if(query){return matchMedia(query).matches;}return false;},/**
* Checks if the screen matches to a breakpoint.
* @function
* @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.
@@ -184,25 +353,35 @@ var defaultQueries={'default':'only screen',landscape:'only screen and (orientat
* @function
* @private
* @returns {String} Name of the current breakpoint.
- */_getCurrentSize:function _getCurrentSize(){var matched;for(var i=0;i').appendTo(document.head);var t,n=u()(".foundation-mq").css("font-family");t=r(n);for(var i in t){t.hasOwnProperty(i)&&e.queries.push({name:i,value:"only screen and (min-width: "+t[i]+")"});}this.current=this._getCurrentSize(),this._watcher();},atLeast:function atLeast(e){var t=this.get(e);return!!t&&o(t).matches;},is:function is(e){return e=e.trim().split(" "),e.length>1&&"only"===e[1]?e[0]===this._getCurrentSize():this.atLeast(e[0]);},get:function get(e){for(var t in this.queries){if(this.queries.hasOwnProperty(t)){var n=this.queries[t];if(e===n.name)return n.value;}}return null;},_getCurrentSize:function _getCurrentSize(){for(var e,t=0;t1&&arguments[1]!==undefined?arguments[1]:'zf';menu.attr('role','menubar');var items=menu.find('li').attr({'role':'menuitem'}),subMenuClass='is-'+type+'-submenu',subItemClass=subMenuClass+'-item',hasSubClass='is-'+type+'-submenu-parent';items.each(function(){var $item=$(this),$sub=$item.children('ul');if($sub.length){$item.addClass(hasSubClass).attr({'aria-haspopup':true,'aria-label':$item.children('a:first').text()});// Note: Drilldowns behave differently in how they hide, and so need
+function reset(){element[0].style.transitionDuration=0;element.removeClass(initClass+' '+activeClass+' '+animation);}}/***/}/******/});
+"use strict";!function(n){function t(e){if(i[e])return i[e].exports;var o=i[e]={i:e,l:!1,exports:{}};return n[e].call(o.exports,o,o.exports,t),o.l=!0,o.exports;}var i={};t.m=n,t.c=i,t.i=function(n){return n;},t.d=function(n,i,e){t.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:e});},t.n=function(n){var i=n&&n.__esModule?function(){return n.default;}:function(){return n;};return t.d(i,"a",i),i;},t.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t);},t.p="",t(t.s=104);}({0:function _(n,t){n.exports=jQuery;},1:function _(n,t){n.exports={Foundation:window.Foundation};},104:function _(n,t,i){n.exports=i(38);},3:function _(n,t){n.exports={rtl:window.Foundation.rtl,GetYoDigits:window.Foundation.GetYoDigits,transitionend:window.Foundation.transitionend};},38:function _(n,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var e=i(1),o=(i.n(e),i(68));e.Foundation.Motion=o.a,e.Foundation.Move=o.b;},68:function _(n,t,i){"use strict";function e(n,t,i){function e(u){a||(a=u),r=u-a,i.apply(t),r1&&arguments[1]!==undefined?arguments[1]:'zf';menu.attr('role','menubar');var items=menu.find('li').attr({'role':'menuitem'}),subMenuClass='is-'+type+'-submenu',subItemClass=subMenuClass+'-item',hasSubClass='is-'+type+'-submenu-parent',applyAria=type!=='accordion';// Accordions handle their own ARIA attriutes.
+items.each(function(){var $item=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),$sub=$item.children('ul');if($sub.length){$item.addClass(hasSubClass);$sub.addClass('submenu '+subMenuClass).attr({'data-submenu':''});if(applyAria){$item.attr({'aria-haspopup':true,'aria-label':$item.children('a:first').text()});// Note: Drilldowns behave differently in how they hide, and so need
// additional attributes. We should look if this possibly over-generalized
// utility (Nest) is appropriate when we rework menus in 6.4
-if(type==='drilldown'){$item.attr({'aria-expanded':false});}$sub.addClass('submenu '+subMenuClass).attr({'data-submenu':'','role':'menu'});if(type==='drilldown'){$sub.attr({'aria-hidden':true});}}if($item.parent('[data-submenu]').length){$item.addClass('is-submenu-item '+subItemClass);}});return;},Burn:function Burn(menu,type){var//items = menu.find('li'),
-subMenuClass='is-'+type+'-submenu',subItemClass=subMenuClass+'-item',hasSubClass='is-'+type+'-submenu-parent';menu.find('>li, .menu, .menu > li').removeClass(subMenuClass+' '+subItemClass+' '+hasSubClass+' is-submenu-item submenu is-active').removeAttr('data-submenu').css('display','');// console.log( menu.find('.' + subMenuClass + ', .' + subItemClass + ', .has-submenu, .is-submenu-item, .submenu, [data-submenu]')
-// .removeClass(subMenuClass + ' ' + subItemClass + ' has-submenu is-submenu-item submenu')
-// .removeAttr('data-submenu'));
-// items.each(function(){
-// var $item = $(this),
-// $sub = $item.children('ul');
-// if($item.parent('[data-submenu]').length){
-// $item.removeClass('is-submenu-item ' + subItemClass);
-// }
-// if($sub.length){
-// $item.removeClass('has-submenu');
-// $sub.removeClass('submenu ' + subMenuClass).removeAttr('data-submenu');
-// }
-// });
-}};Foundation.Nest=Nest;}(jQuery);
+if(type==='drilldown'){$item.attr({'aria-expanded':false});}}$sub.addClass('submenu '+subMenuClass).attr({'data-submenu':'','role':'menu'});if(type==='drilldown'){$sub.attr({'aria-hidden':true});}}if($item.parent('[data-submenu]').length){$item.addClass('is-submenu-item '+subItemClass);}});return;},Burn:function Burn(menu,type){var//items = menu.find('li'),
+subMenuClass='is-'+type+'-submenu',subItemClass=subMenuClass+'-item',hasSubClass='is-'+type+'-submenu-parent';menu.find('>li, .menu, .menu > li').removeClass(subMenuClass+' '+subItemClass+' '+hasSubClass+' is-submenu-item submenu is-active').removeAttr('data-submenu').css('display','');}};/***/}/******/});
+"use strict";!function(n){function e(r){if(t[r])return t[r].exports;var u=t[r]={i:r,l:!1,exports:{}};return n[r].call(u.exports,u,u.exports,e),u.l=!0,u.exports;}var t={};e.m=n,e.c=t,e.i=function(n){return n;},e.d=function(n,t,r){e.o(n,t)||Object.defineProperty(n,t,{configurable:!1,enumerable:!0,get:r});},e.n=function(n){var t=n&&n.__esModule?function(){return n.default;}:function(){return n;};return e.d(t,"a",t),t;},e.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e);},e.p="",e(e.s=105);}({0:function _(n,e){n.exports=jQuery;},1:function _(n,e){n.exports={Foundation:window.Foundation};},105:function _(n,e,t){n.exports=t(39);},39:function _(n,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=t(1),u=(t.n(r),t(69));r.Foundation.Nest=u.a;},69:function _(n,e,t){"use strict";t.d(e,"a",function(){return a;});var r=t(0),u=t.n(r),a={Feather:function Feather(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zf";n.attr("role","menubar");var t=n.find("li").attr({role:"menuitem"}),r="is-"+e+"-submenu",a=r+"-item",i="is-"+e+"-submenu-parent",o="accordion"!==e;t.each(function(){var n=u()(this),t=n.children("ul");t.length&&(n.addClass(i),t.addClass("submenu "+r).attr({"data-submenu":""}),o&&(n.attr({"aria-haspopup":!0,"aria-label":n.children("a:first").text()}),"drilldown"===e&&n.attr({"aria-expanded":!1})),t.addClass("submenu "+r).attr({"data-submenu":"",role:"menu"}),"drilldown"===e&&t.attr({"aria-hidden":!0})),n.parent("[data-submenu]").length&&n.addClass("is-submenu-item "+a);});},Burn:function Burn(n,e){var t="is-"+e+"-submenu",r=t+"-item",u="is-"+e+"-submenu-parent";n.find(">li, .menu, .menu > li").removeClass(t+" "+r+" "+u+" is-submenu-item submenu is-active").removeAttr("data-submenu").css("display","");}};}});
+'use strict';/******/(function(modules){// webpackBootstrap
+/******/// The module cache
+/******/var installedModules={};/******//******/// The require function
+/******/function __webpack_require__(moduleId){/******//******/// Check if module is in cache
+/******/if(installedModules[moduleId]){/******/return installedModules[moduleId].exports;/******/}/******/// Create a new module (and put it into the cache)
+/******/var module=installedModules[moduleId]={/******/i:moduleId,/******/l:false,/******/exports:{}/******/};/******//******/// Execute the module function
+/******/modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);/******//******/// Flag the module as loaded
+/******/module.l=true;/******//******/// Return the exports of the module
+/******/return module.exports;/******/}/******//******//******/// expose the modules object (__webpack_modules__)
+/******/__webpack_require__.m=modules;/******//******/// expose the module cache
+/******/__webpack_require__.c=installedModules;/******//******/// identity function for calling harmony imports with the correct context
+/******/__webpack_require__.i=function(value){return value;};/******//******/// define getter function for harmony exports
+/******/__webpack_require__.d=function(exports,name,getter){/******/if(!__webpack_require__.o(exports,name)){/******/Object.defineProperty(exports,name,{/******/configurable:false,/******/enumerable:true,/******/get:getter/******/});/******/}/******/};/******//******/// getDefaultExport function for compatibility with non-harmony modules
+/******/__webpack_require__.n=function(module){/******/var getter=module&&module.__esModule?/******/function getDefault(){return module['default'];}:/******/function getModuleExports(){return module;};/******/__webpack_require__.d(getter,'a',getter);/******/return getter;/******/};/******//******/// Object.prototype.hasOwnProperty.call
+/******/__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property);};/******//******/// __webpack_public_path__
+/******/__webpack_require__.p="";/******//******/// Load entry module and return exports
+/******/return __webpack_require__(__webpack_require__.s=106);/******/})(/************************************************************************//******/{/***/0:/***/function _(module,exports){module.exports=jQuery;/***/},/***/1:/***/function _(module,exports){module.exports={Foundation:window.Foundation};/***/},/***/106:/***/function _(module,exports,__webpack_require__){module.exports=__webpack_require__(40);/***/},/***/40:/***/function _(module,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:true});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0__foundation_core__=__webpack_require__(1);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0__foundation_core___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__foundation_core__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_timer__=__webpack_require__(70);__WEBPACK_IMPORTED_MODULE_0__foundation_core__["Foundation"].Timer=__WEBPACK_IMPORTED_MODULE_1__foundation_util_timer__["a"/* Timer */];/***/},/***/70:/***/function _(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Timer;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);function Timer(elem,options,cb){var _this=this,duration=options.duration,//options is an object for easily adding features later.
+nameSpace=Object.keys(elem.data())[0]||'timer',remain=-1,start,timer;this.isPaused=false;this.restart=function(){remain=-1;clearTimeout(timer);this.start();};this.start=function(){this.isPaused=false;// if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.
+clearTimeout(timer);remain=remain<=0?duration:remain;elem.data('paused',false);start=Date.now();timer=setTimeout(function(){if(options.infinite){_this.restart();//rerun the timer.
+}if(cb&&typeof cb==='function'){cb();}},remain);elem.trigger('timerstart.zf.'+nameSpace);};this.pause=function(){this.isPaused=true;//if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.
+clearTimeout(timer);elem.data('paused',true);var end=Date.now();remain=remain-(end-start);elem.trigger('timerpaused.zf.'+nameSpace);};}/***/}/******/});
+"use strict";!function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports;}var n={};e.m=t,e.c=n,e.i=function(t){return t;},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r});},e.n=function(t){var n=t&&t.__esModule?function(){return t.default;}:function(){return t;};return e.d(n,"a",n),n;},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e);},e.p="",e(e.s=106);}({0:function _(t,e){t.exports=jQuery;},1:function _(t,e){t.exports={Foundation:window.Foundation};},106:function _(t,e,n){t.exports=n(40);},40:function _(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),i=(n.n(r),n(70));r.Foundation.Timer=i.a;},70:function _(t,e,n){"use strict";function r(t,e,n){var r,i,o=this,u=e.duration,a=Object.keys(t.data())[0]||"timer",s=-1;this.isPaused=!1,this.restart=function(){s=-1,clearTimeout(i),this.start();},this.start=function(){this.isPaused=!1,clearTimeout(i),s=s<=0?u:s,t.data("paused",!1),r=Date.now(),i=setTimeout(function(){e.infinite&&o.restart(),n&&"function"==typeof n&&n();},s),t.trigger("timerstart.zf."+a);},this.pause=function(){this.isPaused=!0,clearTimeout(i),t.data("paused",!0);var e=Date.now();s-=e-r,t.trigger("timerpaused.zf."+a);};}n.d(e,"a",function(){return r;});var i=n(0);n.n(i);}});
'use strict';!function($){function Timer(elem,options,cb){var _this=this,duration=options.duration,//options is an object for easily adding features later.
nameSpace=Object.keys(elem.data())[0]||'timer',remain=-1,start,timer;this.isPaused=false;this.restart=function(){remain=-1;clearTimeout(timer);this.start();};this.start=function(){this.isPaused=false;// if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.
clearTimeout(timer);remain=remain<=0?duration:remain;elem.data('paused',false);start=Date.now();timer=setTimeout(function(){if(options.infinite){_this.restart();//rerun the timer.
}if(cb&&typeof cb==='function'){cb();}},remain);elem.trigger('timerstart.zf.'+nameSpace);};this.pause=function(){this.isPaused=true;//if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.
clearTimeout(timer);elem.data('paused',true);var end=Date.now();remain=remain-(end-start);elem.trigger('timerpaused.zf.'+nameSpace);};}/**
- * Runs a callback function when images are fully loaded.
- * @param {Object} images - Image(s) to check if loaded.
- * @param {Func} callback - Function to execute when image is fully loaded.
- */function onImagesLoaded(images,callback){var self=this,unloaded=images.length;if(unloaded===0){callback();}images.each(function(){// Check if image is loaded
+ * Runs a callback function when images are fully loaded.
+ * @param {Object} images - Image(s) to check if loaded.
+ * @param {Func} callback - Function to execute when image is fully loaded.
+ */function onImagesLoaded(images,callback){var self=this,unloaded=images.length;if(unloaded===0){callback();}images.each(function(){// Check if image is loaded
if(this.complete||this.readyState===4||this.readyState==='complete'){singleImageLoaded();}// Force load the image
else{// fix for IE. See https://css-tricks.com/snippets/jquery/fixing-load-in-ie-for-cached-images/
var src=$(this).attr('src');$(this).attr('src',src+(src.indexOf('?')>=0?'&':'?')+new Date().getTime());$(this).one('load',function(){singleImageLoaded();});}});function singleImageLoaded(){unloaded--;if(unloaded===0){callback();}}}Foundation.Timer=Timer;Foundation.onImagesLoaded=onImagesLoaded;}(jQuery);
-'use strict';//**************************************************
+"use strict";!function(t){function e(t,e,i){var a,s,n=this,r=e.duration,o=Object.keys(t.data())[0]||"timer",u=-1;this.isPaused=!1,this.restart=function(){u=-1,clearTimeout(s),this.start();},this.start=function(){this.isPaused=!1,clearTimeout(s),u=u<=0?r:u,t.data("paused",!1),a=Date.now(),s=setTimeout(function(){e.infinite&&n.restart(),i&&"function"==typeof i&&i();},u),t.trigger("timerstart.zf."+o);},this.pause=function(){this.isPaused=!0,clearTimeout(s),t.data("paused",!0);var e=Date.now();u-=e-a,t.trigger("timerpaused.zf."+o);};}function i(e,i){function a(){s--,0===s&&i();}var s=e.length;0===s&&i(),e.each(function(){if(this.complete||4===this.readyState||"complete"===this.readyState)a();else{var e=t(this).attr("src");t(this).attr("src",e+(e.indexOf("?")>=0?"&":"?")+new Date().getTime()),t(this).one("load",function(){a();});}});}Foundation.Timer=e,Foundation.onImagesLoaded=i;}(jQuery);
+'use strict';/******/(function(modules){// webpackBootstrap
+/******/// The module cache
+/******/var installedModules={};/******//******/// The require function
+/******/function __webpack_require__(moduleId){/******//******/// Check if module is in cache
+/******/if(installedModules[moduleId]){/******/return installedModules[moduleId].exports;/******/}/******/// Create a new module (and put it into the cache)
+/******/var module=installedModules[moduleId]={/******/i:moduleId,/******/l:false,/******/exports:{}/******/};/******//******/// Execute the module function
+/******/modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);/******//******/// Flag the module as loaded
+/******/module.l=true;/******//******/// Return the exports of the module
+/******/return module.exports;/******/}/******//******//******/// expose the modules object (__webpack_modules__)
+/******/__webpack_require__.m=modules;/******//******/// expose the module cache
+/******/__webpack_require__.c=installedModules;/******//******/// identity function for calling harmony imports with the correct context
+/******/__webpack_require__.i=function(value){return value;};/******//******/// define getter function for harmony exports
+/******/__webpack_require__.d=function(exports,name,getter){/******/if(!__webpack_require__.o(exports,name)){/******/Object.defineProperty(exports,name,{/******/configurable:false,/******/enumerable:true,/******/get:getter/******/});/******/}/******/};/******//******/// getDefaultExport function for compatibility with non-harmony modules
+/******/__webpack_require__.n=function(module){/******/var getter=module&&module.__esModule?/******/function getDefault(){return module['default'];}:/******/function getModuleExports(){return module;};/******/__webpack_require__.d(getter,'a',getter);/******/return getter;/******/};/******//******/// Object.prototype.hasOwnProperty.call
+/******/__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property);};/******//******/// __webpack_public_path__
+/******/__webpack_require__.p="";/******//******/// Load entry module and return exports
+/******/return __webpack_require__(__webpack_require__.s=107);/******/})(/************************************************************************//******/{/***/0:/***/function _(module,exports){module.exports=jQuery;/***/},/***/107:/***/function _(module,exports,__webpack_require__){module.exports=__webpack_require__(41);/***/},/***/41:/***/function _(module,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:true});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_touch__=__webpack_require__(71);__WEBPACK_IMPORTED_MODULE_1__foundation_util_touch__["a"/* Touch */].init(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);window.Foundation.Touch=__WEBPACK_IMPORTED_MODULE_1__foundation_util_touch__["a"/* Touch */];/***/},/***/71:/***/function _(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Touch;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);var _createClass=function(){function defineProperties(target,props){for(var i=0;i=$.spotSwipe.moveThreshold&&elapsedTime<=$.spotSwipe.timeThreshold){dir=dx>0?'left':'right';}// else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {
+var Touch={};var startPosX,startPosY,startTime,elapsedTime,isMoving=false;function onTouchEnd(){// alert(this);
+this.removeEventListener('touchmove',onTouchMove);this.removeEventListener('touchend',onTouchEnd);isMoving=false;}function onTouchMove(e){if(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.spotSwipe.preventDefault){e.preventDefault();}if(isMoving){var x=e.touches[0].pageX;var y=e.touches[0].pageY;var dx=startPosX-x;var dy=startPosY-y;var dir;elapsedTime=new Date().getTime()-startTime;if(Math.abs(dx)>=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.spotSwipe.moveThreshold&&elapsedTime<=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.spotSwipe.timeThreshold){dir=dx>0?'left':'right';}// else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {
// dir = dy > 0 ? 'down' : 'up';
// }
-if(dir){e.preventDefault();onTouchEnd.call(this);$(this).trigger('swipe',dir).trigger('swipe'+dir);}}}function onTouchStart(e){if(e.touches.length==1){startPosX=e.touches[0].pageX;startPosY=e.touches[0].pageY;isMoving=true;startTime=new Date().getTime();this.addEventListener('touchmove',onTouchMove,false);this.addEventListener('touchend',onTouchEnd,false);}}function init(){this.addEventListener&&this.addEventListener('touchstart',onTouchStart,false);}function teardown(){this.removeEventListener('touchstart',onTouchStart);}$.event.special.swipe={setup:init};$.each(['left','up','down','right'],function(){$.event.special['swipe'+this]={setup:function setup(){$(this).on('swipe',$.noop);}};});})(jQuery);/****************************************************
- * Method for adding psuedo drag events to elements *
- ***************************************************/!function($){$.fn.addTouch=function(){this.each(function(i,el){$(el).bind('touchstart touchmove touchend touchcancel',function(){//we pass the original event object because the jQuery event
+if(dir){e.preventDefault();onTouchEnd.call(this);__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).trigger('swipe',dir).trigger('swipe'+dir);}}}function onTouchStart(e){if(e.touches.length==1){startPosX=e.touches[0].pageX;startPosY=e.touches[0].pageY;isMoving=true;startTime=new Date().getTime();this.addEventListener('touchmove',onTouchMove,false);this.addEventListener('touchend',onTouchEnd,false);}}function init(){this.addEventListener&&this.addEventListener('touchstart',onTouchStart,false);}function teardown(){this.removeEventListener('touchstart',onTouchStart);}var SpotSwipe=function(){function SpotSwipe($){_classCallCheck(this,SpotSwipe);this.version='1.0.0';this.enabled='ontouchstart'in document.documentElement;this.preventDefault=false;this.moveThreshold=75;this.timeThreshold=200;this.$=$;this._init();}_createClass(SpotSwipe,[{key:'_init',value:function _init(){var $=this.$;$.event.special.swipe={setup:init};$.each(['left','up','down','right'],function(){$.event.special['swipe'+this]={setup:function setup(){$(this).on('swipe',$.noop);}};});}}]);return SpotSwipe;}();/****************************************************
+ * As far as I can tell, both setupSpotSwipe and *
+ * setupTouchHandler should be idempotent, *
+ * because they directly replace functions & *
+ * values, and do not add event handlers directly. *
+ ****************************************************/Touch.setupSpotSwipe=function($){$.spotSwipe=new SpotSwipe($);};/****************************************************
+ * Method for adding pseudo drag events to elements *
+ ***************************************************/Touch.setupTouchHandler=function($){$.fn.addTouch=function(){this.each(function(i,el){$(el).bind('touchstart touchmove touchend touchcancel',function(){//we pass the original event object because the jQuery event
//object is normalized to w3c specs and does not provide the TouchList
-handleTouch(event);});});var handleTouch=function handleTouch(event){var touches=event.changedTouches,first=touches[0],eventTypes={touchstart:'mousedown',touchmove:'mousemove',touchend:'mouseup'},type=eventTypes[event.type],simulatedEvent;if('MouseEvent'in window&&typeof window.MouseEvent==='function'){simulatedEvent=new window.MouseEvent(type,{'bubbles':true,'cancelable':true,'screenX':first.screenX,'screenY':first.screenY,'clientX':first.clientX,'clientY':first.clientY});}else{simulatedEvent=document.createEvent('MouseEvent');simulatedEvent.initMouseEvent(type,true,true,window,1,first.screenX,first.screenY,first.clientX,first.clientY,false,false,false,false,0/*left*/,null);}first.target.dispatchEvent(simulatedEvent);};};}(jQuery);//**********************************
-//**From the jQuery Mobile Library**
-//**need to recreate functionality**
-//**and try to improve if possible**
-//**********************************
-/* Removing the jQuery function ****
-************************************
-
-(function( $, window, undefined ) {
-
- var $document = $( document ),
- // supportTouch = $.mobile.support.touch,
- touchStartEvent = 'touchstart'//supportTouch ? "touchstart" : "mousedown",
- touchStopEvent = 'touchend'//supportTouch ? "touchend" : "mouseup",
- touchMoveEvent = 'touchmove'//supportTouch ? "touchmove" : "mousemove";
-
- // setup new event shortcuts
- $.each( ( "touchstart touchmove touchend " +
- "swipe swipeleft swiperight" ).split( " " ), function( i, name ) {
-
- $.fn[ name ] = function( fn ) {
- return fn ? this.bind( name, fn ) : this.trigger( name );
- };
-
- // jQuery < 1.8
- if ( $.attrFn ) {
- $.attrFn[ name ] = true;
- }
- });
-
- function triggerCustomEvent( obj, eventType, event, bubble ) {
- var originalType = event.type;
- event.type = eventType;
- if ( bubble ) {
- $.event.trigger( event, undefined, obj );
- } else {
- $.event.dispatch.call( obj, event );
- }
- event.type = originalType;
- }
-
- // also handles taphold
-
- // Also handles swipeleft, swiperight
- $.event.special.swipe = {
-
- // More than this horizontal displacement, and we will suppress scrolling.
- scrollSupressionThreshold: 30,
-
- // More time than this, and it isn't a swipe.
- durationThreshold: 1000,
-
- // Swipe horizontal displacement must be more than this.
- horizontalDistanceThreshold: window.devicePixelRatio >= 2 ? 15 : 30,
-
- // Swipe vertical displacement must be less than this.
- verticalDistanceThreshold: window.devicePixelRatio >= 2 ? 15 : 30,
-
- getLocation: function ( event ) {
- var winPageX = window.pageXOffset,
- winPageY = window.pageYOffset,
- x = event.clientX,
- y = event.clientY;
-
- if ( event.pageY === 0 && Math.floor( y ) > Math.floor( event.pageY ) ||
- event.pageX === 0 && Math.floor( x ) > Math.floor( event.pageX ) ) {
-
- // iOS4 clientX/clientY have the value that should have been
- // in pageX/pageY. While pageX/page/ have the value 0
- x = x - winPageX;
- y = y - winPageY;
- } else if ( y < ( event.pageY - winPageY) || x < ( event.pageX - winPageX ) ) {
-
- // Some Android browsers have totally bogus values for clientX/Y
- // when scrolling/zooming a page. Detectable since clientX/clientY
- // should never be smaller than pageX/pageY minus page scroll
- x = event.pageX - winPageX;
- y = event.pageY - winPageY;
- }
-
- return {
- x: x,
- y: y
- };
- },
-
- start: function( event ) {
- var data = event.originalEvent.touches ?
- event.originalEvent.touches[ 0 ] : event,
- location = $.event.special.swipe.getLocation( data );
- return {
- time: ( new Date() ).getTime(),
- coords: [ location.x, location.y ],
- origin: $( event.target )
- };
- },
-
- stop: function( event ) {
- var data = event.originalEvent.touches ?
- event.originalEvent.touches[ 0 ] : event,
- location = $.event.special.swipe.getLocation( data );
- return {
- time: ( new Date() ).getTime(),
- coords: [ location.x, location.y ]
- };
- },
-
- handleSwipe: function( start, stop, thisObject, origTarget ) {
- if ( stop.time - start.time < $.event.special.swipe.durationThreshold &&
- Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.horizontalDistanceThreshold &&
- Math.abs( start.coords[ 1 ] - stop.coords[ 1 ] ) < $.event.special.swipe.verticalDistanceThreshold ) {
- var direction = start.coords[0] > stop.coords[ 0 ] ? "swipeleft" : "swiperight";
-
- triggerCustomEvent( thisObject, "swipe", $.Event( "swipe", { target: origTarget, swipestart: start, swipestop: stop }), true );
- triggerCustomEvent( thisObject, direction,$.Event( direction, { target: origTarget, swipestart: start, swipestop: stop } ), true );
- return true;
- }
- return false;
-
- },
-
- // This serves as a flag to ensure that at most one swipe event event is
- // in work at any given time
- eventInProgress: false,
-
- setup: function() {
- var events,
- thisObject = this,
- $this = $( thisObject ),
- context = {};
-
- // Retrieve the events data for this element and add the swipe context
- events = $.data( this, "mobile-events" );
- if ( !events ) {
- events = { length: 0 };
- $.data( this, "mobile-events", events );
- }
- events.length++;
- events.swipe = context;
-
- context.start = function( event ) {
-
- // Bail if we're already working on a swipe event
- if ( $.event.special.swipe.eventInProgress ) {
- return;
- }
- $.event.special.swipe.eventInProgress = true;
-
- var stop,
- start = $.event.special.swipe.start( event ),
- origTarget = event.target,
- emitted = false;
-
- context.move = function( event ) {
- if ( !start || event.isDefaultPrevented() ) {
- return;
- }
-
- stop = $.event.special.swipe.stop( event );
- if ( !emitted ) {
- emitted = $.event.special.swipe.handleSwipe( start, stop, thisObject, origTarget );
- if ( emitted ) {
-
- // Reset the context to make way for the next swipe event
- $.event.special.swipe.eventInProgress = false;
- }
- }
- // prevent scrolling
- if ( Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.scrollSupressionThreshold ) {
- event.preventDefault();
- }
- };
-
- context.stop = function() {
- emitted = true;
-
- // Reset the context to make way for the next swipe event
- $.event.special.swipe.eventInProgress = false;
- $document.off( touchMoveEvent, context.move );
- context.move = null;
- };
-
- $document.on( touchMoveEvent, context.move )
- .one( touchStopEvent, context.stop );
- };
- $this.on( touchStartEvent, context.start );
- },
-
- teardown: function() {
- var events, context;
-
- events = $.data( this, "mobile-events" );
- if ( events ) {
- context = events.swipe;
- delete events.swipe;
- events.length--;
- if ( events.length === 0 ) {
- $.removeData( this, "mobile-events" );
- }
- }
-
- if ( context ) {
- if ( context.start ) {
- $( this ).off( touchStartEvent, context.start );
- }
- if ( context.move ) {
- $document.off( touchMoveEvent, context.move );
- }
- if ( context.stop ) {
- $document.off( touchStopEvent, context.stop );
- }
- }
- }
- };
- $.each({
- swipeleft: "swipe.left",
- swiperight: "swipe.right"
- }, function( event, sourceEvent ) {
-
- $.event.special[ event ] = {
- setup: function() {
- $( this ).bind( sourceEvent, $.noop );
- },
- teardown: function() {
- $( this ).unbind( sourceEvent );
- }
- };
- });
-})( jQuery, this );
-*/
-'use strict';var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};!function($){var MutationObserver=function(){var prefixes=['WebKit','Moz','O','Ms',''];for(var i=0;i=l.a.spotSwipe.moveThreshold&&p<=l.a.spotSwipe.timeThreshold&&(t=o>0?"left":"right"),t&&(e.preventDefault(),i.call(this),l()(this).trigger("swipe",t).trigger("swipe"+t));}}function r(e){1==e.touches.length&&(s=e.touches[0].pageX,a=e.touches[0].pageY,w=!0,h=new Date().getTime(),this.addEventListener("touchmove",u,!1),this.addEventListener("touchend",i,!1));}function c(){this.addEventListener&&this.addEventListener("touchstart",r,!1);}n.d(t,"a",function(){return v;});var s,a,h,p,f=n(0),l=n.n(f),d=function(){function e(e,t){for(var n=0;n'+_this.options.submenuToggleText+'');}else{$elem.attr({'aria-controls':subId,'aria-expanded':isActive,'id':linkId});}$sub.attr({'aria-labelledby':linkId,'aria-hidden':!isActive,'role':'group','id':subId});});this.$element.find('li').attr({'role':'treeitem'});var initPanes=this.$element.find('.is-active');if(initPanes.length){var _this=this;initPanes.each(function(){_this.down(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this));});}this._events();}/**
+ * Adds event handlers for items within the menu.
+ * @private
+ */},{key:'_events',value:function _events(){var _this=this;this.$element.find('li').each(function(){var $submenu=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).children('[data-submenu]');if($submenu.length){if(_this.options.submenuToggle){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).children('.submenu-toggle').off('click.zf.accordionMenu').on('click.zf.accordionMenu',function(e){_this.toggle($submenu);});}else{__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).children('a').off('click.zf.accordionMenu').on('click.zf.accordionMenu',function(e){e.preventDefault();_this.toggle($submenu);});}}}).on('keydown.zf.accordionmenu',function(e){var $element=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),$elements=$element.parent('ul').children('li'),$prevElement,$nextElement,$target=$element.children('[data-submenu]');$elements.each(function(i){if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).is($element)){$prevElement=$elements.eq(Math.max(0,i-1)).find('a').first();$nextElement=$elements.eq(Math.min(i+1,$elements.length-1)).find('a').first();if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).children('[data-submenu]:visible').length){// has open sub menu
+$nextElement=$element.find('li:first-child').find('a').first();}if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).is(':first-child')){// is first element of sub menu
$prevElement=$element.parents('li').first().find('a').first();}else if($prevElement.parents('li').first().children('[data-submenu]:visible').length){// if previous element has open sub menu
-$prevElement=$prevElement.parents('li').find('li:last-child').find('a').first();}if($(this).is(':last-child')){// is last element of sub menu
-$nextElement=$element.parents('li').first().next('li').find('a').first();}return;}});Foundation.Keyboard.handleKey(e,'AccordionMenu',{open:function open(){if($target.is(':hidden')){_this.down($target);$target.find('li').first().find('a').first().focus();}},close:function close(){if($target.length&&!$target.is(':hidden')){// close active sub of this item
+$prevElement=$prevElement.parents('li').find('li:last-child').find('a').first();}if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).is(':last-child')){// is last element of sub menu
+$nextElement=$element.parents('li').first().next('li').find('a').first();}return;}});__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["Keyboard"].handleKey(e,'AccordionMenu',{open:function open(){if($target.is(':hidden')){_this.down($target);$target.find('li').first().find('a').first().focus();}},close:function close(){if($target.length&&!$target.is(':hidden')){// close active sub of this item
_this.up($target);}else if($element.parent('[data-submenu]').length){// close currently open sub
-_this.up($element.parent('[data-submenu]'));$element.parents('li').first().find('a').first().focus();}},up:function up(){$prevElement.focus();return true;},down:function down(){$nextElement.focus();return true;},toggle:function toggle(){if($element.children('[data-submenu]').length){_this.toggle($element.children('[data-submenu]'));}},closeAll:function closeAll(){_this.hideAll();},handled:function handled(preventDefault){if(preventDefault){e.preventDefault();}e.stopImmediatePropagation();}});});//.attr('tabindex', 0);
+_this.up($element.parent('[data-submenu]'));$element.parents('li').first().find('a').first().focus();}},up:function up(){$prevElement.focus();return true;},down:function down(){$nextElement.focus();return true;},toggle:function toggle(){if(_this.options.submenuToggle){return false;}if($element.children('[data-submenu]').length){_this.toggle($element.children('[data-submenu]'));return true;}},closeAll:function closeAll(){_this.hideAll();},handled:function handled(preventDefault){if(preventDefault){e.preventDefault();}e.stopImmediatePropagation();}});});//.attr('tabindex', 0);
}/**
- * Closes all panes of the menu.
- * @function
- */},{key:'hideAll',value:function hideAll(){this.up(this.$element.find('[data-submenu]'));}/**
- * Opens all panes of the menu.
- * @function
- */},{key:'showAll',value:function showAll(){this.down(this.$element.find('[data-submenu]'));}/**
- * Toggles the open/close state of a submenu.
- * @function
- * @param {jQuery} $target - the submenu to toggle
- */},{key:'toggle',value:function toggle($target){if(!$target.is(':animated')){if(!$target.is(':hidden')){this.up($target);}else{this.down($target);}}}/**
- * Opens the sub-menu defined by `$target`.
- * @param {jQuery} $target - Sub-menu to open.
- * @fires AccordionMenu#down
- */},{key:'down',value:function down($target){var _this=this;if(!this.options.multiOpen){this.up(this.$element.find('.is-active').not($target.parentsUntil(this.$element).add($target)));}$target.addClass('is-active').attr({'aria-hidden':false}).parent('.is-accordion-submenu-parent').attr({'aria-expanded':true});//Foundation.Move(this.options.slideSpeed, $target, function() {
-$target.slideDown(_this.options.slideSpeed,function(){/**
- * Fires when the menu is done opening.
- * @event AccordionMenu#down
- */_this.$element.trigger('down.zf.accordionMenu',[$target]);});//});
-}/**
- * Closes the sub-menu defined by `$target`. All sub-menus inside the target will be closed as well.
- * @param {jQuery} $target - Sub-menu to close.
- * @fires AccordionMenu#up
- */},{key:'up',value:function up($target){var _this=this;//Foundation.Move(this.options.slideSpeed, $target, function(){
-$target.slideUp(_this.options.slideSpeed,function(){/**
+ * Closes all panes of the menu.
+ * @function
+ */},{key:'hideAll',value:function hideAll(){this.up(this.$element.find('[data-submenu]'));}/**
+ * Opens all panes of the menu.
+ * @function
+ */},{key:'showAll',value:function showAll(){this.down(this.$element.find('[data-submenu]'));}/**
+ * Toggles the open/close state of a submenu.
+ * @function
+ * @param {jQuery} $target - the submenu to toggle
+ */},{key:'toggle',value:function toggle($target){if(!$target.is(':animated')){if(!$target.is(':hidden')){this.up($target);}else{this.down($target);}}}/**
+ * Opens the sub-menu defined by `$target`.
+ * @param {jQuery} $target - Sub-menu to open.
+ * @fires AccordionMenu#down
+ */},{key:'down',value:function down($target){var _this=this;if(!this.options.multiOpen){this.up(this.$element.find('.is-active').not($target.parentsUntil(this.$element).add($target)));}$target.addClass('is-active').attr({'aria-hidden':false});if(this.options.submenuToggle){$target.prev('.submenu-toggle').attr({'aria-expanded':true});}else{$target.parent('.is-accordion-submenu-parent').attr({'aria-expanded':true});}$target.slideDown(_this.options.slideSpeed,function(){/**
+ * Fires when the menu is done opening.
+ * @event AccordionMenu#down
+ */_this.$element.trigger('down.zf.accordionMenu',[$target]);});}/**
+ * Closes the sub-menu defined by `$target`. All sub-menus inside the target will be closed as well.
+ * @param {jQuery} $target - Sub-menu to close.
+ * @fires AccordionMenu#up
+ */},{key:'up',value:function up($target){var _this=this;$target.slideUp(_this.options.slideSpeed,function(){/**
* Fires when the menu is done collapsing up.
* @event AccordionMenu#up
- */_this.$element.trigger('up.zf.accordionMenu',[$target]);});//});
-var $menus=$target.find('[data-submenu]').slideUp(0).addBack().attr('aria-hidden',true);$menus.parent('.is-accordion-submenu-parent').attr('aria-expanded',false);}/**
- * Destroys an instance of accordion menu.
- * @fires AccordionMenu#destroyed
- */},{key:'destroy',value:function destroy(){this.$element.find('[data-submenu]').slideDown(0).css('display','');this.$element.find('a').off('click.zf.accordionMenu');Foundation.Nest.Burn(this.$element,'accordion');Foundation.unregisterPlugin(this);}}]);return AccordionMenu;}();AccordionMenu.defaults={/**
+ */_this.$element.trigger('up.zf.accordionMenu',[$target]);});var $menus=$target.find('[data-submenu]').slideUp(0).addBack().attr('aria-hidden',true);if(this.options.submenuToggle){$menus.prev('.submenu-toggle').attr('aria-expanded',false);}else{$menus.parent('.is-accordion-submenu-parent').attr('aria-expanded',false);}}/**
+ * Destroys an instance of accordion menu.
+ * @fires AccordionMenu#destroyed
+ */},{key:'_destroy',value:function _destroy(){this.$element.find('[data-submenu]').slideDown(0).css('display','');this.$element.find('a').off('click.zf.accordionMenu');if(this.options.submenuToggle){this.$element.find('.has-submenu-toggle').removeClass('has-submenu-toggle');this.$element.find('.submenu-toggle').remove();}__WEBPACK_IMPORTED_MODULE_2__foundation_util_nest__["Nest"].Burn(this.$element,'accordion');}}]);return AccordionMenu;}(__WEBPACK_IMPORTED_MODULE_4__foundation_plugin__["Plugin"]);AccordionMenu.defaults={/**
* Amount of time to animate the opening of a submenu in ms.
* @option
* @type {number}
* @default 250
*/slideSpeed:250,/**
+ * Adds a separate submenu toggle button. This allows the parent item to have a link.
+ * @option
+ * @example true
+ */submenuToggle:false,/**
+ * The text used for the submenu toggle if enabled. This is used for screen readers only.
+ * @option
+ * @example true
+ */submenuToggleText:'Toggle menu',/**
* Allow the menu to have multiple open panes.
* @option
* @type {boolean}
* @default true
- */multiOpen:true};// Window exports
-Foundation.plugin(AccordionMenu,'AccordionMenu');}(jQuery);
-'use strict';var _createClass=function(){function defineProperties(target,props){for(var i=0;i0;this.isNested=this.$element.parentsUntil(document.body,'[data-equalizer]').length>0;this.isOn=false;this._bindHandler={onResizeMeBound:this._onResizeMe.bind(this),onPostEqualizedBound:this._onPostEqualized.bind(this)};var imgs=this.$element.find('img');var tooSmall;if(this.options.equalizeOn){tooSmall=this._checkMQ();$(window).on('changed.zf.mediaquery',this._checkMQ.bind(this));}else{this._events();}if(tooSmall!==undefined&&tooSmall===false||tooSmall===undefined){if(imgs.length){Foundation.onImagesLoaded(imgs,this._reflow.bind(this));}else{this._reflow();}}}/**
- * Removes event listeners if the breakpoint is too small.
- * @private
- */},{key:'_pauseEvents',value:function _pauseEvents(){this.isOn=false;this.$element.off({'.zf.equalizer':this._bindHandler.onPostEqualizedBound,'resizeme.zf.trigger':this._bindHandler.onResizeMeBound,'mutateme.zf.trigger':this._bindHandler.onResizeMeBound});}/**
- * function to handle $elements resizeme.zf.trigger, with bound this on _bindHandler.onResizeMeBound
- * @private
- */},{key:'_onResizeMe',value:function _onResizeMe(e){this._reflow();}/**
- * function to handle $elements postequalized.zf.equalizer, with bound this on _bindHandler.onPostEqualizedBound
- * @private
- */},{key:'_onPostEqualized',value:function _onPostEqualized(e){if(e.target!==this.$element[0]){this._reflow();}}/**
- * Initializes events for Equalizer.
- * @private
- */},{key:'_events',value:function _events(){var _this=this;this._pauseEvents();if(this.hasNested){this.$element.on('postequalized.zf.equalizer',this._bindHandler.onPostEqualizedBound);}else{this.$element.on('resizeme.zf.trigger',this._bindHandler.onResizeMeBound);this.$element.on('mutateme.zf.trigger',this._bindHandler.onResizeMeBound);}this.isOn=true;}/**
- * Checks the current breakpoint to the minimum required size.
- * @private
- */},{key:'_checkMQ',value:function _checkMQ(){var tooSmall=!Foundation.MediaQuery.is(this.options.equalizeOn);if(tooSmall){if(this.isOn){this._pauseEvents();this.$watched.css('height','auto');}}else{if(!this.isOn){this._events();}}return tooSmall;}/**
- * A noop version for the plugin
- * @private
- */},{key:'_killswitch',value:function _killswitch(){return;}/**
- * Calls necessary functions to update Equalizer upon DOM change
- * @private
- */},{key:'_reflow',value:function _reflow(){if(!this.options.equalizeOnStack){if(this._isStacked()){this.$watched.css('height','auto');return false;}}if(this.options.equalizeByRow){this.getHeightsByRow(this.applyHeightByRow.bind(this));}else{this.getHeights(this.applyHeight.bind(this));}}/**
- * Manually determines if the first 2 elements are *NOT* stacked.
- * @private
- */},{key:'_isStacked',value:function _isStacked(){if(!this.$watched[0]||!this.$watched[1]){return true;}return this.$watched[0].getBoundingClientRect().top!==this.$watched[1].getBoundingClientRect().top;}/**
- * Finds the outer heights of children contained within an Equalizer parent and returns them in an array
- * @param {Function} cb - A non-optional callback to return the heights array to.
- * @returns {Array} heights - An array of heights of children within Equalizer container
- */},{key:'getHeights',value:function getHeights(cb){var heights=[];for(var i=0,len=this.$watched.length;i0;this.isNested=this.$element.parentsUntil(document.body,'[data-equalizer]').length>0;this.isOn=false;this._bindHandler={onResizeMeBound:this._onResizeMe.bind(this),onPostEqualizedBound:this._onPostEqualized.bind(this)};var imgs=this.$element.find('img');var tooSmall;if(this.options.equalizeOn){tooSmall=this._checkMQ();__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).on('changed.zf.mediaquery',this._checkMQ.bind(this));}else{this._events();}if(tooSmall!==undefined&&tooSmall===false||tooSmall===undefined){if(imgs.length){__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__foundation_util_imageLoader__["onImagesLoaded"])(imgs,this._reflow.bind(this));}else{this._reflow();}}}/**
+ * Removes event listeners if the breakpoint is too small.
+ * @private
+ */},{key:'_pauseEvents',value:function _pauseEvents(){this.isOn=false;this.$element.off({'.zf.equalizer':this._bindHandler.onPostEqualizedBound,'resizeme.zf.trigger':this._bindHandler.onResizeMeBound,'mutateme.zf.trigger':this._bindHandler.onResizeMeBound});}/**
+ * function to handle $elements resizeme.zf.trigger, with bound this on _bindHandler.onResizeMeBound
+ * @private
+ */},{key:'_onResizeMe',value:function _onResizeMe(e){this._reflow();}/**
+ * function to handle $elements postequalized.zf.equalizer, with bound this on _bindHandler.onPostEqualizedBound
+ * @private
+ */},{key:'_onPostEqualized',value:function _onPostEqualized(e){if(e.target!==this.$element[0]){this._reflow();}}/**
+ * Initializes events for Equalizer.
+ * @private
+ */},{key:'_events',value:function _events(){var _this=this;this._pauseEvents();if(this.hasNested){this.$element.on('postequalized.zf.equalizer',this._bindHandler.onPostEqualizedBound);}else{this.$element.on('resizeme.zf.trigger',this._bindHandler.onResizeMeBound);this.$element.on('mutateme.zf.trigger',this._bindHandler.onResizeMeBound);}this.isOn=true;}/**
+ * Checks the current breakpoint to the minimum required size.
+ * @private
+ */},{key:'_checkMQ',value:function _checkMQ(){var tooSmall=!__WEBPACK_IMPORTED_MODULE_1__foundation_util_mediaQuery__["MediaQuery"].is(this.options.equalizeOn);if(tooSmall){if(this.isOn){this._pauseEvents();this.$watched.css('height','auto');}}else{if(!this.isOn){this._events();}}return tooSmall;}/**
+ * A noop version for the plugin
+ * @private
+ */},{key:'_killswitch',value:function _killswitch(){return;}/**
+ * Calls necessary functions to update Equalizer upon DOM change
+ * @private
+ */},{key:'_reflow',value:function _reflow(){if(!this.options.equalizeOnStack){if(this._isStacked()){this.$watched.css('height','auto');return false;}}if(this.options.equalizeByRow){this.getHeightsByRow(this.applyHeightByRow.bind(this));}else{this.getHeights(this.applyHeight.bind(this));}}/**
+ * Manually determines if the first 2 elements are *NOT* stacked.
+ * @private
+ */},{key:'_isStacked',value:function _isStacked(){if(!this.$watched[0]||!this.$watched[1]){return true;}return this.$watched[0].getBoundingClientRect().top!==this.$watched[1].getBoundingClientRect().top;}/**
+ * Finds the outer heights of children contained within an Equalizer parent and returns them in an array
+ * @param {Function} cb - A non-optional callback to return the heights array to.
+ * @returns {Array} heights - An array of heights of children within Equalizer container
+ */},{key:'getHeights',value:function getHeights(cb){var heights=[];for(var i=0,len=this.$watched.length;i1){this.geoSync();}if(this.options.accessible){// allow wrapper to be focusable to enable arrow navigation
this.$wrapper.attr('tabindex',0);}}/**
- * Creates a jQuery collection of bullets, if they are being used.
- * @function
- * @private
- */},{key:'_loadBullets',value:function _loadBullets(){this.$bullets=this.$element.find('.'+this.options.boxOfBullets).find('button');}/**
- * Sets a `timer` object on the orbit, and starts the counter for the next slide.
- * @function
- */},{key:'geoSync',value:function geoSync(){var _this=this;this.timer=new Foundation.Timer(this.$element,{duration:this.options.timerDelay,infinite:false},function(){_this.changeSlide(true);});this.timer.start();}/**
- * Sets wrapper and slide heights for the orbit.
- * @function
- * @private
- */},{key:'_prepareForOrbit',value:function _prepareForOrbit(){var _this=this;this._setWrapperHeight();}/**
- * Calulates the height of each slide in the collection, and uses the tallest one for the wrapper height.
- * @function
- * @private
- * @param {Function} cb - a callback function to fire when complete.
- */},{key:'_setWrapperHeight',value:function _setWrapperHeight(cb){//rewrite this to `for` loop
-var max=0,temp,counter=0,_this=this;this.$slides.each(function(){temp=this.getBoundingClientRect().height;$(this).attr('data-slide',counter);if(_this.$slides.filter('.is-active')[0]!==_this.$slides.eq(counter)[0]){//if not the active slide, set css position and display property
-$(this).css({'position':'relative','display':'none'});}max=temp>max?temp:max;counter++;});if(counter===this.$slides.length){this.$wrapper.css({'height':max});//only change the wrapper height property once.
+ * Creates a jQuery collection of bullets, if they are being used.
+ * @function
+ * @private
+ */},{key:'_loadBullets',value:function _loadBullets(){this.$bullets=this.$element.find('.'+this.options.boxOfBullets).find('button');}/**
+ * Sets a `timer` object on the orbit, and starts the counter for the next slide.
+ * @function
+ */},{key:'geoSync',value:function geoSync(){var _this=this;this.timer=new __WEBPACK_IMPORTED_MODULE_3__foundation_util_timer__["Timer"](this.$element,{duration:this.options.timerDelay,infinite:false},function(){_this.changeSlide(true);});this.timer.start();}/**
+ * Sets wrapper and slide heights for the orbit.
+ * @function
+ * @private
+ */},{key:'_prepareForOrbit',value:function _prepareForOrbit(){var _this=this;this._setWrapperHeight();}/**
+ * Calulates the height of each slide in the collection, and uses the tallest one for the wrapper height.
+ * @function
+ * @private
+ * @param {Function} cb - a callback function to fire when complete.
+ */},{key:'_setWrapperHeight',value:function _setWrapperHeight(cb){//rewrite this to `for` loop
+var max=0,temp,counter=0,_this=this;this.$slides.each(function(){temp=this.getBoundingClientRect().height;__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).attr('data-slide',counter);if(!/mui/g.test(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this)[0].className)&&_this.$slides.filter('.is-active')[0]!==_this.$slides.eq(counter)[0]){//if not the active slide, set css position and display property
+__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).css({'position':'relative','display':'none'});}max=temp>max?temp:max;counter++;});if(counter===this.$slides.length){this.$wrapper.css({'height':max});//only change the wrapper height property once.
if(cb){cb(max);}//fire callback with max height dimension.
}}/**
- * Sets the max-height of each slide.
- * @function
- * @private
- */},{key:'_setSlideHeight',value:function _setSlideHeight(height){this.$slides.each(function(){$(this).css('max-height',height);});}/**
- * Adds event listeners to basically everything within the element.
- * @function
- * @private
- */},{key:'_events',value:function _events(){var _this=this;//***************************************
+ * Sets the max-height of each slide.
+ * @function
+ * @private
+ */},{key:'_setSlideHeight',value:function _setSlideHeight(height){this.$slides.each(function(){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).css('max-height',height);});}/**
+ * Adds event listeners to basically everything within the element.
+ * @function
+ * @private
+ */},{key:'_events',value:function _events(){var _this=this;//***************************************
//**Now using custom event - thanks to:**
//** Yohai Ararat of Toronto **
//***************************************
//
this.$element.off('.resizeme.zf.trigger').on({'resizeme.zf.trigger':this._prepareForOrbit.bind(this)});if(this.$slides.length>1){if(this.options.swipe){this.$slides.off('swipeleft.zf.orbit swiperight.zf.orbit').on('swipeleft.zf.orbit',function(e){e.preventDefault();_this.changeSlide(true);}).on('swiperight.zf.orbit',function(e){e.preventDefault();_this.changeSlide(false);});}//***************************************
if(this.options.autoPlay){this.$slides.on('click.zf.orbit',function(){_this.$element.data('clickedOn',_this.$element.data('clickedOn')?false:true);_this.timer[_this.$element.data('clickedOn')?'pause':'start']();});if(this.options.pauseOnHover){this.$element.on('mouseenter.zf.orbit',function(){_this.timer.pause();}).on('mouseleave.zf.orbit',function(){if(!_this.$element.data('clickedOn')){_this.timer.start();}});}}if(this.options.navButtons){var $controls=this.$element.find('.'+this.options.nextClass+', .'+this.options.prevClass);$controls.attr('tabindex',0)//also need to handle enter/return and spacebar key presses
-.on('click.zf.orbit touchend.zf.orbit',function(e){e.preventDefault();_this.changeSlide($(this).hasClass(_this.options.nextClass));});}if(this.options.bullets){this.$bullets.on('click.zf.orbit touchend.zf.orbit',function(){if(/is-active/g.test(this.className)){return false;}//if this is active, kick out of function.
-var idx=$(this).data('slide'),ltr=idx>_this.$slides.filter('.is-active').data('slide'),$slide=_this.$slides.eq(idx);_this.changeSlide(ltr,$slide,idx);});}if(this.options.accessible){this.$wrapper.add(this.$bullets).on('keydown.zf.orbit',function(e){// handle keyboard event with keyboard util
-Foundation.Keyboard.handleKey(e,'Orbit',{next:function next(){_this.changeSlide(true);},previous:function previous(){_this.changeSlide(false);},handled:function handled(){// if bullet is focused, make sure focus moves
-if($(e.target).is(_this.$bullets)){_this.$bullets.filter('.is-active').focus();}}});});}}}/**
- * Resets Orbit so it can be reinitialized
- */},{key:'_reset',value:function _reset(){// Don't do anything if there are no slides (first run)
+.on('click.zf.orbit touchend.zf.orbit',function(e){e.preventDefault();_this.changeSlide(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).hasClass(_this.options.nextClass));});}if(this.options.bullets){this.$bullets.on('click.zf.orbit touchend.zf.orbit',function(){if(/is-active/g.test(this.className)){return false;}//if this is active, kick out of function.
+var idx=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('slide'),ltr=idx>_this.$slides.filter('.is-active').data('slide'),$slide=_this.$slides.eq(idx);_this.changeSlide(ltr,$slide,idx);});}if(this.options.accessible){this.$wrapper.add(this.$bullets).on('keydown.zf.orbit',function(e){// handle keyboard event with keyboard util
+__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["Keyboard"].handleKey(e,'Orbit',{next:function next(){_this.changeSlide(true);},previous:function previous(){_this.changeSlide(false);},handled:function handled(){// if bullet is focused, make sure focus moves
+if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(e.target).is(_this.$bullets)){_this.$bullets.filter('.is-active').focus();}}});});}}}/**
+ * Resets Orbit so it can be reinitialized
+ */},{key:'_reset',value:function _reset(){// Don't do anything if there are no slides (first run)
if(typeof this.$slides=='undefined'){return;}if(this.$slides.length>1){// Remove old events
this.$element.off('.zf.orbit').find('*').off('.zf.orbit');// Restart timer if autoPlay is enabled
if(this.options.autoPlay){this.timer.restart();}// Reset all sliddes
-this.$slides.each(function(el){$(el).removeClass('is-active is-active is-in').removeAttr('aria-live').hide();});// Show the first slide
+this.$slides.each(function(el){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(el).removeClass('is-active is-active is-in').removeAttr('aria-live').hide();});// Show the first slide
this.$slides.first().addClass('is-active').show();// Triggers when the slide has finished animating
this.$element.trigger('slidechange.zf.orbit',[this.$slides.first()]);// Select first bullet if bullets are present
if(this.options.bullets){this._updateBullets(0);}}}/**
- * Changes the current slide to a new one.
- * @function
- * @param {Boolean} isLTR - flag if the slide should move left to right.
- * @param {jQuery} chosenSlide - the jQuery element of the slide to show next, if one is selected.
- * @param {Number} idx - the index of the new slide in its collection, if one chosen.
- * @fires Orbit#slidechange
- */},{key:'changeSlide',value:function changeSlide(isLTR,chosenSlide,idx){if(!this.$slides){return;}// Don't freak out if we're in the middle of cleanup
+ * Changes the current slide to a new one.
+ * @function
+ * @param {Boolean} isLTR - flag if the slide should move left to right.
+ * @param {jQuery} chosenSlide - the jQuery element of the slide to show next, if one is selected.
+ * @param {Number} idx - the index of the new slide in its collection, if one chosen.
+ * @fires Orbit#slidechange
+ */},{key:'changeSlide',value:function changeSlide(isLTR,chosenSlide,idx){if(!this.$slides){return;}// Don't freak out if we're in the middle of cleanup
var $curSlide=this.$slides.filter('.is-active').eq(0);if(/mui/g.test($curSlide[0].className)){return false;}//if the slide is currently animating, kick out of the function
var $firstSlide=this.$slides.first(),$lastSlide=this.$slides.last(),dirIn=isLTR?'Right':'Left',dirOut=isLTR?'Left':'Right',_this=this,$newSlide;if(!chosenSlide){//most of the time, this will be auto played or clicked from the navButtons.
$newSlide=isLTR?//if wrapping enabled, check to see if there is a `next` or `prev` sibling, if not, select the first or last slide to fill in. if wrapping not enabled, attempt to select `next` or `prev`, if there's nothing there, the function will kick out on next step. CRAZY NESTED TERNARIES!!!!!
this.options.infiniteWrap?$curSlide.next('.'+this.options.slideClass).length?$curSlide.next('.'+this.options.slideClass):$firstSlide:$curSlide.next('.'+this.options.slideClass)://pick next slide if moving left to right
this.options.infiniteWrap?$curSlide.prev('.'+this.options.slideClass).length?$curSlide.prev('.'+this.options.slideClass):$lastSlide:$curSlide.prev('.'+this.options.slideClass);//pick prev slide if moving right to left
}else{$newSlide=chosenSlide;}if($newSlide.length){/**
- * Triggers before the next slide starts animating in and only if a next slide has been found.
- * @event Orbit#beforeslidechange
- */this.$element.trigger('beforeslidechange.zf.orbit',[$curSlide,$newSlide]);if(this.options.bullets){idx=idx||this.$slides.index($newSlide);//grab index to update bullets
-this._updateBullets(idx);}if(this.options.useMUI&&!this.$element.is(':hidden')){Foundation.Motion.animateIn($newSlide.addClass('is-active').css({'position':'absolute','top':0}),this.options['animInFrom'+dirIn],function(){$newSlide.css({'position':'relative','display':'block'}).attr('aria-live','polite');});Foundation.Motion.animateOut($curSlide.removeClass('is-active'),this.options['animOutTo'+dirOut],function(){$curSlide.removeAttr('aria-live');if(_this.options.autoPlay&&!_this.timer.isPaused){_this.timer.restart();}//do stuff?
+ * Triggers before the next slide starts animating in and only if a next slide has been found.
+ * @event Orbit#beforeslidechange
+ */this.$element.trigger('beforeslidechange.zf.orbit',[$curSlide,$newSlide]);if(this.options.bullets){idx=idx||this.$slides.index($newSlide);//grab index to update bullets
+this._updateBullets(idx);}if(this.options.useMUI&&!this.$element.is(':hidden')){__WEBPACK_IMPORTED_MODULE_2__foundation_util_motion__["Motion"].animateIn($newSlide.addClass('is-active').css({'position':'absolute','top':0}),this.options['animInFrom'+dirIn],function(){$newSlide.css({'position':'relative','display':'block'}).attr('aria-live','polite');});__WEBPACK_IMPORTED_MODULE_2__foundation_util_motion__["Motion"].animateOut($curSlide.removeClass('is-active'),this.options['animOutTo'+dirOut],function(){$curSlide.removeAttr('aria-live');if(_this.options.autoPlay&&!_this.timer.isPaused){_this.timer.restart();}//do stuff?
});}else{$curSlide.removeClass('is-active is-in').removeAttr('aria-live').hide();$newSlide.addClass('is-active is-in').attr('aria-live','polite').show();if(this.options.autoPlay&&!this.timer.isPaused){this.timer.restart();}}/**
- * Triggers when the slide has finished animating in.
- * @event Orbit#slidechange
- */this.$element.trigger('slidechange.zf.orbit',[$newSlide]);}}/**
- * Updates the active state of the bullets, if displayed.
- * @function
- * @private
- * @param {Number} idx - the index of the current slide.
- */},{key:'_updateBullets',value:function _updateBullets(idx){var $oldBullet=this.$element.find('.'+this.options.boxOfBullets).find('.is-active').removeClass('is-active').blur(),span=$oldBullet.find('span:last').detach(),$newBullet=this.$bullets.eq(idx).addClass('is-active').append(span);}/**
- * Destroys the carousel and hides the element.
- * @function
- */},{key:'destroy',value:function destroy(){this.$element.off('.zf.orbit').find('*').off('.zf.orbit').end().hide();Foundation.unregisterPlugin(this);}}]);return Orbit;}();Orbit.defaults={/**
+ * Triggers when the slide has finished animating in.
+ * @event Orbit#slidechange
+ */this.$element.trigger('slidechange.zf.orbit',[$newSlide]);}}/**
+ * Updates the active state of the bullets, if displayed.
+ * @function
+ * @private
+ * @param {Number} idx - the index of the current slide.
+ */},{key:'_updateBullets',value:function _updateBullets(idx){var $oldBullet=this.$element.find('.'+this.options.boxOfBullets).find('.is-active').removeClass('is-active').blur(),span=$oldBullet.find('span:last').detach(),$newBullet=this.$bullets.eq(idx).addClass('is-active').append(span);}/**
+ * Destroys the carousel and hides the element.
+ * @function
+ */},{key:'_destroy',value:function _destroy(){this.$element.off('.zf.orbit').find('*').off('.zf.orbit').end().hide();}}]);return Orbit;}(__WEBPACK_IMPORTED_MODULE_6__foundation_plugin__["Plugin"]);Orbit.defaults={/**
* Tells the JS to look for and loadBullets.
* @option
* @type {boolean}
@@ -961,41 +1045,59 @@ this._updateBullets(idx);}if(this.options.useMUI&&!this.$element.is(':hidden')){
* @option
* @type {boolean}
* @default true
- */useMUI:true};// Window exports
-Foundation.plugin(Orbit,'Orbit');}(jQuery);
-'use strict';var _createClass=function(){function defineProperties(target,props){for(var i=0;i').addClass('reveal-overlay').appendTo(this.options.appendTo);}/**
- * Updates position of modal
- * TODO: Figure out if we actually need to cache these values or if it doesn't matter
- * @private
- */},{key:'_updatePosition',value:function _updatePosition(){var width=this.$element.outerWidth();var outerWidth=$(window).width();var height=this.$element.outerHeight();var outerHeight=$(window).height();var left,top;if(this.options.hOffset==='auto'){left=parseInt((outerWidth-width)/2,10);}else{left=parseInt(this.options.hOffset,10);}if(this.options.vOffset==='auto'){if(height>outerHeight){top=parseInt(Math.min(100,outerHeight/10),10);}else{top=parseInt((outerHeight-height)/4,10);}}else{top=parseInt(this.options.vOffset,10);}this.$element.css({top:top+'px'});// only worry about left if we don't have an overlay or we havea horizontal offset,
+ */var Reveal=function(_Plugin){_inherits(Reveal,_Plugin);function Reveal(){_classCallCheck(this,Reveal);return _possibleConstructorReturn(this,(Reveal.__proto__||Object.getPrototypeOf(Reveal)).apply(this,arguments));}_createClass(Reveal,[{key:'_setup',/**
+ * Creates a new instance of Reveal.
+ * @class
+ * @name Reveal
+ * @param {jQuery} element - jQuery object to use for the modal.
+ * @param {Object} options - optional parameters.
+ */value:function _setup(element,options){this.$element=element;this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({},Reveal.defaults,this.$element.data(),options);this.className='Reveal';// ie9 back compat
+this._init();// Triggers init is idempotent, just need to make sure it is initialized
+__WEBPACK_IMPORTED_MODULE_5__foundation_util_triggers__["a"/* Triggers */].init(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["Keyboard"].register('Reveal',{'ESCAPE':'close'});}/**
+ * Initializes the modal by adding the overlay and close buttons, (if selected).
+ * @private
+ */},{key:'_init',value:function _init(){__WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__["MediaQuery"]._init();this.id=this.$element.attr('id');this.isActive=false;this.cached={mq:__WEBPACK_IMPORTED_MODULE_2__foundation_util_mediaQuery__["MediaQuery"].current};this.isMobile=mobileSniff();this.$anchor=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-open="'+this.id+'"]').length?__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-open="'+this.id+'"]'):__WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-toggle="'+this.id+'"]');this.$anchor.attr({'aria-controls':this.id,'aria-haspopup':true,'tabindex':0});if(this.options.fullScreen||this.$element.hasClass('full')){this.options.fullScreen=true;this.options.overlay=false;}if(this.options.overlay&&!this.$overlay){this.$overlay=this._makeOverlay(this.id);}this.$element.attr({'role':'dialog','aria-hidden':true,'data-yeti-box':this.id,'data-resize':this.id});if(this.$overlay){this.$element.detach().appendTo(this.$overlay);}else{this.$element.detach().appendTo(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.options.appendTo));this.$element.addClass('without-overlay');}this._events();if(this.options.deepLink&&window.location.hash==='#'+this.id){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).one('load.zf.reveal',this.open.bind(this));}}/**
+ * Creates an overlay div to display behind the modal.
+ * @private
+ */},{key:'_makeOverlay',value:function _makeOverlay(){var additionalOverlayClasses='';if(this.options.additionalOverlayClasses){additionalOverlayClasses=' '+this.options.additionalOverlayClasses;}return __WEBPACK_IMPORTED_MODULE_0_jquery___default()('').addClass('reveal-overlay'+additionalOverlayClasses).appendTo(this.options.appendTo);}/**
+ * Updates position of modal
+ * TODO: Figure out if we actually need to cache these values or if it doesn't matter
+ * @private
+ */},{key:'_updatePosition',value:function _updatePosition(){var width=this.$element.outerWidth();var outerWidth=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).width();var height=this.$element.outerHeight();var outerHeight=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).height();var left,top;if(this.options.hOffset==='auto'){left=parseInt((outerWidth-width)/2,10);}else{left=parseInt(this.options.hOffset,10);}if(this.options.vOffset==='auto'){if(height>outerHeight){top=parseInt(Math.min(100,outerHeight/10),10);}else{top=parseInt((outerHeight-height)/4,10);}}else{top=parseInt(this.options.vOffset,10);}this.$element.css({top:top+'px'});// only worry about left if we don't have an overlay or we havea horizontal offset,
// otherwise we're perfectly in the middle
if(!this.$overlay||this.options.hOffset!=='auto'){this.$element.css({left:left+'px'});this.$element.css({margin:'0px'});}}/**
- * Adds event handlers for the modal.
- * @private
- */},{key:'_events',value:function _events(){var _this2=this;var _this=this;this.$element.on({'open.zf.trigger':this.open.bind(this),'close.zf.trigger':function closeZfTrigger(event,$element){if(event.target===_this.$element[0]||$(event.target).parents('[data-closable]')[0]===$element){// only close reveal when it's explicitly called
-return _this2.close.apply(_this2);}},'toggle.zf.trigger':this.toggle.bind(this),'resizeme.zf.trigger':function resizemeZfTrigger(){_this._updatePosition();}});if(this.$anchor.length){this.$anchor.on('keydown.zf.reveal',function(e){if(e.which===13||e.which===32){e.stopPropagation();e.preventDefault();_this.open();}});}if(this.options.closeOnClick&&this.options.overlay){this.$overlay.off('.zf.reveal').on('click.zf.reveal',function(e){if(e.target===_this.$element[0]||$.contains(_this.$element[0],e.target)||!$.contains(document,e.target)){return;}_this.close();});}if(this.options.deepLink){$(window).on('popstate.zf.reveal:'+this.id,this._handleState.bind(this));}}/**
- * Handles modal methods on back/forward button clicks or any other event that triggers popstate.
- * @private
- */},{key:'_handleState',value:function _handleState(e){if(window.location.hash==='#'+this.id&&!this.isActive){this.open();}else{this.close();}}/**
- * Opens the modal controlled by `this.$anchor`, and closes all others by default.
- * @function
- * @fires Reveal#closeme
- * @fires Reveal#open
- */},{key:'open',value:function open(){var _this3=this;if(this.options.deepLink){var hash='#'+this.id;if(window.history.pushState){window.history.pushState(null,null,hash);}else{window.location.hash=hash;}}this.isActive=true;// Make elements invisible, but remove display: none so we can get size and positioning
+ * Adds event handlers for the modal.
+ * @private
+ */},{key:'_events',value:function _events(){var _this3=this;var _this=this;this.$element.on({'open.zf.trigger':this.open.bind(this),'close.zf.trigger':function closeZfTrigger(event,$element){if(event.target===_this.$element[0]||__WEBPACK_IMPORTED_MODULE_0_jquery___default()(event.target).parents('[data-closable]')[0]===$element){// only close reveal when it's explicitly called
+return _this3.close.apply(_this3);}},'toggle.zf.trigger':this.toggle.bind(this),'resizeme.zf.trigger':function resizemeZfTrigger(){_this._updatePosition();}});if(this.options.closeOnClick&&this.options.overlay){this.$overlay.off('.zf.reveal').on('click.zf.reveal',function(e){if(e.target===_this.$element[0]||__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.contains(_this.$element[0],e.target)||!__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.contains(document,e.target)){return;}_this.close();});}if(this.options.deepLink){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).on('popstate.zf.reveal:'+this.id,this._handleState.bind(this));}}/**
+ * Handles modal methods on back/forward button clicks or any other event that triggers popstate.
+ * @private
+ */},{key:'_handleState',value:function _handleState(e){if(window.location.hash==='#'+this.id&&!this.isActive){this.open();}else{this.close();}}/**
+ * Opens the modal controlled by `this.$anchor`, and closes all others by default.
+ * @function
+ * @fires Reveal#closeme
+ * @fires Reveal#open
+ */},{key:'open',value:function open(){var _this4=this;// either update or replace browser history
+if(this.options.deepLink){var hash='#'+this.id;if(window.history.pushState){if(this.options.updateHistory){window.history.pushState({},'',hash);}else{window.history.replaceState({},'',hash);}}else{window.location.hash=hash;}}this.isActive=true;// Make elements invisible, but remove display: none so we can get size and positioning
this.$element.css({'visibility':'hidden'}).show().scrollTop(0);if(this.options.overlay){this.$overlay.css({'visibility':'hidden'}).show();}this._updatePosition();this.$element.hide().css({'visibility':''});if(this.$overlay){this.$overlay.css({'visibility':''}).hide();if(this.$element.hasClass('fast')){this.$overlay.addClass('fast');}else if(this.$element.hasClass('slow')){this.$overlay.addClass('slow');}}if(!this.options.multipleOpened){/**
- * Fires immediately before the modal opens.
- * Closes any other modals that are currently open
- * @event Reveal#closeme
- */this.$element.trigger('closeme.zf.reveal',this.id);}var _this=this;function addRevealOpenClasses(){if(_this.isMobile){if(!_this.originalScrollPos){_this.originalScrollPos=window.pageYOffset;}$('html, body').addClass('is-reveal-open');}else{$('body').addClass('is-reveal-open');}}// Motion UI method of reveal
-if(this.options.animationIn){var afterAnimation=function afterAnimation(){_this.$element.attr({'aria-hidden':false,'tabindex':-1}).focus();addRevealOpenClasses();Foundation.Keyboard.trapFocus(_this.$element);};if(this.options.overlay){Foundation.Motion.animateIn(this.$overlay,'fade-in');}Foundation.Motion.animateIn(this.$element,this.options.animationIn,function(){if(_this3.$element){// protect against object having been removed
-_this3.focusableElements=Foundation.Keyboard.findFocusable(_this3.$element);afterAnimation();}});}// jQuery method of reveal
+ * Fires immediately before the modal opens.
+ * Closes any other modals that are currently open
+ * @event Reveal#closeme
+ */this.$element.trigger('closeme.zf.reveal',this.id);}var _this=this;function addRevealOpenClasses(){if(_this.isMobile){if(!_this.originalScrollPos){_this.originalScrollPos=window.pageYOffset;}__WEBPACK_IMPORTED_MODULE_0_jquery___default()('html, body').addClass('is-reveal-open');}else{__WEBPACK_IMPORTED_MODULE_0_jquery___default()('body').addClass('is-reveal-open');}}// Motion UI method of reveal
+if(this.options.animationIn){var afterAnimation=function afterAnimation(){_this.$element.attr({'aria-hidden':false,'tabindex':-1}).focus();addRevealOpenClasses();__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["Keyboard"].trapFocus(_this.$element);};if(this.options.overlay){__WEBPACK_IMPORTED_MODULE_3__foundation_util_motion__["Motion"].animateIn(this.$overlay,'fade-in');}__WEBPACK_IMPORTED_MODULE_3__foundation_util_motion__["Motion"].animateIn(this.$element,this.options.animationIn,function(){if(_this4.$element){// protect against object having been removed
+_this4.focusableElements=__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["Keyboard"].findFocusable(_this4.$element);afterAnimation();}});}// jQuery method of reveal
else{if(this.options.overlay){this.$overlay.show(0);}this.$element.show(this.options.showDelay);}// handle accessibility
-this.$element.attr({'aria-hidden':false,'tabindex':-1}).focus();Foundation.Keyboard.trapFocus(this.$element);/**
- * Fires when the modal has successfully opened.
- * @event Reveal#open
- */this.$element.trigger('open.zf.reveal');addRevealOpenClasses();setTimeout(function(){_this3._extraHandlers();},0);}/**
- * Adds extra event handlers for the body and window if necessary.
- * @private
- */},{key:'_extraHandlers',value:function _extraHandlers(){var _this=this;if(!this.$element){return;}// If we're in the middle of cleanup, don't freak out
-this.focusableElements=Foundation.Keyboard.findFocusable(this.$element);if(!this.options.overlay&&this.options.closeOnClick&&!this.options.fullScreen){$('body').on('click.zf.reveal',function(e){if(e.target===_this.$element[0]||$.contains(_this.$element[0],e.target)||!$.contains(document,e.target)){return;}_this.close();});}if(this.options.closeOnEsc){$(window).on('keydown.zf.reveal',function(e){Foundation.Keyboard.handleKey(e,'Reveal',{close:function close(){if(_this.options.closeOnEsc){_this.close();_this.$anchor.focus();}}});});}// lock focus within modal while tabbing
-this.$element.on('keydown.zf.reveal',function(e){var $target=$(this);// handle keyboard event with keyboard util
-Foundation.Keyboard.handleKey(e,'Reveal',{open:function open(){if(_this.$element.find(':focus').is(_this.$element.find('[data-close]'))){setTimeout(function(){// set focus back to anchor if close button has been activated
-_this.$anchor.focus();},1);}else if($target.is(_this.focusableElements)){// dont't trigger if acual element has focus (i.e. inputs, links, ...)
-_this.open();}},close:function close(){if(_this.options.closeOnEsc){_this.close();_this.$anchor.focus();}},handled:function handled(preventDefault){if(preventDefault){e.preventDefault();}}});});}/**
- * Closes the modal.
- * @function
- * @fires Reveal#closed
- */},{key:'close',value:function close(){if(!this.isActive||!this.$element.is(':visible')){return false;}var _this=this;// Motion UI method of hiding
-if(this.options.animationOut){if(this.options.overlay){Foundation.Motion.animateOut(this.$overlay,'fade-out',finishUp);}else{finishUp();}Foundation.Motion.animateOut(this.$element,this.options.animationOut);}// jQuery method of hiding
+this.$element.attr({'aria-hidden':false,'tabindex':-1}).focus();__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["Keyboard"].trapFocus(this.$element);addRevealOpenClasses();this._extraHandlers();/**
+ * Fires when the modal has successfully opened.
+ * @event Reveal#open
+ */this.$element.trigger('open.zf.reveal');}/**
+ * Adds extra event handlers for the body and window if necessary.
+ * @private
+ */},{key:'_extraHandlers',value:function _extraHandlers(){var _this=this;if(!this.$element){return;}// If we're in the middle of cleanup, don't freak out
+this.focusableElements=__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["Keyboard"].findFocusable(this.$element);if(!this.options.overlay&&this.options.closeOnClick&&!this.options.fullScreen){__WEBPACK_IMPORTED_MODULE_0_jquery___default()('body').on('click.zf.reveal',function(e){if(e.target===_this.$element[0]||__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.contains(_this.$element[0],e.target)||!__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.contains(document,e.target)){return;}_this.close();});}if(this.options.closeOnEsc){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).on('keydown.zf.reveal',function(e){__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["Keyboard"].handleKey(e,'Reveal',{close:function close(){if(_this.options.closeOnEsc){_this.close();}}});});}}/**
+ * Closes the modal.
+ * @function
+ * @fires Reveal#closed
+ */},{key:'close',value:function close(){if(!this.isActive||!this.$element.is(':visible')){return false;}var _this=this;// Motion UI method of hiding
+if(this.options.animationOut){if(this.options.overlay){__WEBPACK_IMPORTED_MODULE_3__foundation_util_motion__["Motion"].animateOut(this.$overlay,'fade-out');}__WEBPACK_IMPORTED_MODULE_3__foundation_util_motion__["Motion"].animateOut(this.$element,this.options.animationOut,finishUp);}// jQuery method of hiding
else{this.$element.hide(this.options.hideDelay);if(this.options.overlay){this.$overlay.hide(0,finishUp);}else{finishUp();}}// Conditionals to remove extra event listeners added on open
-if(this.options.closeOnEsc){$(window).off('keydown.zf.reveal');}if(!this.options.overlay&&this.options.closeOnClick){$('body').off('click.zf.reveal');}this.$element.off('keydown.zf.reveal');function finishUp(){if(_this.isMobile){if($('.reveal:visible').length===0){$('html, body').removeClass('is-reveal-open');}if(_this.originalScrollPos){$('body').scrollTop(_this.originalScrollPos);_this.originalScrollPos=null;}}else{if($('.reveal:visible').length===0){$('body').removeClass('is-reveal-open');}}Foundation.Keyboard.releaseFocus(_this.$element);_this.$element.attr('aria-hidden',true);/**
- * Fires when the modal is done closing.
- * @event Reveal#closed
- */_this.$element.trigger('closed.zf.reveal');}/**
- * Resets the modal content
- * This prevents a running video to keep going in the background
- */if(this.options.resetOnClose){this.$element.html(this.$element.html());}this.isActive=false;if(_this.options.deepLink){if(window.history.replaceState){window.history.replaceState('',document.title,window.location.href.replace('#'+this.id,''));}else{window.location.hash='';}}}/**
- * Toggles the open/closed state of a modal.
- * @function
- */},{key:'toggle',value:function toggle(){if(this.isActive){this.close();}else{this.open();}}},{key:'destroy',/**
- * Destroys an instance of a modal.
- * @function
- */value:function destroy(){if(this.options.overlay){this.$element.appendTo($(this.options.appendTo));// move $element outside of $overlay to prevent error unregisterPlugin()
-this.$overlay.hide().off().remove();}this.$element.hide().off();this.$anchor.off('.zf');$(window).off('.zf.reveal:'+this.id);Foundation.unregisterPlugin(this);}}]);return Reveal;}();Reveal.defaults={/**
+if(this.options.closeOnEsc){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off('keydown.zf.reveal');}if(!this.options.overlay&&this.options.closeOnClick){__WEBPACK_IMPORTED_MODULE_0_jquery___default()('body').off('click.zf.reveal');}this.$element.off('keydown.zf.reveal');function finishUp(){if(_this.isMobile){if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()('.reveal:visible').length===0){__WEBPACK_IMPORTED_MODULE_0_jquery___default()('html, body').removeClass('is-reveal-open');}if(_this.originalScrollPos){__WEBPACK_IMPORTED_MODULE_0_jquery___default()('body').scrollTop(_this.originalScrollPos);_this.originalScrollPos=null;}}else{if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()('.reveal:visible').length===0){__WEBPACK_IMPORTED_MODULE_0_jquery___default()('body').removeClass('is-reveal-open');}}__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["Keyboard"].releaseFocus(_this.$element);_this.$element.attr('aria-hidden',true);/**
+ * Fires when the modal is done closing.
+ * @event Reveal#closed
+ */_this.$element.trigger('closed.zf.reveal');}/**
+ * Resets the modal content
+ * This prevents a running video to keep going in the background
+ */if(this.options.resetOnClose){this.$element.html(this.$element.html());}this.isActive=false;if(_this.options.deepLink){if(window.history.replaceState){window.history.replaceState('',document.title,window.location.href.replace('#'+this.id,''));}else{window.location.hash='';}}this.$anchor.focus();}/**
+ * Toggles the open/closed state of a modal.
+ * @function
+ */},{key:'toggle',value:function toggle(){if(this.isActive){this.close();}else{this.open();}}},{key:'_destroy',/**
+ * Destroys an instance of a modal.
+ * @function
+ */value:function _destroy(){if(this.options.overlay){this.$element.appendTo(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.options.appendTo));// move $element outside of $overlay to prevent error unregisterPlugin()
+this.$overlay.hide().off().remove();}this.$element.hide().off();this.$anchor.off('.zf');__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off('.zf.reveal:'+this.id);}}]);return Reveal;}(__WEBPACK_IMPORTED_MODULE_4__foundation_plugin__["Plugin"]);Reveal.defaults={/**
* Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.
* @option
* @type {string}
@@ -1155,12 +1271,38 @@ this.$overlay.hide().off().remove();}this.$element.hide().off();this.$anchor.off
* @type {boolean}
* @default false
*/deepLink:false,/**
- * Allows the modal to append to custom div.
+ * Update the browser history with the open modal
+ * @option
+ * @default false
+ */updateHistory:false,/**
+ * Allows the modal to append to custom div.
+ * @option
+ * @type {string}
+ * @default "body"
+ */appendTo:"body",/**
+ * Allows adding additional class names to the reveal overlay.
* @option
* @type {string}
- * @default "body"
- */appendTo:"body"};// Window exports
-Foundation.plugin(Reveal,'Reveal');function iPhoneSniff(){return /iP(ad|hone|od).*OS/.test(window.navigator.userAgent);}function androidSniff(){return /Android/.test(window.navigator.userAgent);}function mobileSniff(){return iPhoneSniff()||androidSniff();}}(jQuery);
+ * @default ''
+ */additionalOverlayClasses:''};function iPhoneSniff(){return /iP(ad|hone|od).*OS/.test(window.navigator.userAgent);}function androidSniff(){return /Android/.test(window.navigator.userAgent);}function mobileSniff(){return iPhoneSniff()||androidSniff();}/***/},/***/6:/***/function _(module,exports){module.exports={MediaQuery:window.Foundation.MediaQuery};/***/},/***/7:/***/function _(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Triggers;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__=__webpack_require__(0);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__=__webpack_require__(4);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_util_motion___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__);var MutationObserver=function(){var prefixes=['WebKit','Moz','O','Ms',''];for(var i=0;i1?t[1].trim():""}return void 0===e.prototype?e.constructor.name:e.prototype.constructor.name}function i(e){return"true"===e||"false"!==e&&(isNaN(1*e)?e:parseFloat(e))}function n(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}var o={version:"6.3.1",_plugins:{},_uuids:[],rtl:function(){return"rtl"===e("html").attr("dir")},plugin:function(e,i){var o=i||t(e),a=n(o);this._plugins[a]=this[o]=e},registerPlugin:function(e,i){var o=i?n(i):t(e.constructor).toLowerCase();e.uuid=this.GetYoDigits(6,o),e.$element.attr("data-"+o)||e.$element.attr("data-"+o,e.uuid),e.$element.data("zfPlugin")||e.$element.data("zfPlugin",e),e.$element.trigger("init.zf."+o),this._uuids.push(e.uuid)},unregisterPlugin:function(e){var i=n(t(e.$element.data("zfPlugin").constructor));this._uuids.splice(this._uuids.indexOf(e.uuid),1),e.$element.removeAttr("data-"+i).removeData("zfPlugin").trigger("destroyed.zf."+i);for(var o in e)e[o]=null},reInit:function(t){var i=t instanceof e;try{if(i)t.each(function(){e(this).data("zfPlugin")._init()});else{var o=this;({object:function(t){t.forEach(function(t){t=n(t),e("[data-"+t+"]").foundation("_init")})},string:function(){t=n(t),e("[data-"+t+"]").foundation("_init")},undefined:function(){this.object(Object.keys(o._plugins))}})[void 0===t?"undefined":_typeof(t)](t)}}catch(e){console.error(e)}finally{return t}},GetYoDigits:function(e,t){return e=e||6,Math.round(Math.pow(36,e+1)-Math.random()*Math.pow(36,e)).toString(36).slice(1)+(t?"-"+t:"")},reflow:function(t,n){void 0===n?n=Object.keys(this._plugins):"string"==typeof n&&(n=[n]);var o=this;e.each(n,function(n,a){var s=o._plugins[a];e(t).find("[data-"+a+"]").addBack("[data-"+a+"]").each(function(){var t=e(this),n={};if(t.data("zfPlugin"))console.warn("Tried to initialize "+a+" on an element that already has a Foundation plugin.");else{if(t.attr("data-options"))t.attr("data-options").split(";").forEach(function(e,t){var o=e.split(":").map(function(e){return e.trim()});o[0]&&(n[o[0]]=i(o[1]))});try{t.data("zfPlugin",new s(e(this),n))}catch(e){console.error(e)}finally{return}}})})},getFnName:t,transitionend:function(e){var t,i={transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend"},n=document.createElement("div");for(var o in i)void 0!==n.style[o]&&(t=i[o]);return t||(t=setTimeout(function(){e.triggerHandler("transitionend",[e])},1),"transitionend")}};o.util={throttle:function(e,t){var i=null;return function(){var n=this,o=arguments;null===i&&(i=setTimeout(function(){e.apply(n,o),i=null},t))}}};window.Foundation=o,e.fn.foundation=function(i){var n=void 0===i?"undefined":_typeof(i),a=e("meta.foundation-mq"),s=e(".no-js");if(a.length||e('').appendTo(document.head),s.length&&s.removeClass("no-js"),"undefined"===n)o.MediaQuery._init(),o.reflow(this);else{if("string"!==n)throw new TypeError("We're sorry, "+n+" is not a valid parameter. You must use a string representing the method you wish to invoke.");var r=Array.prototype.slice.call(arguments,1),l=this.data("zfPlugin");if(void 0===l||void 0===l[i])throw new ReferenceError("We're sorry, '"+i+"' is not an available method for "+(l?t(l):"this element")+".");1===this.length?l[i].apply(l,r):this.each(function(t,n){l[i].apply(e(n).data("zfPlugin"),r)})}return this},function(){Date.now&&window.Date.now||(window.Date.now=Date.now=function(){return(new Date).getTime()});for(var e=["webkit","moz"],t=0;t=d.offset.top,r=u.offset.left>=d.offset.left,l=u.offset.left+u.width<=d.width+d.offset.left}else s=u.offset.top+u.height<=u.windowDims.height+u.windowDims.offset.top,a=u.offset.top>=u.windowDims.offset.top,r=u.offset.left>=u.windowDims.offset.left,l=u.offset.left+u.width<=u.windowDims.width;var c=[s,a,r,l];return n?r===l==1:o?a===s==1:-1===c.indexOf(!1)},GetDimensions:t,GetOffsets:function(e,i,n,o,a,s){var r=t(e),l=i?t(i):null;switch(n){case"top":return{left:Foundation.rtl()?l.offset.left-r.width+l.width:l.offset.left,top:l.offset.top-(r.height+o)};case"left":return{left:l.offset.left-(r.width+a),top:l.offset.top};case"right":return{left:l.offset.left+l.width+a,top:l.offset.top};case"center top":return{left:l.offset.left+l.width/2-r.width/2,top:l.offset.top-(r.height+o)};case"center bottom":return{left:s?a:l.offset.left+l.width/2-r.width/2,top:l.offset.top+l.height+o};case"center left":return{left:l.offset.left-(r.width+a),top:l.offset.top+l.height/2-r.height/2};case"center right":return{left:l.offset.left+l.width+a+1,top:l.offset.top+l.height/2-r.height/2};case"center":return{left:r.windowDims.offset.left+r.windowDims.width/2-r.width/2,top:r.windowDims.offset.top+r.windowDims.height/2-r.height/2};case"reveal":return{left:(r.windowDims.width-r.width)/2,top:r.windowDims.offset.top+o};case"reveal full":return{left:r.windowDims.offset.left,top:r.windowDims.offset.top};case"left bottom":return{left:l.offset.left,top:l.offset.top+l.height+o};case"right bottom":return{left:l.offset.left+l.width+a-r.width,top:l.offset.top+l.height+o};default:return{left:Foundation.rtl()?l.offset.left-r.width+l.width:l.offset.left+a,top:l.offset.top+l.height+o}}}}}(jQuery),function(e){var t={9:"TAB",13:"ENTER",27:"ESCAPE",32:"SPACE",37:"ARROW_LEFT",38:"ARROW_UP",39:"ARROW_RIGHT",40:"ARROW_DOWN"},i={},n={keys:function(e){var t={};for(var i in e)t[e[i]]=e[i];return t}(t),parseKey:function(e){var i=t[e.which||e.keyCode]||String.fromCharCode(e.which).toUpperCase();return i=i.replace(/\W+/,""),e.shiftKey&&(i="SHIFT_"+i),e.ctrlKey&&(i="CTRL_"+i),e.altKey&&(i="ALT_"+i),i=i.replace(/_$/,"")},handleKey:function(t,n,o){var a,s,r,l=i[n],u=this.parseKey(t);if(!l)return console.warn("Component not defined!");if(a=void 0===l.ltr?l:Foundation.rtl()?e.extend({},l.ltr,l.rtl):e.extend({},l.rtl,l.ltr),s=a[u],(r=o[s])&&"function"==typeof r){var d=r.apply();(o.handled||"function"==typeof o.handled)&&o.handled(d)}else(o.unhandled||"function"==typeof o.unhandled)&&o.unhandled()},findFocusable:function(t){return!!t&&t.find("a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]").filter(function(){return!(!e(this).is(":visible")||e(this).attr("tabindex")<0)})},register:function(e,t){i[e]=t},trapFocus:function(e){var t=Foundation.Keyboard.findFocusable(e),i=t.eq(0),n=t.eq(-1);e.on("keydown.zf.trapfocus",function(e){e.target===n[0]&&"TAB"===Foundation.Keyboard.parseKey(e)?(e.preventDefault(),i.focus()):e.target===i[0]&&"SHIFT_TAB"===Foundation.Keyboard.parseKey(e)&&(e.preventDefault(),n.focus())})},releaseFocus:function(e){e.off("keydown.zf.trapfocus")}};Foundation.Keyboard=n}(jQuery);var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(e){function t(e){var t={};return"string"!=typeof e?t:(e=e.trim().slice(1,-1))?t=e.split("&").reduce(function(e,t){var i=t.replace(/\+/g," ").split("="),n=i[0],o=i[1];return n=decodeURIComponent(n),o=void 0===o?null:decodeURIComponent(o),e.hasOwnProperty(n)?Array.isArray(e[n])?e[n].push(o):e[n]=[e[n],o]:e[n]=o,e},{}):t}var i={queries:[],current:"",_init:function(){var i,n=this;i=t(e(".foundation-mq").css("font-family"));for(var o in i)i.hasOwnProperty(o)&&n.queries.push({name:o,value:"only screen and (min-width: "+i[o]+")"});this.current=this._getCurrentSize(),this._watcher()},atLeast:function(e){var t=this.get(e);return!!t&&window.matchMedia(t).matches},is:function(e){return(e=e.trim().split(" ")).length>1&&"only"===e[1]?e[0]===this._getCurrentSize():this.atLeast(e[0])},get:function(e){for(var t in this.queries)if(this.queries.hasOwnProperty(t)){var i=this.queries[t];if(e===i.name)return i.value}return null},_getCurrentSize:function(){for(var e,t=0;t1&&void 0!==arguments[1]?arguments[1]:"zf";t.attr("role","menubar");var n=t.find("li").attr({role:"menuitem"}),o="is-"+i+"-submenu",a=o+"-item",s="is-"+i+"-submenu-parent";n.each(function(){var t=e(this),n=t.children("ul");n.length&&(t.addClass(s).attr({"aria-haspopup":!0,"aria-label":t.children("a:first").text()}),"drilldown"===i&&t.attr({"aria-expanded":!1}),n.addClass("submenu "+o).attr({"data-submenu":"",role:"menu"}),"drilldown"===i&&n.attr({"aria-hidden":!0})),t.parent("[data-submenu]").length&&t.addClass("is-submenu-item "+a)})},Burn:function(e,t){var i="is-"+t+"-submenu",n=i+"-item",o="is-"+t+"-submenu-parent";e.find(">li, .menu, .menu > li").removeClass(i+" "+n+" "+o+" is-submenu-item submenu is-active").removeAttr("data-submenu").css("display","")}};Foundation.Nest=t}(jQuery),function(e){Foundation.Timer=function(e,t,i){var n,o,a=this,s=t.duration,r=Object.keys(e.data())[0]||"timer",l=-1;this.isPaused=!1,this.restart=function(){l=-1,clearTimeout(o),this.start()},this.start=function(){this.isPaused=!1,clearTimeout(o),l=l<=0?s:l,e.data("paused",!1),n=Date.now(),o=setTimeout(function(){t.infinite&&a.restart(),i&&"function"==typeof i&&i()},l),e.trigger("timerstart.zf."+r)},this.pause=function(){this.isPaused=!0,clearTimeout(o),e.data("paused",!0);var t=Date.now();l-=t-n,e.trigger("timerpaused.zf."+r)}},Foundation.onImagesLoaded=function(t,i){function n(){0==--o&&i()}var o=t.length;0===o&&i(),t.each(function(){if(this.complete||4===this.readyState||"complete"===this.readyState)n();else{var t=e(this).attr("src");e(this).attr("src",t+(t.indexOf("?")>=0?"&":"?")+(new Date).getTime()),e(this).one("load",function(){n()})}})}}(jQuery),function(e){function t(){this.removeEventListener("touchmove",i),this.removeEventListener("touchend",t),l=!1}function i(i){if(e.spotSwipe.preventDefault&&i.preventDefault(),l){var n,a=i.touches[0].pageX,u=(i.touches[0].pageY,o-a);r=(new Date).getTime()-s,Math.abs(u)>=e.spotSwipe.moveThreshold&&r<=e.spotSwipe.timeThreshold&&(n=u>0?"left":"right"),n&&(i.preventDefault(),t.call(this),e(this).trigger("swipe",n).trigger("swipe"+n))}}function n(e){1==e.touches.length&&(o=e.touches[0].pageX,a=e.touches[0].pageY,l=!0,s=(new Date).getTime(),this.addEventListener("touchmove",i,!1),this.addEventListener("touchend",t,!1))}e.spotSwipe={version:"1.0.0",enabled:"ontouchstart"in document.documentElement,preventDefault:!1,moveThreshold:75,timeThreshold:200};var o,a,s,r,l=!1;e.event.special.swipe={setup:function(){this.addEventListener&&this.addEventListener("touchstart",n,!1)}},e.each(["left","up","down","right"],function(){e.event.special["swipe"+this]={setup:function(){e(this).on("swipe",e.noop)}}})}(jQuery),function(e){e.fn.addTouch=function(){this.each(function(i,n){e(n).bind("touchstart touchmove touchend touchcancel",function(){t(event)})});var t=function(e){var t,i=e.changedTouches[0],n={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup"}[e.type];"MouseEvent"in window&&"function"==typeof window.MouseEvent?t=new window.MouseEvent(n,{bubbles:!0,cancelable:!0,screenX:i.screenX,screenY:i.screenY,clientX:i.clientX,clientY:i.clientY}):(t=document.createEvent("MouseEvent")).initMouseEvent(n,!0,!0,window,1,i.screenX,i.screenY,i.clientX,i.clientY,!1,!1,!1,!1,0,null),i.target.dispatchEvent(t)}}}(jQuery);var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(e){function t(){a(),n(),o(),i()}function i(t){var i=e("[data-yeti-box]"),n=["dropdown","tooltip","reveal"];if(t&&("string"==typeof t?n.push(t):"object"===(void 0===t?"undefined":_typeof(t))&&"string"==typeof t[0]?n.concat(t):console.error("Plugin names must be strings")),i.length){var o=n.map(function(e){return"closeme.zf."+e}).join(" ");e(window).off(o).on(o,function(t,i){var n=t.namespace.split(".")[0];e("[data-"+n+"]").not('[data-yeti-box="'+i+'"]').each(function(){var t=e(this);t.triggerHandler("close.zf.trigger",[t])})})}}function n(t){var i=void 0,n=e("[data-resize]");n.length&&e(window).off("resize.zf.trigger").on("resize.zf.trigger",function(o){i&&clearTimeout(i),i=setTimeout(function(){s||n.each(function(){e(this).triggerHandler("resizeme.zf.trigger")}),n.attr("data-events","resize")},t||10)})}function o(t){var i=void 0,n=e("[data-scroll]");n.length&&e(window).off("scroll.zf.trigger").on("scroll.zf.trigger",function(o){i&&clearTimeout(i),i=setTimeout(function(){s||n.each(function(){e(this).triggerHandler("scrollme.zf.trigger")}),n.attr("data-events","scroll")},t||10)})}function a(){if(!s)return!1;var t=document.querySelectorAll("[data-resize], [data-scroll], [data-mutate]");if(t.length)for(var i=0;i<=t.length-1;i++)new s(function(t){var i=e(t[0].target);switch(t[0].type){case"attributes":"scroll"===i.attr("data-events")&&"data-events"===t[0].attributeName&&i.triggerHandler("scrollme.zf.trigger",[i,window.pageYOffset]),"resize"===i.attr("data-events")&&"data-events"===t[0].attributeName&&i.triggerHandler("resizeme.zf.trigger",[i]),"style"===t[0].attributeName&&(i.closest("[data-mutate]").attr("data-events","mutate"),i.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[i.closest("[data-mutate]")]));break;case"childList":i.closest("[data-mutate]").attr("data-events","mutate"),i.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[i.closest("[data-mutate]")]);break;default:return!1}}).observe(t[i],{attributes:!0,childList:!0,characterData:!1,subtree:!0,attributeFilter:["data-events","style"]})}var s=function(){for(var e=["WebKit","Moz","O","Ms",""],t=0;t0,this.isNested=this.$element.parentsUntil(document.body,"[data-equalizer]").length>0,this.isOn=!1,this._bindHandler={onResizeMeBound:this._onResizeMe.bind(this),onPostEqualizedBound:this._onPostEqualized.bind(this)};var n,o=this.$element.find("img");this.options.equalizeOn?(n=this._checkMQ(),e(window).on("changed.zf.mediaquery",this._checkMQ.bind(this))):this._events(),(void 0!==n&&!1===n||void 0===n)&&(o.length?Foundation.onImagesLoaded(o,this._reflow.bind(this)):this._reflow())}},{key:"_pauseEvents",value:function(){this.isOn=!1,this.$element.off({".zf.equalizer":this._bindHandler.onPostEqualizedBound,"resizeme.zf.trigger":this._bindHandler.onResizeMeBound,"mutateme.zf.trigger":this._bindHandler.onResizeMeBound})}},{key:"_onResizeMe",value:function(e){this._reflow()}},{key:"_onPostEqualized",value:function(e){e.target!==this.$element[0]&&this._reflow()}},{key:"_events",value:function(){this._pauseEvents(),this.hasNested?this.$element.on("postequalized.zf.equalizer",this._bindHandler.onPostEqualizedBound):(this.$element.on("resizeme.zf.trigger",this._bindHandler.onResizeMeBound),this.$element.on("mutateme.zf.trigger",this._bindHandler.onResizeMeBound)),this.isOn=!0}},{key:"_checkMQ",value:function(){var e=!Foundation.MediaQuery.is(this.options.equalizeOn);return e?this.isOn&&(this._pauseEvents(),this.$watched.css("height","auto")):this.isOn||this._events(),e}},{key:"_killswitch",value:function(){}},{key:"_reflow",value:function(){if(!this.options.equalizeOnStack&&this._isStacked())return this.$watched.css("height","auto"),!1;this.options.equalizeByRow?this.getHeightsByRow(this.applyHeightByRow.bind(this)):this.getHeights(this.applyHeight.bind(this))}},{key:"_isStacked",value:function(){return!this.$watched[0]||!this.$watched[1]||this.$watched[0].getBoundingClientRect().top!==this.$watched[1].getBoundingClientRect().top}},{key:"getHeights",value:function(e){for(var t=[],i=0,n=this.$watched.length;i1&&this.geoSync(),this.options.accessible&&this.$wrapper.attr("tabindex",0)}},{key:"_loadBullets",value:function(){this.$bullets=this.$element.find("."+this.options.boxOfBullets).find("button")}},{key:"geoSync",value:function(){var e=this;this.timer=new Foundation.Timer(this.$element,{duration:this.options.timerDelay,infinite:!1},function(){e.changeSlide(!0)}),this.timer.start()}},{key:"_prepareForOrbit",value:function(){this._setWrapperHeight()}},{key:"_setWrapperHeight",value:function(t){var i,n=0,o=0,a=this;this.$slides.each(function(){i=this.getBoundingClientRect().height,e(this).attr("data-slide",o),a.$slides.filter(".is-active")[0]!==a.$slides.eq(o)[0]&&e(this).css({position:"relative",display:"none"}),n=i>n?i:n,o++}),o===this.$slides.length&&(this.$wrapper.css({height:n}),t&&t(n))}},{key:"_setSlideHeight",value:function(t){this.$slides.each(function(){e(this).css("max-height",t)})}},{key:"_events",value:function(){var t=this;this.$element.off(".resizeme.zf.trigger").on({"resizeme.zf.trigger":this._prepareForOrbit.bind(this)}),this.$slides.length>1&&(this.options.swipe&&this.$slides.off("swipeleft.zf.orbit swiperight.zf.orbit").on("swipeleft.zf.orbit",function(e){e.preventDefault(),t.changeSlide(!0)}).on("swiperight.zf.orbit",function(e){e.preventDefault(),t.changeSlide(!1)}),this.options.autoPlay&&(this.$slides.on("click.zf.orbit",function(){t.$element.data("clickedOn",!t.$element.data("clickedOn")),t.timer[t.$element.data("clickedOn")?"pause":"start"]()}),this.options.pauseOnHover&&this.$element.on("mouseenter.zf.orbit",function(){t.timer.pause()}).on("mouseleave.zf.orbit",function(){t.$element.data("clickedOn")||t.timer.start()})),this.options.navButtons&&this.$element.find("."+this.options.nextClass+", ."+this.options.prevClass).attr("tabindex",0).on("click.zf.orbit touchend.zf.orbit",function(i){i.preventDefault(),t.changeSlide(e(this).hasClass(t.options.nextClass))}),this.options.bullets&&this.$bullets.on("click.zf.orbit touchend.zf.orbit",function(){if(/is-active/g.test(this.className))return!1;var i=e(this).data("slide"),n=i>t.$slides.filter(".is-active").data("slide"),o=t.$slides.eq(i);t.changeSlide(n,o,i)}),this.options.accessible&&this.$wrapper.add(this.$bullets).on("keydown.zf.orbit",function(i){Foundation.Keyboard.handleKey(i,"Orbit",{next:function(){t.changeSlide(!0)},previous:function(){t.changeSlide(!1)},handled:function(){e(i.target).is(t.$bullets)&&t.$bullets.filter(".is-active").focus()}})}))}},{key:"_reset",value:function(){void 0!==this.$slides&&this.$slides.length>1&&(this.$element.off(".zf.orbit").find("*").off(".zf.orbit"),this.options.autoPlay&&this.timer.restart(),this.$slides.each(function(t){e(t).removeClass("is-active is-active is-in").removeAttr("aria-live").hide()}),this.$slides.first().addClass("is-active").show(),this.$element.trigger("slidechange.zf.orbit",[this.$slides.first()]),this.options.bullets&&this._updateBullets(0))}},{key:"changeSlide",value:function(e,t,i){if(this.$slides){var n=this.$slides.filter(".is-active").eq(0);if(/mui/g.test(n[0].className))return!1;var o,a=this.$slides.first(),s=this.$slides.last(),r=e?"Right":"Left",l=e?"Left":"Right",u=this;(o=t||(e?this.options.infiniteWrap?n.next("."+this.options.slideClass).length?n.next("."+this.options.slideClass):a:n.next("."+this.options.slideClass):this.options.infiniteWrap?n.prev("."+this.options.slideClass).length?n.prev("."+this.options.slideClass):s:n.prev("."+this.options.slideClass))).length&&(this.$element.trigger("beforeslidechange.zf.orbit",[n,o]),this.options.bullets&&(i=i||this.$slides.index(o),this._updateBullets(i)),this.options.useMUI&&!this.$element.is(":hidden")?(Foundation.Motion.animateIn(o.addClass("is-active").css({position:"absolute",top:0}),this.options["animInFrom"+r],function(){o.css({position:"relative",display:"block"}).attr("aria-live","polite")}),Foundation.Motion.animateOut(n.removeClass("is-active"),this.options["animOutTo"+l],function(){n.removeAttr("aria-live"),u.options.autoPlay&&!u.timer.isPaused&&u.timer.restart()})):(n.removeClass("is-active is-in").removeAttr("aria-live").hide(),o.addClass("is-active is-in").attr("aria-live","polite").show(),this.options.autoPlay&&!this.timer.isPaused&&this.timer.restart()),this.$element.trigger("slidechange.zf.orbit",[o]))}}},{key:"_updateBullets",value:function(e){var t=this.$element.find("."+this.options.boxOfBullets).find(".is-active").removeClass("is-active").blur().find("span:last").detach();this.$bullets.eq(e).addClass("is-active").append(t)}},{key:"destroy",value:function(){this.$element.off(".zf.orbit").find("*").off(".zf.orbit").end().hide(),Foundation.unregisterPlugin(this)}}]),t}();t.defaults={bullets:!0,navButtons:!0,animInFromRight:"slide-in-right",animOutToRight:"slide-out-right",animInFromLeft:"slide-in-left",animOutToLeft:"slide-out-left",autoPlay:!0,timerDelay:5e3,infiniteWrap:!0,swipe:!0,pauseOnHover:!0,accessible:!0,containerClass:"orbit-container",slideClass:"orbit-slide",boxOfBullets:"orbit-bullets",nextClass:"orbit-next",prevClass:"orbit-previous",useMUI:!0},Foundation.plugin(t,"Orbit")}(jQuery);var _createClass=function(){function e(e,t){for(var i=0;i").addClass("reveal-overlay").appendTo(this.options.appendTo)}},{key:"_updatePosition",value:function(){var t,i,n=this.$element.outerWidth(),o=e(window).width(),a=this.$element.outerHeight(),s=e(window).height();t="auto"===this.options.hOffset?parseInt((o-n)/2,10):parseInt(this.options.hOffset,10),i="auto"===this.options.vOffset?a>s?parseInt(Math.min(100,s/10),10):parseInt((s-a)/4,10):parseInt(this.options.vOffset,10),this.$element.css({top:i+"px"}),this.$overlay&&"auto"===this.options.hOffset||(this.$element.css({left:t+"px"}),this.$element.css({margin:"0px"}))}},{key:"_events",value:function(){var t=this,i=this;this.$element.on({"open.zf.trigger":this.open.bind(this),"close.zf.trigger":function(n,o){if(n.target===i.$element[0]||e(n.target).parents("[data-closable]")[0]===o)return t.close.apply(t)},"toggle.zf.trigger":this.toggle.bind(this),"resizeme.zf.trigger":function(){i._updatePosition()}}),this.$anchor.length&&this.$anchor.on("keydown.zf.reveal",function(e){13!==e.which&&32!==e.which||(e.stopPropagation(),e.preventDefault(),i.open())}),this.options.closeOnClick&&this.options.overlay&&this.$overlay.off(".zf.reveal").on("click.zf.reveal",function(t){t.target!==i.$element[0]&&!e.contains(i.$element[0],t.target)&&e.contains(document,t.target)&&i.close()}),this.options.deepLink&&e(window).on("popstate.zf.reveal:"+this.id,this._handleState.bind(this))}},{key:"_handleState",value:function(e){window.location.hash!=="#"+this.id||this.isActive?this.close():this.open()}},{key:"open",value:function(){function t(){o.isMobile?(o.originalScrollPos||(o.originalScrollPos=window.pageYOffset),e("html, body").addClass("is-reveal-open")):e("body").addClass("is-reveal-open")}var i=this;if(this.options.deepLink){var n="#"+this.id;window.history.pushState?window.history.pushState(null,null,n):window.location.hash=n}this.isActive=!0,this.$element.css({visibility:"hidden"}).show().scrollTop(0),this.options.overlay&&this.$overlay.css({visibility:"hidden"}).show(),this._updatePosition(),this.$element.hide().css({visibility:""}),this.$overlay&&(this.$overlay.css({visibility:""}).hide(),this.$element.hasClass("fast")?this.$overlay.addClass("fast"):this.$element.hasClass("slow")&&this.$overlay.addClass("slow")),this.options.multipleOpened||this.$element.trigger("closeme.zf.reveal",this.id);var o=this;if(this.options.animationIn){var a=function(){o.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),t(),Foundation.Keyboard.trapFocus(o.$element)};this.options.overlay&&Foundation.Motion.animateIn(this.$overlay,"fade-in"),Foundation.Motion.animateIn(this.$element,this.options.animationIn,function(){i.$element&&(i.focusableElements=Foundation.Keyboard.findFocusable(i.$element),a())})}else this.options.overlay&&this.$overlay.show(0),this.$element.show(this.options.showDelay);this.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),Foundation.Keyboard.trapFocus(this.$element),this.$element.trigger("open.zf.reveal"),t(),setTimeout(function(){i._extraHandlers()},0)}},{key:"_extraHandlers",value:function(){var t=this;this.$element&&(this.focusableElements=Foundation.Keyboard.findFocusable(this.$element),this.options.overlay||!this.options.closeOnClick||this.options.fullScreen||e("body").on("click.zf.reveal",function(i){i.target!==t.$element[0]&&!e.contains(t.$element[0],i.target)&&e.contains(document,i.target)&&t.close()}),this.options.closeOnEsc&&e(window).on("keydown.zf.reveal",function(e){Foundation.Keyboard.handleKey(e,"Reveal",{close:function(){t.options.closeOnEsc&&(t.close(),t.$anchor.focus())}})}),this.$element.on("keydown.zf.reveal",function(i){var n=e(this);Foundation.Keyboard.handleKey(i,"Reveal",{open:function(){t.$element.find(":focus").is(t.$element.find("[data-close]"))?setTimeout(function(){t.$anchor.focus()},1):n.is(t.focusableElements)&&t.open()},close:function(){t.options.closeOnEsc&&(t.close(),t.$anchor.focus())},handled:function(e){e&&i.preventDefault()}})}))}},{key:"close",value:function(){function t(){i.isMobile?(0===e(".reveal:visible").length&&e("html, body").removeClass("is-reveal-open"),i.originalScrollPos&&(e("body").scrollTop(i.originalScrollPos),i.originalScrollPos=null)):0===e(".reveal:visible").length&&e("body").removeClass("is-reveal-open"),Foundation.Keyboard.releaseFocus(i.$element),i.$element.attr("aria-hidden",!0),i.$element.trigger("closed.zf.reveal")}if(!this.isActive||!this.$element.is(":visible"))return!1;var i=this;this.options.animationOut?(this.options.overlay?Foundation.Motion.animateOut(this.$overlay,"fade-out",t):t(),Foundation.Motion.animateOut(this.$element,this.options.animationOut)):(this.$element.hide(this.options.hideDelay),this.options.overlay?this.$overlay.hide(0,t):t()),this.options.closeOnEsc&&e(window).off("keydown.zf.reveal"),!this.options.overlay&&this.options.closeOnClick&&e("body").off("click.zf.reveal"),this.$element.off("keydown.zf.reveal"),this.options.resetOnClose&&this.$element.html(this.$element.html()),this.isActive=!1,i.options.deepLink&&(window.history.replaceState?window.history.replaceState("",document.title,window.location.href.replace("#"+this.id,"")):window.location.hash="")}},{key:"toggle",value:function(){this.isActive?this.close():this.open()}},{key:"destroy",value:function(){this.options.overlay&&(this.$element.appendTo(e(this.options.appendTo)),this.$overlay.hide().off().remove()),this.$element.hide().off(),this.$anchor.off(".zf"),e(window).off(".zf.reveal:"+this.id),Foundation.unregisterPlugin(this)}}]),t}();o.defaults={animationIn:"",animationOut:"",showDelay:0,hideDelay:0,closeOnClick:!0,closeOnEsc:!0,multipleOpened:!1,vOffset:"auto",hOffset:"auto",fullScreen:!1,btmOffsetPct:10,overlay:!0,resetOnClose:!1,deepLink:!1,appendTo:"body"},Foundation.plugin(o,"Reveal")}(jQuery),function(){Date.now||(Date.now=function(){return(new Date).getTime()});for(var e=["webkit","moz"],t=0;t(e||u.height())},_setFocus:function(){(t.st.focus?t.content.find(t.st.focus).eq(0):t.wrap).focus()},_onFocusIn:function(i){if(i.target!==t.wrap[0]&&!e.contains(t.wrap[0],i.target))return t._setFocus(),!1},_parseMarkup:function(t,i,n){var o;n.data&&(i=e.extend(n.data,i)),f("MarkupParse",[t,i,n]),e.each(i,function(i,n){if(void 0===n||!1===n)return!0;if((o=i.split("_")).length>1){var a=t.find(".mfp-"+o[0]);if(a.length>0){var s=o[1];"replaceWith"===s?a[0]!==n[0]&&a.replaceWith(n):"img"===s?a.is("img")?a.attr("src",n):a.replaceWith(e("").attr("src",n).attr("class",a.attr("class"))):a.attr(o[1],n)}}else t.find(".mfp-"+i).html(n)})},_getScrollbarSize:function(){if(void 0===t.scrollbarSize){var e=document.createElement("div");e.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(e),t.scrollbarSize=e.offsetWidth-e.clientWidth,document.body.removeChild(e)}return t.scrollbarSize}},e.magnificPopup={instance:null,proto:r.prototype,modules:[],open:function(t,i){return p(),t=t?e.extend(!0,{},t):{},t.isObj=!0,t.index=i||0,this.instance.open(t)},close:function(){return e.magnificPopup.instance&&e.magnificPopup.instance.close()},registerModule:function(t,i){i.options&&(e.magnificPopup.defaults[t]=i.options),e.extend(this.proto,i.proto),this.modules.push(t)},defaults:{disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'',tClose:"Close (Esc)",tLoading:"Loading...",autoFocusLast:!0}},e.fn.magnificPopup=function(i){p();var n=e(this);if("string"==typeof i)if("open"===i){var o,a=l?n.data("magnificPopup"):n[0].magnificPopup,s=parseInt(arguments[1],10)||0;a.items?o=a.items[s]:(o=n,a.delegate&&(o=o.find(a.delegate)),o=o.eq(s)),t._openClick({mfpEl:o},n,a)}else t.isOpen&&t[i].apply(t,Array.prototype.slice.call(arguments,1));else i=e.extend(!0,{},i),l?n.data("magnificPopup",i):n[0].magnificPopup=i,t.addGroup(n,i);return n};var g,v,y,w=function(){y&&(v.after(y.addClass(g)).detach(),y=null)};e.magnificPopup.registerModule("inline",{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){t.types.push("inline"),d("Close.inline",function(){w()})},getInline:function(i,n){if(w(),i.src){var o=t.st.inline,a=e(i.src);if(a.length){var s=a[0].parentNode;s&&s.tagName&&(v||(g=o.hiddenClass,v=c(g),g="mfp-"+g),y=a.after(v).detach().removeClass(g)),t.updateStatus("ready")}else t.updateStatus("error",o.tNotFound),a=e("
");return i.inlineElement=a,a}return t.updateStatus("ready"),t._parseMarkup(n,{},i),n}}});var b,C=function(){b&&e(document.body).removeClass(b)},z=function(){C(),t.req&&t.req.abort()};e.magnificPopup.registerModule("ajax",{options:{settings:null,cursor:"mfp-ajax-cur",tError:'The content could not be loaded.'},proto:{initAjax:function(){t.types.push("ajax"),b=t.st.ajax.cursor,d("Close.ajax",z),d("BeforeChange.ajax",z)},getAjax:function(i){b&&e(document.body).addClass(b),t.updateStatus("loading");var n=e.extend({url:i.src,success:function(n,o,a){var s={data:n,xhr:a};f("ParseAjax",s),t.appendContent(e(s.data),"ajax"),i.finished=!0,C(),t._setFocus(),setTimeout(function(){t.wrap.addClass("mfp-ready")},16),t.updateStatus("ready"),f("AjaxContentAdded")},error:function(){C(),i.finished=i.loadError=!0,t.updateStatus("error",t.st.ajax.tError.replace("%url%",i.src))}},t.st.ajax.settings);return t.req=e.ajax(n),""}}});var $,k=function(i){if(i.data&&void 0!==i.data.title)return i.data.title;var n=t.st.image.titleSrc;if(n){if(e.isFunction(n))return n.call(t,i);if(i.el)return i.el.attr(n)||""}return""};e.magnificPopup.registerModule("image",{options:{markup:'