1 |
- {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.core.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.core.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.core.plugin.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.core.utils.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.mediaQuery.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","addToJquery","$","Plugin","rtl","GetYoDigits","transitionend","RegExpEscape","onLoad","window","FOUNDATION_VERSION","version","_plugins","_uuids","plugin","name","className","functionName","attrName","hyphenate","registerPlugin","pluginName","constructor","toLowerCase","uuid","$element","attr","data","trigger","push","unregisterPlugin","splice","indexOf","removeAttr","removeData","prop","reInit","plugins","isJQ","each","_init","type","_this","fns","plgs","forEach","p","foundation","Object","keys","err","console","error","reflow","elem","i","$elem","find","addBack","filter","$el","opts","split","option","_index","opt","map","el","trim","parseValue","er","getFnName","method","$noJS","length","removeClass","MediaQuery","args","Array","prototype","slice","call","arguments","plugClass","apply","ReferenceError","TypeError","fn","util","throttle","func","delay","timer","context","setTimeout","Date","now","getTime","vendors","requestAnimationFrame","vp","cancelAnimationFrame","test","navigator","userAgent","lastTime","callback","nextTime","Math","max","clearTimeout","performance","start","Function","bind","oThis","aArgs","fToBind","fNOP","fBound","concat","funcNameRegex","results","exec","toString","str","isNaN","parseFloat","replace","element","options","_setup","getPluginName","_destroy","obj","namespace","chars","charsLength","floor","random","transitions","document","createElement","end","transition","style","triggerHandler","handler","didLoad","readyState","eventType","cb","one","ignoreMousedisappear","ignoreLeaveWindow","ignoreReappear","leaveEventHandler","eLeave","rest","relatedTarget","leaveEventDebouncer","hasFocus","reenterEventHandler","eReenter","currentTarget","has","target","defaultQueries","landscape","portrait","retina","matchMedia","styleMedia","media","script","getElementsByTagName","info","id","head","appendChild","parentNode","insertBefore","getComputedStyle","currentStyle","matchMedium","text","styleSheet","cssText","textContent","width","matches","queries","current","isInitialized","self","$meta","appendTo","extractedStyles","css","namedQueries","parseStyleToObject","key","hasOwnProperty","value","_getCurrentSize","_watcher","_reInit","atLeast","size","query","get","only","upTo","nextSize","next","is","parts","bpSize","bpModifier","Error","queryIndex","findIndex","q","_getQueryName","nextQuery","matched","off","on","newSize","currentSize","styleObject","reduce","ret","param","val","decodeURIComponent","isArray"],"mappings":"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","file":"foundation.core.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.core\"] = factory(require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"] = factory(root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","// --- Foundation Core API ---\n// Initialize Foundation and add some utilities to its public API for backward compatibility.\n// Please note that every utility do not have to be added to the core API.\nimport $ from 'jquery';\nimport { Foundation } from '../../foundation.core';\nimport { Plugin } from '../../foundation.core.plugin';\nimport { rtl, GetYoDigits, transitionend, RegExpEscape, onLoad } from '../../foundation.core.utils';\n\nFoundation.addToJquery($);\n\n// Every plugin depends on plugin now, we can include that on the core for the\n// script inclusion path.\nFoundation.Plugin = Plugin;\n\n// These are now separated out, but historically were a part of this module,\n// and since this is here for backwards compatibility we include them in\n// this entry.\nFoundation.rtl = rtl;\nFoundation.GetYoDigits = GetYoDigits;\nFoundation.transitionend = transitionend;\nFoundation.RegExpEscape = RegExpEscape;\nFoundation.onLoad = onLoad;\n\nwindow.Foundation = Foundation;\n\n// --- Foundation Core exports ---\n// Export \"Plugin\" and all core utilities, since the `foundation.core` entry plays the role of\n// all core source files.\n\nexport { Foundation };\nexport * from '../../foundation.core.plugin';\nexport * from '../../foundation.core.utils';\n","\"use strict\";\n\nimport $ from 'jquery';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { MediaQuery } from './foundation.util.mediaQuery';\n\nvar FOUNDATION_VERSION = '6.6.3';\n\n// Global Foundation object\n// This is attached to the window, or used as a module for AMD/Browserify\nvar Foundation = {\n version: FOUNDATION_VERSION,\n\n /**\n * Stores initialized plugins.\n */\n _plugins: {},\n\n /**\n * Stores generated unique ids for plugin instances\n */\n _uuids: [],\n\n /**\n * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing.\n * @param {Object} plugin - The constructor of the plugin.\n */\n plugin: function(plugin, name) {\n // Object key to use when adding to global Foundation object\n // Examples: Foundation.Reveal, Foundation.OffCanvas\n var className = (name || functionName(plugin));\n // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin\n // Examples: data-reveal, data-off-canvas\n var attrName = hyphenate(className);\n\n // Add to the Foundation object and the plugins list (for reflowing)\n this._plugins[attrName] = this[className] = plugin;\n },\n /**\n * @function\n * Populates the _uuids array with pointers to each individual plugin instance.\n * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls.\n * Also fires the initialization event for each plugin, consolidating repetitive code.\n * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n * @param {String} name - the name of the plugin, passed as a camelCased string.\n * @fires Plugin#init\n */\n registerPlugin: function(plugin, name){\n var pluginName = name ? hyphenate(name) : functionName(plugin.constructor).toLowerCase();\n plugin.uuid = GetYoDigits(6, pluginName);\n\n if(!plugin.$element.attr(`data-${pluginName}`)){ plugin.$element.attr(`data-${pluginName}`, plugin.uuid); }\n if(!plugin.$element.data('zfPlugin')){ plugin.$element.data('zfPlugin', plugin); }\n /**\n * Fires when the plugin has initialized.\n * @event Plugin#init\n */\n plugin.$element.trigger(`init.zf.${pluginName}`);\n\n this._uuids.push(plugin.uuid);\n\n return;\n },\n /**\n * @function\n * Removes the plugins uuid from the _uuids array.\n * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute.\n * Also fires the destroyed event for the plugin, consolidating repetitive code.\n * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n * @fires Plugin#destroyed\n */\n unregisterPlugin: function(plugin){\n var pluginName = hyphenate(functionName(plugin.$element.data('zfPlugin').constructor));\n\n this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1);\n plugin.$element.removeAttr(`data-${pluginName}`).removeData('zfPlugin')\n /**\n * Fires when the plugin has been destroyed.\n * @event Plugin#destroyed\n */\n .trigger(`destroyed.zf.${pluginName}`);\n for(var prop in plugin){\n plugin[prop] = null;//clean up script to prep for garbage collection.\n }\n return;\n },\n\n /**\n * @function\n * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc.\n * @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'`\n * @default If no argument is passed, reflow all currently active plugins.\n */\n reInit: function(plugins){\n var isJQ = plugins instanceof $;\n try{\n if(isJQ){\n plugins.each(function(){\n $(this).data('zfPlugin')._init();\n });\n }else{\n var type = typeof plugins,\n _this = this,\n fns = {\n 'object': function(plgs){\n plgs.forEach(function(p){\n p = hyphenate(p);\n $('[data-'+ p +']').foundation('_init');\n });\n },\n 'string': function(){\n plugins = hyphenate(plugins);\n $('[data-'+ plugins +']').foundation('_init');\n },\n 'undefined': function(){\n this['object'](Object.keys(_this._plugins));\n }\n };\n fns[type](plugins);\n }\n }catch(err){\n console.error(err);\n }finally{\n return plugins;\n }\n },\n\n /**\n * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized.\n * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object.\n * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything.\n */\n reflow: function(elem, plugins) {\n\n // If plugins is undefined, just grab everything\n if (typeof plugins === 'undefined') {\n plugins = Object.keys(this._plugins);\n }\n // If plugins is a string, convert it to an array with one item\n else if (typeof plugins === 'string') {\n plugins = [plugins];\n }\n\n var _this = this;\n\n // Iterate through each plugin\n $.each(plugins, function(i, name) {\n // Get the current plugin\n var plugin = _this._plugins[name];\n\n // Localize the search to all elements inside elem, as well as elem itself, unless elem === document\n var $elem = $(elem).find('[data-'+name+']').addBack('[data-'+name+']').filter(function () {\n return typeof $(this).data(\"zfPlugin\") === 'undefined';\n });\n\n // For each plugin found, initialize it\n $elem.each(function() {\n var $el = $(this),\n opts = { reflow: true };\n\n if($el.attr('data-options')){\n $el.attr('data-options').split(';').forEach(function(option, _index){\n var opt = option.split(':').map(function(el){ return el.trim(); });\n if(opt[0]) opts[opt[0]] = parseValue(opt[1]);\n });\n }\n try{\n $el.data('zfPlugin', new plugin($(this), opts));\n }catch(er){\n console.error(er);\n }finally{\n return;\n }\n });\n });\n },\n getFnName: functionName,\n\n addToJquery: function($) {\n // TODO: consider not making this a jQuery function\n // TODO: need way to reflow vs. re-initialize\n /**\n * The Foundation jQuery method.\n * @param {String|Array} method - An action to perform on the current jQuery object.\n */\n var foundation = function(method) {\n var type = typeof method,\n $noJS = $('.no-js');\n\n if($noJS.length){\n $noJS.removeClass('no-js');\n }\n\n if(type === 'undefined'){//needs to initialize the Foundation object, or an individual plugin.\n MediaQuery._init();\n Foundation.reflow(this);\n }else if(type === 'string'){//an individual method to invoke on a plugin or group of plugins\n var args = Array.prototype.slice.call(arguments, 1);//collect all the arguments, if necessary\n var plugClass = this.data('zfPlugin');//determine the class of plugin\n\n if(typeof plugClass !== 'undefined' && typeof plugClass[method] !== 'undefined'){//make sure both the class and method exist\n if(this.length === 1){//if there's only one, call it directly.\n plugClass[method].apply(plugClass, args);\n }else{\n this.each(function(i, el){//otherwise loop through the jQuery collection and invoke the method on each\n plugClass[method].apply($(el).data('zfPlugin'), args);\n });\n }\n }else{//error for no class or no method\n throw new ReferenceError(\"We're sorry, '\" + method + \"' is not an available method for \" + (plugClass ? functionName(plugClass) : 'this element') + '.');\n }\n }else{//error for invalid argument type\n throw new TypeError(`We're sorry, ${type} is not a valid parameter. You must use a string representing the method you wish to invoke.`);\n }\n return this;\n };\n $.fn.foundation = foundation;\n return $;\n }\n};\n\nFoundation.util = {\n /**\n * Function for applying a debounce effect to a function call.\n * @function\n * @param {Function} func - Function to be called at end of timeout.\n * @param {Number} delay - Time in ms to delay the call of `func`.\n * @returns function\n */\n throttle: function (func, delay) {\n var timer = null;\n\n return function () {\n var context = this, args = arguments;\n\n if (timer === null) {\n timer = setTimeout(function () {\n func.apply(context, args);\n timer = null;\n }, delay);\n }\n };\n }\n};\n\nwindow.Foundation = Foundation;\n\n// Polyfill for requestAnimationFrame\n(function() {\n if (!Date.now || !window.Date.now)\n window.Date.now = Date.now = function() { return new Date().getTime(); };\n\n var vendors = ['webkit', 'moz'];\n for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {\n var vp = vendors[i];\n window.requestAnimationFrame = window[vp+'RequestAnimationFrame'];\n window.cancelAnimationFrame = (window[vp+'CancelAnimationFrame']\n || window[vp+'CancelRequestAnimationFrame']);\n }\n if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)\n || !window.requestAnimationFrame || !window.cancelAnimationFrame) {\n var lastTime = 0;\n window.requestAnimationFrame = function(callback) {\n var now = Date.now();\n var nextTime = Math.max(lastTime + 16, now);\n return setTimeout(function() { callback(lastTime = nextTime); },\n nextTime - now);\n };\n window.cancelAnimationFrame = clearTimeout;\n }\n /**\n * Polyfill for performance.now, required by rAF\n */\n if(!window.performance || !window.performance.now){\n window.performance = {\n start: Date.now(),\n now: function(){ return Date.now() - this.start; }\n };\n }\n})();\nif (!Function.prototype.bind) {\n Function.prototype.bind = function(oThis) {\n if (typeof this !== 'function') {\n // closest thing possible to the ECMAScript 5\n // internal IsCallable function\n throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');\n }\n\n var aArgs = Array.prototype.slice.call(arguments, 1),\n fToBind = this,\n fNOP = function() {},\n fBound = function() {\n return fToBind.apply(this instanceof fNOP\n ? this\n : oThis,\n aArgs.concat(Array.prototype.slice.call(arguments)));\n };\n\n if (this.prototype) {\n // native functions don't have a prototype\n fNOP.prototype = this.prototype;\n }\n fBound.prototype = new fNOP();\n\n return fBound;\n };\n}\n// Polyfill to get the name of a function in IE9\nfunction functionName(fn) {\n if (typeof Function.prototype.name === 'undefined') {\n var funcNameRegex = /function\\s([^(]{1,})\\(/;\n var results = (funcNameRegex).exec((fn).toString());\n return (results && results.length > 1) ? results[1].trim() : \"\";\n }\n else if (typeof fn.prototype === 'undefined') {\n return fn.constructor.name;\n }\n else {\n return fn.prototype.constructor.name;\n }\n}\nfunction parseValue(str){\n if ('true' === str) return true;\n else if ('false' === str) return false;\n else if (!isNaN(str * 1)) return parseFloat(str);\n return str;\n}\n// Convert PascalCase to kebab-case\n// Thank you: http://stackoverflow.com/a/8955580\nfunction hyphenate(str) {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nexport {Foundation};\n","'use strict';\n\nimport $ from 'jquery';\nimport { GetYoDigits } from './foundation.core.utils';\n\n// Abstract class for providing lifecycle hooks. Expect plugins to define AT LEAST\n// {function} _setup (replaces previous constructor),\n// {function} _destroy (replaces previous destroy)\nclass Plugin {\n\n constructor(element, options) {\n this._setup(element, options);\n var pluginName = getPluginName(this);\n this.uuid = GetYoDigits(6, pluginName);\n\n if(!this.$element.attr(`data-${pluginName}`)){ this.$element.attr(`data-${pluginName}`, this.uuid); }\n if(!this.$element.data('zfPlugin')){ this.$element.data('zfPlugin', this); }\n /**\n * Fires when the plugin has initialized.\n * @event Plugin#init\n */\n this.$element.trigger(`init.zf.${pluginName}`);\n }\n\n destroy() {\n this._destroy();\n var pluginName = getPluginName(this);\n this.$element.removeAttr(`data-${pluginName}`).removeData('zfPlugin')\n /**\n * Fires when the plugin has been destroyed.\n * @event Plugin#destroyed\n */\n .trigger(`destroyed.zf.${pluginName}`);\n for(var prop in this){\n this[prop] = null;//clean up script to prep for garbage collection.\n }\n }\n}\n\n// Convert PascalCase to kebab-case\n// Thank you: http://stackoverflow.com/a/8955580\nfunction hyphenate(str) {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nfunction getPluginName(obj) {\n return hyphenate(obj.className);\n}\n\nexport {Plugin};\n","\"use strict\";\n\nimport $ from 'jquery';\n\n// Core Foundation Utilities, utilized in a number of places.\n\n /**\n * Returns a boolean for RTL support\n */\nfunction rtl() {\n return $('html').attr('dir') === 'rtl';\n}\n\n/**\n * returns a random base-36 uid with namespacing\n * @function\n * @param {Number} length - number of random base-36 digits desired. Increase for more random strings.\n * @param {String} namespace - name of plugin to be incorporated in uid, optional.\n * @default {String} '' - if no plugin name is provided, nothing is appended to the uid.\n * @returns {String} - unique id\n */\nfunction GetYoDigits(length = 6, namespace){\n let str = '';\n const chars = '0123456789abcdefghijklmnopqrstuvwxyz';\n const charsLength = chars.length;\n for (let i = 0; i < length; i++) {\n str += chars[Math.floor(Math.random() * charsLength)];\n }\n return namespace ? `${str}-${namespace}` : str;\n}\n\n/**\n * Escape a string so it can be used as a regexp pattern\n * @function\n * @see https://stackoverflow.com/a/9310752/4317384\n *\n * @param {String} str - string to escape.\n * @returns {String} - escaped string\n */\nfunction RegExpEscape(str){\n return str.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n}\n\nfunction transitionend($elem){\n var transitions = {\n 'transition': 'transitionend',\n 'WebkitTransition': 'webkitTransitionEnd',\n 'MozTransition': 'transitionend',\n 'OTransition': 'otransitionend'\n };\n var elem = document.createElement('div'),\n end;\n\n for (let transition in transitions){\n if (typeof elem.style[transition] !== 'undefined'){\n end = transitions[transition];\n }\n }\n if (end) {\n return end;\n } else {\n setTimeout(function(){\n $elem.triggerHandler('transitionend', [$elem]);\n }, 1);\n return 'transitionend';\n }\n}\n\n/**\n * Return an event type to listen for window load.\n *\n * If `$elem` is passed, an event will be triggered on `$elem`. If window is already loaded, the event will still be triggered.\n * If `handler` is passed, attach it to the event on `$elem`.\n * Calling `onLoad` without handler allows you to get the event type that will be triggered before attaching the handler by yourself.\n * @function\n *\n * @param {Object} [] $elem - jQuery element on which the event will be triggered if passed.\n * @param {Function} [] handler - function to attach to the event.\n * @returns {String} - event type that should or will be triggered.\n */\nfunction onLoad($elem, handler) {\n const didLoad = document.readyState === 'complete';\n const eventType = (didLoad ? '_didLoad' : 'load') + '.zf.util.onLoad';\n const cb = () => $elem.triggerHandler(eventType);\n\n if ($elem) {\n if (handler) $elem.one(eventType, handler);\n\n if (didLoad)\n setTimeout(cb);\n else\n $(window).one('load', cb);\n }\n\n return eventType;\n}\n\n/**\n * Retuns an handler for the `mouseleave` that ignore disappeared mouses.\n *\n * If the mouse \"disappeared\" from the document (like when going on a browser UI element, See https://git.io/zf-11410),\n * the event is ignored.\n * - If the `ignoreLeaveWindow` is `true`, the event is ignored when the user actually left the window\n * (like by switching to an other window with [Alt]+[Tab]).\n * - If the `ignoreReappear` is `true`, the event will be ignored when the mouse will reappear later on the document\n * outside of the element it left.\n *\n * @function\n *\n * @param {Function} [] handler - handler for the filtered `mouseleave` event to watch.\n * @param {Object} [] options - object of options:\n * - {Boolean} [false] ignoreLeaveWindow - also ignore when the user switched windows.\n * - {Boolean} [false] ignoreReappear - also ignore when the mouse reappeared outside of the element it left.\n * @returns {Function} - filtered handler to use to listen on the `mouseleave` event.\n */\nfunction ignoreMousedisappear(handler, { ignoreLeaveWindow = false, ignoreReappear = false } = {}) {\n return function leaveEventHandler(eLeave, ...rest) {\n const callback = handler.bind(this, eLeave, ...rest);\n\n // The mouse left: call the given callback if the mouse entered elsewhere\n if (eLeave.relatedTarget !== null) {\n return callback();\n }\n\n // Otherwise, check if the mouse actually left the window.\n // In firefox if the user switched between windows, the window sill have the focus by the time\n // the event is triggered. We have to debounce the event to test this case.\n setTimeout(function leaveEventDebouncer() {\n if (!ignoreLeaveWindow && document.hasFocus && !document.hasFocus()) {\n return callback();\n }\n\n // Otherwise, wait for the mouse to reeapear outside of the element,\n if (!ignoreReappear) {\n $(document).one('mouseenter', function reenterEventHandler(eReenter) {\n if (!$(eLeave.currentTarget).has(eReenter.target).length) {\n // Fill where the mouse finally entered.\n eLeave.relatedTarget = eReenter.target;\n callback();\n }\n });\n }\n\n }, 0);\n };\n}\n\n\nexport { rtl, GetYoDigits, RegExpEscape, transitionend, onLoad, ignoreMousedisappear };\n","'use strict';\n\nimport $ from 'jquery';\n\n// Default set of media queries\nconst defaultQueries = {\n 'default' : 'only screen',\n landscape : 'only screen and (orientation: landscape)',\n portrait : 'only screen and (orientation: portrait)',\n retina : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +\n 'only screen and (min--moz-device-pixel-ratio: 2),' +\n 'only screen and (-o-min-device-pixel-ratio: 2/1),' +\n 'only screen and (min-device-pixel-ratio: 2),' +\n 'only screen and (min-resolution: 192dpi),' +\n 'only screen and (min-resolution: 2dppx)'\n };\n\n\n// matchMedia() polyfill - Test a CSS media type/query in JS.\n// Authors & copyright © 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license\n/* eslint-disable */\nwindow.matchMedia || (window.matchMedia = (function () {\n \"use strict\";\n\n // For browsers that support matchMedium api such as IE 9 and webkit\n var styleMedia = (window.styleMedia || window.media);\n\n // For those that don't support matchMedium\n if (!styleMedia) {\n var style = document.createElement('style'),\n script = document.getElementsByTagName('script')[0],\n info = null;\n\n style.type = 'text/css';\n style.id = 'matchmediajs-test';\n\n if (!script) {\n document.head.appendChild(style);\n } else {\n script.parentNode.insertBefore(style, script);\n }\n\n // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\n info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle;\n\n styleMedia = {\n matchMedium: function (media) {\n var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';\n\n // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\n if (style.styleSheet) {\n style.styleSheet.cssText = text;\n } else {\n style.textContent = text;\n }\n\n // Test if media query is true or false\n return info.width === '1px';\n }\n };\n }\n\n return function(media) {\n return {\n matches: styleMedia.matchMedium(media || 'all'),\n media: media || 'all'\n };\n };\n})());\n/* eslint-enable */\n\nvar MediaQuery = {\n queries: [],\n\n current: '',\n\n /**\n * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.\n * @function\n * @private\n */\n _init() {\n\n // make sure the initialization is only done once when calling _init() several times\n if (this.isInitialized === true) {\n return;\n } else {\n this.isInitialized = true;\n }\n\n var self = this;\n var $meta = $('meta.foundation-mq');\n if(!$meta.length){\n $('<meta class=\"foundation-mq\">').appendTo(document.head);\n }\n\n var extractedStyles = $('.foundation-mq').css('font-family');\n var namedQueries;\n\n namedQueries = parseStyleToObject(extractedStyles);\n\n self.queries = []; // reset\n\n for (var key in namedQueries) {\n if(namedQueries.hasOwnProperty(key)) {\n self.queries.push({\n name: key,\n value: `only screen and (min-width: ${namedQueries[key]})`\n });\n }\n }\n\n this.current = this._getCurrentSize();\n\n this._watcher();\n },\n\n /**\n * Reinitializes the media query helper.\n * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization.\n * @function\n * @private\n */\n _reInit() {\n this.isInitialized = false;\n this._init();\n },\n\n /**\n * Checks if the screen is at least as wide as a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.\n */\n atLeast(size) {\n var query = this.get(size);\n\n if (query) {\n return window.matchMedia(query).matches;\n }\n\n return false;\n },\n\n /**\n * Checks if the screen is within the given breakpoint.\n * If smaller than the breakpoint of larger than its upper limit it returns false.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise.\n */\n only(size) {\n return size === this._getCurrentSize();\n },\n\n /**\n * Checks if the screen is within a breakpoint or smaller.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger.\n */\n upTo(size) {\n const nextSize = this.next(size);\n\n // If the next breakpoint does not match, the screen is smaller than\n // the upper limit of this breakpoint.\n if (nextSize) {\n return !this.atLeast(nextSize);\n }\n\n // If there is no next breakpoint, the \"size\" breakpoint does not have\n // an upper limit and the screen will always be within it or smaller.\n return true;\n },\n\n /**\n * Checks if the screen matches to a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.\n */\n is(size) {\n const parts = size.trim().split(' ').filter(p => !!p.length);\n const [bpSize, bpModifier = ''] = parts;\n\n // Only the breakpont\n if (bpModifier === 'only') {\n return this.only(bpSize);\n }\n // At least the breakpoint (included)\n if (!bpModifier || bpModifier === 'up') {\n return this.atLeast(bpSize);\n }\n // Up to the breakpoint (included)\n if (bpModifier === 'down') {\n return this.upTo(bpSize);\n }\n\n throw new Error(`\n Invalid breakpoint passed to MediaQuery.is().\n Expected a breakpoint name formatted like \"<size> <modifier>\", got \"${size}\".\n `);\n },\n\n /**\n * Gets the media query of a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to get.\n * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.\n */\n get(size) {\n for (var i in this.queries) {\n if(this.queries.hasOwnProperty(i)) {\n var query = this.queries[i];\n if (size === query.name) return query.value;\n }\n }\n\n return null;\n },\n\n /**\n * Get the breakpoint following the given breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint.\n * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one.\n */\n next(size) {\n const queryIndex = this.queries.findIndex((q) => this._getQueryName(q) === size);\n if (queryIndex === -1) {\n throw new Error(`\n Unknown breakpoint \"${size}\" passed to MediaQuery.next().\n Ensure it is present in your Sass \"$breakpoints\" setting.\n `);\n }\n\n const nextQuery = this.queries[queryIndex + 1];\n return nextQuery ? nextQuery.name : null;\n },\n\n /**\n * Returns the name of the breakpoint related to the given value.\n * @function\n * @private\n * @param {String|Object} value - Breakpoint name or query object.\n * @returns {String} Name of the breakpoint.\n */\n _getQueryName(value) {\n if (typeof value === 'string')\n return value;\n if (typeof value === 'object')\n return value.name;\n throw new TypeError(`\n Invalid value passed to MediaQuery._getQueryName().\n Expected a breakpoint name (String) or a breakpoint query (Object), got \"${value}\" (${typeof value})\n `);\n },\n\n /**\n * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).\n * @function\n * @private\n * @returns {String} Name of the current breakpoint.\n */\n _getCurrentSize() {\n var matched;\n\n for (var i = 0; i < this.queries.length; i++) {\n var query = this.queries[i];\n\n if (window.matchMedia(query.value).matches) {\n matched = query;\n }\n }\n\n return matched && this._getQueryName(matched);\n },\n\n /**\n * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.\n * @function\n * @private\n */\n _watcher() {\n $(window).off('resize.zf.mediaquery').on('resize.zf.mediaquery', () => {\n var newSize = this._getCurrentSize(), currentSize = this.current;\n\n if (newSize !== currentSize) {\n // Change the current media query\n this.current = newSize;\n\n // Broadcast the media query change on the window\n $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);\n }\n });\n }\n};\n\n\n\n// Thank you: https://github.com/sindresorhus/query-string\nfunction parseStyleToObject(str) {\n var styleObject = {};\n\n if (typeof str !== 'string') {\n return styleObject;\n }\n\n str = str.trim().slice(1, -1); // browsers re-quote string style values\n\n if (!str) {\n return styleObject;\n }\n\n styleObject = str.split('&').reduce(function(ret, param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = parts[0];\n var val = parts[1];\n key = decodeURIComponent(key);\n\n // missing `=` should be `null`:\n // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n val = typeof val === 'undefined' ? null : decodeURIComponent(val);\n\n if (!ret.hasOwnProperty(key)) {\n ret[key] = val;\n } else if (Array.isArray(ret[key])) {\n ret[key].push(val);\n } else {\n ret[key] = [ret[key], val];\n }\n return ret;\n }, {});\n\n return styleObject;\n}\n\nexport {MediaQuery};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""}
|