var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol?"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; /******/ /******/ // 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=19); /******/})( /************************************************************************/ /******/[ /* 0 */ /***/function(module,exports){module.exports=jQuery; /***/}, /* 1 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict"; /* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"b",function(){return rtl;}); /* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",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"; /* 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;i1&&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','');}}; /***/}, /* 10 */ /***/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=__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);__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(event){ //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);};};};Touch.init=function($){if(typeof $.spotSwipe==='undefined'){Touch.setupSpotSwipe($);Touch.setupTouchHandler($);}}; /***/}, /* 11 */ /***/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);};} /***/}, /* 12 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict"; /* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Accordion;}); /* 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_keyboard__=__webpack_require__(4); /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_core__=__webpack_require__(1); /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_plugin__=__webpack_require__(2);var _createClass=function(){function defineProperties(target,props){for(var i=0;i');}if(_this.options.submenuToggle){$elem.addClass('has-submenu-toggle');$elem.children('a').after('');}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(__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__["a" /* 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(_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});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);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');this.$element.find('[data-is-parent-link]').detach();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__["a" /* Nest */].Burn(this.$element,'accordion');}}]);return AccordionMenu;}(__WEBPACK_IMPORTED_MODULE_4__foundation_plugin__["a" /* Plugin */]);AccordionMenu.defaults={ /** * Adds the parent link to the submenu. * @option * @type {boolean} * @default false */parentLink:false, /** * 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}; /***/}, /* 14 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict"; /* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Drilldown;}); /* 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_keyboard__=__webpack_require__(4); /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_nest__=__webpack_require__(9); /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_util_core__=__webpack_require__(1); /* harmony import */var __WEBPACK_IMPORTED_MODULE_4__foundation_util_box__=__webpack_require__(7); /* harmony import */var __WEBPACK_IMPORTED_MODULE_5__foundation_plugin__=__webpack_require__(2);var _createClass=function(){function defineProperties(target,props){for(var i=0;i');}$link.data('savedHref',$link.attr('href')).removeAttr('href').attr('tabindex',0);$link.children('[data-submenu]').attr({'aria-hidden':true,'tabindex':0,'role':'group'});_this._events($link);});this.$submenus.each(function(){var $menu=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),$back=$menu.find('.js-drilldown-back');if(!$back.length){switch(_this.options.backButtonPosition){case "bottom":$menu.append(_this.options.backButton);break;case "top":$menu.prepend(_this.options.backButton);break;default:console.error("Unsupported backButtonPosition value '"+_this.options.backButtonPosition+"'");}}_this._back($menu);});this.$submenus.addClass('invisible');if(!this.options.autoHeight){this.$submenus.addClass('drilldown-submenu-cover-previous');} // create a wrapper on element if it doesn't exist. if(!this.$element.parent().hasClass('is-drilldown')){this.$wrapper=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.options.wrapper).addClass('is-drilldown');if(this.options.animateHeight)this.$wrapper.addClass('animate-height');this.$element.wrap(this.$wrapper);} // set wrapper this.$wrapper=this.$element.parent();this.$wrapper.css(this._getMaxDims());}},{key:'_resize',value:function _resize(){this.$wrapper.css({'max-width':'none','min-height':'none'}); // _getMaxDims has side effects (boo) but calling it should update all other necessary heights & widths this.$wrapper.css(this._getMaxDims());} /** * Adds event handlers to elements in the menu. * @function * @private * @param {jQuery} $elem - the current menu item to add handlers to. */},{key:'_events',value:function _events($elem){var _this=this;$elem.off('click.zf.drilldown').on('click.zf.drilldown',function(e){if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(e.target).parentsUntil('ul','li').hasClass('is-drilldown-submenu-parent')){e.stopImmediatePropagation();e.preventDefault();} // if(e.target !== e.currentTarget.firstElementChild){ // return false; // } _this._show($elem.parent('li'));if(_this.options.closeOnClick){var $body=__WEBPACK_IMPORTED_MODULE_0_jquery___default()('body');$body.off('.zf.drilldown').on('click.zf.drilldown',function(e){if(e.target===_this.$element[0]||__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.contains(_this.$element[0],e.target)){return;}e.preventDefault();_this._hideAll();$body.off('.zf.drilldown');});}});} /** * Adds event handlers to the menu element. * @function * @private */},{key:'_registerEvents',value:function _registerEvents(){if(this.options.scrollTop){this._bindHandler=this._scrollTop.bind(this);this.$element.on('open.zf.drilldown hide.zf.drilldown closed.zf.drilldown',this._bindHandler);}this.$element.on('mutateme.zf.trigger',this._resize.bind(this));} /** * Scroll to Top of Element or data-scroll-top-element * @function * @fires Drilldown#scrollme */},{key:'_scrollTop',value:function _scrollTop(){var _this=this;var $scrollTopElement=_this.options.scrollTopElement!=''?__WEBPACK_IMPORTED_MODULE_0_jquery___default()(_this.options.scrollTopElement):_this.$element,scrollPos=parseInt($scrollTopElement.offset().top+_this.options.scrollTopOffset,10);__WEBPACK_IMPORTED_MODULE_0_jquery___default()('html, body').stop(true).animate({scrollTop:scrollPos},_this.options.animationDuration,_this.options.animationEasing,function(){ /** * Fires after the menu has scrolled * @event Drilldown#scrollme */if(this===__WEBPACK_IMPORTED_MODULE_0_jquery___default()('html')[0])_this.$element.trigger('scrollme.zf.drilldown');});} /** * Adds keydown event listener to `li`'s in the menu. * @private */},{key:'_keyboardEvents',value:function _keyboardEvents(){var _this=this;this.$menuItems.add(this.$element.find('.js-drilldown-back > a, .is-submenu-parent-item > a')).on('keydown.zf.drilldown',function(e){var $element=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),$elements=$element.parent('li').parent('ul').children('li').children('a'),$prevElement,$nextElement;$elements.each(function(i){if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).is($element)){$prevElement=$elements.eq(Math.max(0,i-1));$nextElement=$elements.eq(Math.min(i+1,$elements.length-1));return;}});__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a" /* Keyboard */].handleKey(e,'Drilldown',{next:function next(){if($element.is(_this.$submenuAnchors)){_this._show($element.parent('li'));$element.parent('li').one(Object(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["c" /* transitionend */])($element),function(){$element.parent('li').find('ul li a').filter(_this.$menuItems).first().focus();});return true;}},previous:function previous(){_this._hide($element.parent('li').parent('ul'));$element.parent('li').parent('ul').one(Object(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["c" /* transitionend */])($element),function(){setTimeout(function(){$element.parent('li').parent('ul').parent('li').children('a').first().focus();},1);});return true;},up:function up(){$prevElement.focus(); // Don't tap focus on first element in root ul return !$element.is(_this.$element.find('> li:first-child > a'));},down:function down(){$nextElement.focus(); // Don't tap focus on last element in root ul return !$element.is(_this.$element.find('> li:last-child > a'));},close:function close(){ // Don't close on element in root ul if(!$element.is(_this.$element.find('> li > a'))){_this._hide($element.parent().parent());$element.parent().parent().siblings('a').focus();}},open:function open(){if(!$element.is(_this.$menuItems)){ // not menu item means back button _this._hide($element.parent('li').parent('ul'));$element.parent('li').parent('ul').one(Object(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["c" /* transitionend */])($element),function(){setTimeout(function(){$element.parent('li').parent('ul').parent('li').children('a').first().focus();},1);});return true;}else if($element.is(_this.$submenuAnchors)){_this._show($element.parent('li'));$element.parent('li').one(Object(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["c" /* transitionend */])($element),function(){$element.parent('li').find('ul li a').filter(_this.$menuItems).first().focus();});return true;}},handled:function handled(preventDefault){if(preventDefault){e.preventDefault();}e.stopImmediatePropagation();}});}); // end keyboardAccess } /** * Closes all open elements, and returns to root menu. * @function * @fires Drilldown#closed */},{key:'_hideAll',value:function _hideAll(){var $elem=this.$element.find('.is-drilldown-submenu.is-active').addClass('is-closing');if(this.options.autoHeight)this.$wrapper.css({height:$elem.parent().closest('ul').data('calcHeight')});$elem.one(Object(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["c" /* transitionend */])($elem),function(e){$elem.removeClass('is-active is-closing');}); /** * Fires when the menu is fully closed. * @event Drilldown#closed */this.$element.trigger('closed.zf.drilldown');} /** * Adds event listener for each `back` button, and closes open menus. * @function * @fires Drilldown#back * @param {jQuery} $elem - the current sub-menu to add `back` event. */},{key:'_back',value:function _back($elem){var _this=this;$elem.off('click.zf.drilldown');$elem.children('.js-drilldown-back').on('click.zf.drilldown',function(e){e.stopImmediatePropagation(); // console.log('mouseup on back'); _this._hide($elem); // If there is a parent submenu, call show var parentSubMenu=$elem.parent('li').parent('ul').parent('li');if(parentSubMenu.length){_this._show(parentSubMenu);}});} /** * Adds event listener to menu items w/o submenus to close open menus on click. * @function * @private */},{key:'_menuLinkEvents',value:function _menuLinkEvents(){var _this=this;this.$menuItems.not('.is-drilldown-submenu-parent').off('click.zf.drilldown').on('click.zf.drilldown',function(e){ // e.stopImmediatePropagation(); setTimeout(function(){_this._hideAll();},0);});} /** * Sets the CSS classes for submenu to show it. * @function * @private * @param {jQuery} $elem - the target submenu (`ul` tag) * @param {boolean} trigger - trigger drilldown event */},{key:'_setShowSubMenuClasses',value:function _setShowSubMenuClasses($elem,trigger){$elem.addClass('is-active').removeClass('invisible').attr('aria-hidden',false);$elem.parent('li').attr('aria-expanded',true);if(trigger===true){this.$element.trigger('open.zf.drilldown',[$elem]);}} /** * Sets the CSS classes for submenu to hide it. * @function * @private * @param {jQuery} $elem - the target submenu (`ul` tag) * @param {boolean} trigger - trigger drilldown event */},{key:'_setHideSubMenuClasses',value:function _setHideSubMenuClasses($elem,trigger){$elem.removeClass('is-active').addClass('invisible').attr('aria-hidden',true);$elem.parent('li').attr('aria-expanded',false);if(trigger===true){$elem.trigger('hide.zf.drilldown',[$elem]);}} /** * Opens a specific drilldown (sub)menu no matter which (sub)menu in it is currently visible. * Compared to _show() this lets you jump into any submenu without clicking through every submenu on the way to it. * @function * @fires Drilldown#open * @param {jQuery} $elem - the target (sub)menu (`ul` tag) * @param {boolean} autoFocus - if true the first link in the target (sub)menu gets auto focused */},{key:'_showMenu',value:function _showMenu($elem,autoFocus){var _this=this; // Reset drilldown var $expandedSubmenus=this.$element.find('li[aria-expanded="true"] > ul[data-submenu]');$expandedSubmenus.each(function(index){_this._setHideSubMenuClasses(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this));}); // If target menu is root, focus first link & exit if($elem.is('[data-drilldown]')){if(autoFocus===true)$elem.find('li[role="treeitem"] > a').first().focus();if(this.options.autoHeight)this.$wrapper.css('height',$elem.data('calcHeight'));return;} // Find all submenus on way to root incl. the element itself var $submenus=$elem.children().first().parentsUntil('[data-drilldown]','[data-submenu]'); // Open target menu and all submenus on its way to root $submenus.each(function(index){ // Update height of first child (target menu) if autoHeight option true if(index===0&&_this.options.autoHeight){_this.$wrapper.css('height',__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('calcHeight'));}var isLastChild=index==$submenus.length-1; // Add transitionsend listener to last child (root due to reverse order) to open target menu's first link // Last child makes sure the event gets always triggered even if going through several menus if(isLastChild===true){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).one(Object(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["c" /* transitionend */])(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this)),function(){if(autoFocus===true){$elem.find('li[role="treeitem"] > a').first().focus();}});}_this._setShowSubMenuClasses(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this),isLastChild);});} /** * Opens a submenu. * @function * @fires Drilldown#open * @param {jQuery} $elem - the current element with a submenu to open, i.e. the `li` tag. */},{key:'_show',value:function _show($elem){if(this.options.autoHeight)this.$wrapper.css({height:$elem.children('[data-submenu]').data('calcHeight')});$elem.attr('aria-expanded',true);$elem.children('[data-submenu]').addClass('is-active').removeClass('invisible').attr('aria-hidden',false); /** * Fires when the submenu has opened. * @event Drilldown#open */this.$element.trigger('open.zf.drilldown',[$elem]);} /** * Hides a submenu * @function * @fires Drilldown#hide * @param {jQuery} $elem - the current sub-menu to hide, i.e. the `ul` tag. */},{key:'_hide',value:function _hide($elem){if(this.options.autoHeight)this.$wrapper.css({height:$elem.parent().closest('ul').data('calcHeight')});var _this=this;$elem.parent('li').attr('aria-expanded',false);$elem.attr('aria-hidden',true);$elem.addClass('is-closing').one(Object(__WEBPACK_IMPORTED_MODULE_3__foundation_util_core__["c" /* transitionend */])($elem),function(){$elem.removeClass('is-active is-closing');$elem.blur().addClass('invisible');}); /** * Fires when the submenu has closed. * @event Drilldown#hide */$elem.trigger('hide.zf.drilldown',[$elem]);} /** * Iterates through the nested menus to calculate the min-height, and max-width for the menu. * Prevents content jumping. * @function * @private */},{key:'_getMaxDims',value:function _getMaxDims(){var maxHeight=0,result={},_this=this;this.$submenus.add(this.$element).each(function(){var numOfElems=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).children('li').length;var height=__WEBPACK_IMPORTED_MODULE_4__foundation_util_box__["a" /* Box */].GetDimensions(this).height;maxHeight=height>maxHeight?height:maxHeight;if(_this.options.autoHeight){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('calcHeight',height);if(!__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).hasClass('is-drilldown-submenu'))result['height']=height;}});if(!this.options.autoHeight)result['min-height']=maxHeight+'px';result['max-width']=this.$element[0].getBoundingClientRect().width+'px';return result;} /** * Destroys the Drilldown Menu * @function */},{key:'_destroy',value:function _destroy(){if(this.options.scrollTop)this.$element.off('.zf.drilldown',this._bindHandler);this._hideAll();this.$element.off('mutateme.zf.trigger');__WEBPACK_IMPORTED_MODULE_2__foundation_util_nest__["a" /* Nest */].Burn(this.$element,'drilldown');this.$element.unwrap().find('.js-drilldown-back, .is-submenu-parent-item').remove().end().find('.is-active, .is-closing, .is-drilldown-submenu').removeClass('is-active is-closing is-drilldown-submenu').end().find('[data-submenu]').removeAttr('aria-hidden tabindex role');this.$submenuAnchors.each(function(){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).off('.zf.drilldown');});this.$element.find('[data-is-parent-link]').detach();this.$submenus.removeClass('drilldown-submenu-cover-previous invisible');this.$element.find('a').each(function(){var $link=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this);$link.removeAttr('tabindex');if($link.data('savedHref')){$link.attr('href',$link.data('savedHref')).removeData('savedHref');}else {return;}});}}]);return Drilldown;}(__WEBPACK_IMPORTED_MODULE_5__foundation_plugin__["a" /* Plugin */]);Drilldown.defaults={ /** * Drilldowns depend on styles in order to function properly; in the default build of Foundation these are * on the `drilldown` class. This option auto-applies this class to the drilldown upon initialization. * @option * @type {boolian} * @default true */autoApplyClass:true, /** * Markup used for JS generated back button. Prepended or appended (see backButtonPosition) to submenu lists and deleted on `destroy` method, 'js-drilldown-back' class required. Remove the backslash (`\`) if copy and pasting. * @option * @type {string} * @default '
  • Back
  • ' */backButton:'
  • Back
  • ', /** * Position the back button either at the top or bottom of drilldown submenus. Can be `'left'` or `'bottom'`. * @option * @type {string} * @default top */backButtonPosition:'top', /** * Markup used to wrap drilldown menu. Use a class name for independent styling; the JS applied class: `is-drilldown` is required. Remove the backslash (`\`) if copy and pasting. * @option * @type {string} * @default '
    ' */wrapper:'
    ', /** * Adds the parent link to the submenu. * @option * @type {boolean} * @default false */parentLink:false, /** * Allow the menu to return to root list on body click. * @option * @type {boolean} * @default false */closeOnClick:false, /** * Allow the menu to auto adjust height. * @option * @type {boolean} * @default false */autoHeight:false, /** * Animate the auto adjust height. * @option * @type {boolean} * @default false */animateHeight:false, /** * Scroll to the top of the menu after opening a submenu or navigating back using the menu back button * @option * @type {boolean} * @default false */scrollTop:false, /** * String jquery selector (for example 'body') of element to take offset().top from, if empty string the drilldown menu offset().top is taken * @option * @type {string} * @default '' */scrollTopElement:'', /** * ScrollTop offset * @option * @type {number} * @default 0 */scrollTopOffset:0, /** * Scroll animation duration * @option * @type {number} * @default 500 */animationDuration:500, /** * Scroll animation easing. Can be `'swing'` or `'linear'`. * @option * @type {string} * @see {@link https://api.jquery.com/animate|JQuery animate} * @default 'swing' */animationEasing:'swing' // holdOpen: false }; /***/}, /* 15 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict"; /* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Positionable;}); /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__foundation_util_box__=__webpack_require__(7); /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__foundation_plugin__=__webpack_require__(2); /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_core__=__webpack_require__(1);var _createClass=function(){function defineProperties(target,props){for(var i=0;i-1,$elements=isTab?_this.$tabs:$element.siblings('li').add($element),$prevElement,$nextElement;$elements.each(function(i){if(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).is($element)){$prevElement=$elements.eq(i-1);$nextElement=$elements.eq(i+1);return;}});var nextSibling=function nextSibling(){$nextElement.children('a:first').focus();e.preventDefault();},prevSibling=function prevSibling(){$prevElement.children('a:first').focus();e.preventDefault();},openSub=function openSub(){var $sub=$element.children('ul.is-dropdown-submenu');if($sub.length){_this._show($sub);$element.find('li > a:first').focus();e.preventDefault();}else {return;}},closeSub=function closeSub(){ //if ($element.is(':first-child')) { var close=$element.parent('ul').parent('li');close.children('a:first').focus();_this._hide(close);e.preventDefault(); //} };var functions={open:openSub,close:function close(){_this._hide(_this.$element);_this.$menuItems.eq(0).children('a').focus(); // focus to first element e.preventDefault();},handled:function handled(){e.stopImmediatePropagation();}};if(isTab){if(_this._isVertical()){ // vertical menu if(_this._isRtl()){ // right aligned __WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend(functions,{down:nextSibling,up:prevSibling,next:closeSub,previous:openSub});}else { // left aligned __WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend(functions,{down:nextSibling,up:prevSibling,next:openSub,previous:closeSub});}}else { // horizontal menu if(_this._isRtl()){ // right aligned __WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend(functions,{next:prevSibling,previous:nextSibling,down:openSub,up:closeSub});}else { // left aligned __WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend(functions,{next:nextSibling,previous:prevSibling,down:openSub,up:closeSub});}}}else { // not tabs -> one sub if(_this._isRtl()){ // right aligned __WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend(functions,{next:closeSub,previous:openSub,down:nextSibling,up:prevSibling});}else { // left aligned __WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend(functions,{next:openSub,previous:closeSub,down:nextSibling,up:prevSibling});}}__WEBPACK_IMPORTED_MODULE_1__foundation_util_keyboard__["a" /* Keyboard */].handleKey(e,'DropdownMenu',functions);});} /** * Adds an event handler to the body to close any dropdowns on a click. * @function * @private */},{key:'_addBodyHandler',value:function _addBodyHandler(){var $body=__WEBPACK_IMPORTED_MODULE_0_jquery___default()(document.body),_this=this;$body.off('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu').on('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu',function(e){var $link=_this.$element.find(e.target);if($link.length){return;}_this._hide();$body.off('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu');});} /** * Opens a dropdown pane, and checks for collisions first. * @param {jQuery} $sub - ul element that is a submenu to show * @function * @private * @fires DropdownMenu#show */},{key:'_show',value:function _show($sub){var idx=this.$tabs.index(this.$tabs.filter(function(i,el){return __WEBPACK_IMPORTED_MODULE_0_jquery___default()(el).find($sub).length>0;}));var $sibs=$sub.parent('li.is-dropdown-submenu-parent').siblings('li.is-dropdown-submenu-parent');this._hide($sibs,idx);$sub.css('visibility','hidden').addClass('js-dropdown-active').parent('li.is-dropdown-submenu-parent').addClass('is-active');var clear=__WEBPACK_IMPORTED_MODULE_3__foundation_util_box__["a" /* Box */].ImNotTouchingYou($sub,null,true);if(!clear){var oldClass=this.options.alignment==='left'?'-right':'-left',$parentLi=$sub.parent('.is-dropdown-submenu-parent');$parentLi.removeClass('opens'+oldClass).addClass('opens-'+this.options.alignment);clear=__WEBPACK_IMPORTED_MODULE_3__foundation_util_box__["a" /* Box */].ImNotTouchingYou($sub,null,true);if(!clear){$parentLi.removeClass('opens-'+this.options.alignment).addClass('opens-inner');}this.changed=true;}$sub.css('visibility','');if(this.options.closeOnClick){this._addBodyHandler();} /** * Fires when the new dropdown pane is visible. * @event DropdownMenu#show */this.$element.trigger('show.zf.dropdownmenu',[$sub]);} /** * Hides a single, currently open dropdown pane, if passed a parameter, otherwise, hides everything. * @function * @param {jQuery} $elem - element with a submenu to hide * @param {Number} idx - index of the $tabs collection to hide * @private */},{key:'_hide',value:function _hide($elem,idx){var $toClose;if($elem&&$elem.length){$toClose=$elem;}else if(idx!==undefined){$toClose=this.$tabs.not(function(i,el){return i===idx;});}else {$toClose=this.$element;}var somethingToClose=$toClose.hasClass('is-active')||$toClose.find('.is-active').length>0;if(somethingToClose){$toClose.find('li.is-active').add($toClose).attr({'data-is-click':false}).removeClass('is-active');$toClose.find('ul.js-dropdown-active').removeClass('js-dropdown-active');if(this.changed||$toClose.find('opens-inner').length){var oldClass=this.options.alignment==='left'?'right':'left';$toClose.find('li.is-dropdown-submenu-parent').add($toClose).removeClass('opens-inner opens-'+this.options.alignment).addClass('opens-'+oldClass);this.changed=false;} /** * Fires when the open menus are closed. * @event DropdownMenu#hide */this.$element.trigger('hide.zf.dropdownmenu',[$toClose]);}} /** * Destroys the plugin. * @function */},{key:'_destroy',value:function _destroy(){this.$menuItems.off('.zf.dropdownmenu').removeAttr('data-is-click').removeClass('is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner');__WEBPACK_IMPORTED_MODULE_0_jquery___default()(document.body).off('.zf.dropdownmenu');__WEBPACK_IMPORTED_MODULE_2__foundation_util_nest__["a" /* Nest */].Burn(this.$element,'dropdown');}}]);return DropdownMenu;}(__WEBPACK_IMPORTED_MODULE_5__foundation_plugin__["a" /* Plugin */]); /** * Default settings for plugin */DropdownMenu.defaults={ /** * Disallows hover events from opening submenus * @option * @type {boolean} * @default false */disableHover:false, /** * Allow a submenu to automatically close on a mouseleave event, if not clicked open. * @option * @type {boolean} * @default true */autoclose:true, /** * Amount of time to delay opening a submenu on hover event. * @option * @type {number} * @default 50 */hoverDelay:50, /** * Allow a submenu to open/remain open on parent click event. Allows cursor to move away from menu. * @option * @type {boolean} * @default false */clickOpen:false, /** * Amount of time to delay closing a submenu on a mouseleave event. * @option * @type {number} * @default 500 */closingTime:500, /** * Position of the menu relative to what direction the submenus should open. Handled by JS. Can be `'auto'`, `'left'` or `'right'`. * @option * @type {string} * @default 'auto' */alignment:'auto', /** * Allow clicks on the body to close any open submenus. * @option * @type {boolean} * @default true */closeOnClick:true, /** * Allow clicks on leaf anchor links to close any open submenus. * @option * @type {boolean} * @default true */closeOnClickInside:true, /** * Class applied to vertical oriented menus, Foundation default is `vertical`. Update this if using your own class. * @option * @type {string} * @default 'vertical' */verticalClass:'vertical', /** * Class applied to right-side oriented menus, Foundation default is `align-right`. Update this if using your own class. * @option * @type {string} * @default 'align-right' */rightClass:'align-right', /** * Boolean to force overide the clicking of links to perform default action, on second touch event for mobile. * @option * @type {boolean} * @default true */forceFollow:true}; /***/}, /* 17 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict"; /* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return SmoothScroll;}); /* 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_plugin__=__webpack_require__(2);var _createClass=function(){function defineProperties(target,props){for(var i=0;i1&&arguments[1]!==undefined?arguments[1]:SmoothScroll.defaults;var callback=arguments[2]; // Do nothing if target does not exist to prevent errors if(!__WEBPACK_IMPORTED_MODULE_0_jquery___default()(loc).length){return false;}var scrollPos=Math.round(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(loc).offset().top-options.threshold/2-options.offset);__WEBPACK_IMPORTED_MODULE_0_jquery___default()('html, body').stop(true).animate({scrollTop:scrollPos},options.animationDuration,options.animationEasing,function(){if(callback&&typeof callback=="function"){callback();}});}}]);return SmoothScroll;}(__WEBPACK_IMPORTED_MODULE_2__foundation_plugin__["a" /* Plugin */]); /** * Default settings for plugin. */SmoothScroll.defaults={ /** * Amount of time, in ms, the animated scrolling should take between locations. * @option * @type {number} * @default 500 */animationDuration:500, /** * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`. * @option * @type {string} * @default 'linear' * @see {@link https://api.jquery.com/animate|Jquery animate} */animationEasing:'linear', /** * Number of pixels to use as a marker for location changes. * @option * @type {number} * @default 50 */threshold:50, /** * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar. * @option * @type {number} * @default 0 */offset:0}; /***/}, /* 18 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict"; /* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Tabs;}); /* 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_keyboard__=__webpack_require__(4); /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_imageLoader__=__webpack_require__(8); /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_plugin__=__webpack_require__(2);var _createClass=function(){function defineProperties(target,props){for(var i=0;imax?temp:max;}).css('height',max+'px');} /** * Destroys an instance of an tabs. * @fires Tabs#destroyed */},{key:'_destroy',value:function _destroy(){this.$element.find('.'+this.options.linkClass).off('.zf.tabs').hide().end().find('.'+this.options.panelClass).hide();if(this.options.matchHeight){if(this._setHeightMqHandler!=null){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off('changed.zf.mediaquery',this._setHeightMqHandler);}}if(this.options.deepLink){__WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off('popstate',this._checkDeepLink);}}}]);return Tabs;}(__WEBPACK_IMPORTED_MODULE_3__foundation_plugin__["a" /* Plugin */]);Tabs.defaults={ /** * Allows the window to scroll to content of pane specified by hash anchor * @option * @type {boolean} * @default false */deepLink:false, /** * Adjust the deep link scroll to make sure the top of the tab panel is visible * @option * @type {boolean} * @default false */deepLinkSmudge:false, /** * Animation time (ms) for the deep link adjustment * @option * @type {number} * @default 300 */deepLinkSmudgeDelay:300, /** * Update the browser history with the open tab * @option * @type {boolean} * @default false */updateHistory:false, /** * Allows the window to scroll to content of active pane on load if set to true. * Not recommended if more than one tab panel per page. * @option * @type {boolean} * @default false */autoFocus:false, /** * Allows keyboard input to 'wrap' around the tab links. * @option * @type {boolean} * @default true */wrapOnKeys:true, /** * Allows the tab content panes to match heights if set to true. * @option * @type {boolean} * @default false */matchHeight:false, /** * Allows active tabs to collapse when clicked. * @option * @type {boolean} * @default false */activeCollapse:false, /** * Class applied to `li`'s in tab link list. * @option * @type {string} * @default 'tabs-title' */linkClass:'tabs-title', /** * Class applied to the active `li` in tab link list. * @option * @type {string} * @default 'is-active' */linkActiveClass:'is-active', /** * Class applied to the content containers. * @option * @type {string} * @default 'tabs-panel' */panelClass:'tabs-panel', /** * Class applied to the active content container. * @option * @type {string} * @default 'is-active' */panelActiveClass:'is-active'}; /***/}, /* 19 */ /***/function(module,exports,__webpack_require__){module.exports=__webpack_require__(20); /***/}, /* 20 */ /***/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__(21); /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__foundation_util_core__=__webpack_require__(1); /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__foundation_util_box__=__webpack_require__(7); /* harmony import */var __WEBPACK_IMPORTED_MODULE_4__foundation_util_imageLoader__=__webpack_require__(8); /* harmony import */var __WEBPACK_IMPORTED_MODULE_5__foundation_util_keyboard__=__webpack_require__(4); /* harmony import */var __WEBPACK_IMPORTED_MODULE_6__foundation_util_mediaQuery__=__webpack_require__(3); /* harmony import */var __WEBPACK_IMPORTED_MODULE_7__foundation_util_motion__=__webpack_require__(6); /* harmony import */var __WEBPACK_IMPORTED_MODULE_8__foundation_util_nest__=__webpack_require__(9); /* harmony import */var __WEBPACK_IMPORTED_MODULE_9__foundation_util_timer__=__webpack_require__(11); /* harmony import */var __WEBPACK_IMPORTED_MODULE_10__foundation_util_touch__=__webpack_require__(10); /* harmony import */var __WEBPACK_IMPORTED_MODULE_11__foundation_util_triggers__=__webpack_require__(5); /* harmony import */var __WEBPACK_IMPORTED_MODULE_12__foundation_abide__=__webpack_require__(22); /* harmony import */var __WEBPACK_IMPORTED_MODULE_13__foundation_accordion__=__webpack_require__(12); /* harmony import */var __WEBPACK_IMPORTED_MODULE_14__foundation_accordionMenu__=__webpack_require__(13); /* harmony import */var __WEBPACK_IMPORTED_MODULE_15__foundation_drilldown__=__webpack_require__(14); /* harmony import */var __WEBPACK_IMPORTED_MODULE_16__foundation_dropdown__=__webpack_require__(23); /* harmony import */var __WEBPACK_IMPORTED_MODULE_17__foundation_dropdownMenu__=__webpack_require__(16); /* harmony import */var __WEBPACK_IMPORTED_MODULE_18__foundation_equalizer__=__webpack_require__(24); /* harmony import */var __WEBPACK_IMPORTED_MODULE_19__foundation_interchange__=__webpack_require__(25); /* harmony import */var __WEBPACK_IMPORTED_MODULE_20__foundation_magellan__=__webpack_require__(26); /* harmony import */var __WEBPACK_IMPORTED_MODULE_21__foundation_offcanvas__=__webpack_require__(27); /* harmony import */var __WEBPACK_IMPORTED_MODULE_22__foundation_orbit__=__webpack_require__(28); /* harmony import */var __WEBPACK_IMPORTED_MODULE_23__foundation_responsiveMenu__=__webpack_require__(29); /* harmony import */var __WEBPACK_IMPORTED_MODULE_24__foundation_responsiveToggle__=__webpack_require__(30); /* harmony import */var __WEBPACK_IMPORTED_MODULE_25__foundation_reveal__=__webpack_require__(31); /* harmony import */var __WEBPACK_IMPORTED_MODULE_26__foundation_slider__=__webpack_require__(32); /* harmony import */var __WEBPACK_IMPORTED_MODULE_27__foundation_smoothScroll__=__webpack_require__(17); /* harmony import */var __WEBPACK_IMPORTED_MODULE_28__foundation_sticky__=__webpack_require__(33); /* harmony import */var __WEBPACK_IMPORTED_MODULE_29__foundation_tabs__=__webpack_require__(18); /* harmony import */var __WEBPACK_IMPORTED_MODULE_30__foundation_toggler__=__webpack_require__(34); /* harmony import */var __WEBPACK_IMPORTED_MODULE_31__foundation_tooltip__=__webpack_require__(35); /* harmony import */var __WEBPACK_IMPORTED_MODULE_32__foundation_responsiveAccordionTabs__=__webpack_require__(36);__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].addToJquery(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a); // Add Foundation Utils to Foundation global namespace for backwards // compatibility. __WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].rtl=__WEBPACK_IMPORTED_MODULE_2__foundation_util_core__["b" /* rtl */];__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].GetYoDigits=__WEBPACK_IMPORTED_MODULE_2__foundation_util_core__["a" /* GetYoDigits */];__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].transitionend=__WEBPACK_IMPORTED_MODULE_2__foundation_util_core__["c" /* transitionend */];__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].Box=__WEBPACK_IMPORTED_MODULE_3__foundation_util_box__["a" /* Box */];__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].onImagesLoaded=__WEBPACK_IMPORTED_MODULE_4__foundation_util_imageLoader__["a" /* onImagesLoaded */];__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].Keyboard=__WEBPACK_IMPORTED_MODULE_5__foundation_util_keyboard__["a" /* Keyboard */];__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].MediaQuery=__WEBPACK_IMPORTED_MODULE_6__foundation_util_mediaQuery__["a" /* MediaQuery */];__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].Motion=__WEBPACK_IMPORTED_MODULE_7__foundation_util_motion__["a" /* Motion */];__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].Move=__WEBPACK_IMPORTED_MODULE_7__foundation_util_motion__["b" /* Move */];__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].Nest=__WEBPACK_IMPORTED_MODULE_8__foundation_util_nest__["a" /* Nest */];__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].Timer=__WEBPACK_IMPORTED_MODULE_9__foundation_util_timer__["a" /* Timer */]; // Touch and Triggers previously were almost purely sede effect driven, // so no // need to add it to Foundation, just init them. __WEBPACK_IMPORTED_MODULE_10__foundation_util_touch__["a" /* Touch */].init(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);__WEBPACK_IMPORTED_MODULE_11__foundation_util_triggers__["a" /* Triggers */].init(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a,__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */]);__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_12__foundation_abide__["a" /* Abide */],'Abide');__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_13__foundation_accordion__["a" /* Accordion */],'Accordion');__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_14__foundation_accordionMenu__["a" /* AccordionMenu */],'AccordionMenu');__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_15__foundation_drilldown__["a" /* Drilldown */],'Drilldown');__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_16__foundation_dropdown__["a" /* Dropdown */],'Dropdown');__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_17__foundation_dropdownMenu__["a" /* DropdownMenu */],'DropdownMenu');__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_18__foundation_equalizer__["a" /* Equalizer */],'Equalizer');__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_19__foundation_interchange__["a" /* Interchange */],'Interchange');__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_20__foundation_magellan__["a" /* Magellan */],'Magellan');__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_21__foundation_offcanvas__["a" /* OffCanvas */],'OffCanvas');__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_22__foundation_orbit__["a" /* Orbit */],'Orbit');__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_23__foundation_responsiveMenu__["a" /* ResponsiveMenu */],'ResponsiveMenu');__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_24__foundation_responsiveToggle__["a" /* ResponsiveToggle */],'ResponsiveToggle');__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_25__foundation_reveal__["a" /* Reveal */],'Reveal');__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_26__foundation_slider__["a" /* Slider */],'Slider');__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_27__foundation_smoothScroll__["a" /* SmoothScroll */],'SmoothScroll');__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_28__foundation_sticky__["a" /* Sticky */],'Sticky');__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_29__foundation_tabs__["a" /* Tabs */],'Tabs');__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_30__foundation_toggler__["a" /* Toggler */],'Toggler');__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_31__foundation_tooltip__["a" /* Tooltip */],'Tooltip');__WEBPACK_IMPORTED_MODULE_1__foundation_core__["a" /* Foundation */].plugin(__WEBPACK_IMPORTED_MODULE_32__foundation_responsiveAccordionTabs__["a" /* ResponsiveAccordionTabs */],'ResponsiveAccordionTabs'); /***/}, /* 21 */ /***/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__(3);var FOUNDATION_VERSION='6.4.4-rc1'; // 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:[], /** * 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 // Examples: Foundation.Reveal, Foundation.OffCanvas var className=name||functionName(_plugin); // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin // Examples: data-reveal, data-off-canvas var attrName=hyphenate(className); // Add to the Foundation object and the plugins list (for reflowing) this._plugins[attrName]=this[className]=_plugin;}, /** * @function * Populates the _uuids array with pointers to each individual plugin instance. * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls. * Also fires the initialization event for each plugin, consolidating repetitive code. * @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=Object(__WEBPACK_IMPORTED_MODULE_1__foundation_util_core__["a" /* 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. * Also fires the destroyed event for the plugin, consolidating repetitive code. * @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. }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 __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 __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=__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),$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 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;};$.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();} /***/}, /* 22 */ /***/function(module,__webpack_exports__,__webpack_require__){"use strict"; /* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Abide;}); /* 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_plugin__=__webpack_require__(2);var _createClass=function(){function defineProperties(target,props){for(var i=0;i1&&arguments[1]!==undefined?arguments[1]:{};this.$element=element;this.options=__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend(true,{},Abide.defaults,this.$element.data(),options);this.className='Abide'; // ie9 back compat this._init();} /** * Initializes the Abide plugin and calls functions to get Abide functioning on load. * @private */},{key:'_init',value:function _init(){this.$inputs=this.$element.find('input, textarea, select');this._events();} /** * Initializes events for Abide. * @private */},{key:'_events',value:function _events(){var _this3=this;this.$element.off('.abide').on('reset.zf.abide',function(){_this3.resetForm();}).on('submit.zf.abide',function(){return _this3.validateForm();});if(this.options.validateOn==='fieldChange'){this.$inputs.off('change.zf.abide').on('change.zf.abide',function(e){_this3.validateInput(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(e.target));});}if(this.options.liveValidate){this.$inputs.off('input.zf.abide').on('input.zf.abide',function(e){_this3.validateInput(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(e.target));});}if(this.options.validateOnBlur){this.$inputs.off('blur.zf.abide').on('blur.zf.abide',function(e){_this3.validateInput(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(e.target));});}} /** * Calls necessary functions to update Abide upon DOM change * @private */},{key:'_reflow',value:function _reflow(){this._init();} /** * Checks whether or not a form element has the required attribute and if it's checked or not * @param {Object} element - jQuery object to check for required attribute * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty */},{key:'requiredCheck',value:function requiredCheck($el){if(!$el.attr('required'))return true;var isGood=true;switch($el[0].type){case 'checkbox':isGood=$el[0].checked;break;case 'select':case 'select-one':case 'select-multiple':var opt=$el.find('option:selected');if(!opt.length||!opt.val())isGood=false;break;default:if(!$el.val()||!$el.val().length)isGood=false;}return isGood;} /** * Get: * - Based on $el, the first element(s) corresponding to `formErrorSelector` in this order: * 1. The element's direct sibling('s). * 2. The element's parent's children. * - Element(s) with the attribute `[data-form-error-for]` set with the element's id. * * This allows for multiple form errors per input, though if none are found, no form errors will be shown. * * @param {Object} $el - jQuery object to use as reference to find the form error selector. * @returns {Object} jQuery object with the selector. */},{key:'findFormError',value:function findFormError($el){var id=$el[0].id;var $error=$el.siblings(this.options.formErrorSelector);if(!$error.length){$error=$el.parent().find(this.options.formErrorSelector);}$error=$error.add(this.$element.find('[data-form-error-for="'+id+'"]'));return $error;} /** * Get the first element in this order: * 2. The