{"version":3,"file":"foundation.interchange.min.js","sources":["foundation.interchange.min.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.interchange\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.interchange\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 7);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./foundation.util.mediaQuery\":\n/*!************************************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.mediaQuery\"],\"amd\":\"./foundation.util.mediaQuery\",\"commonjs\":\"./foundation.util.mediaQuery\",\"commonjs2\":\"./foundation.util.mediaQuery\"} ***!\n \\************************************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;\n\n/***/ }),\n\n/***/ \"./foundation.util.motion\":\n/*!********************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"} ***!\n \\********************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.interchange.js\":\n/*!******************************************************!*\\\n !*** ./js/entries/plugins/foundation.interchange.js ***!\n \\******************************************************/\n/*! exports provided: Foundation, Interchange */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"]; });\n\n/* harmony import */ var _foundation_interchange__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.interchange */ \"./js/foundation.interchange.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Interchange\", function() { return _foundation_interchange__WEBPACK_IMPORTED_MODULE_1__[\"Interchange\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].plugin(_foundation_interchange__WEBPACK_IMPORTED_MODULE_1__[\"Interchange\"], 'Interchange');\n\n\n/***/ }),\n\n/***/ \"./js/foundation.interchange.js\":\n/*!**************************************!*\\\n !*** ./js/foundation.interchange.js ***!\n \\**************************************/\n/*! exports provided: Interchange */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Interchange\", function() { return Interchange; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ \"./foundation.util.mediaQuery\");\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./foundation.core\");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.triggers */ \"./js/foundation.util.triggers.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Interchange module.\n * @module foundation.interchange\n * @requires foundation.util.mediaQuery\n */\n\nvar Interchange = /*#__PURE__*/function (_Plugin) {\n _inherits(Interchange, _Plugin);\n\n var _super = _createSuper(Interchange);\n\n function Interchange() {\n _classCallCheck(this, Interchange);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Interchange, [{\n key: \"_setup\",\n value:\n /**\n * Creates a new instance of Interchange.\n * @class\n * @name Interchange\n * @fires Interchange#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n function _setup(element, options) {\n this.$element = element;\n this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Interchange.defaults, this.$element.data(), options);\n this.rules = [];\n this.currentPath = '';\n this.className = 'Interchange'; // ie9 back compat\n // Triggers init is idempotent, just need to make sure it is initialized\n\n _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__[\"Triggers\"].init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);\n\n this._init();\n\n this._events();\n }\n /**\n * Initializes the Interchange plugin and calls functions to get interchange functioning on load.\n * @function\n * @private\n */\n\n }, {\n key: \"_init\",\n value: function _init() {\n _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__[\"MediaQuery\"]._init();\n\n var id = this.$element[0].id || Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__[\"GetYoDigits\"])(6, 'interchange');\n this.$element.attr({\n 'data-resize': id,\n 'id': id\n });\n\n this._parseOptions();\n\n this._addBreakpoints();\n\n this._generateRules();\n\n this._reflow();\n }\n /**\n * Initializes events for Interchange.\n * @function\n * @private\n */\n\n }, {\n key: \"_events\",\n value: function _events() {\n var _this = this;\n\n this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger', function () {\n return _this._reflow();\n });\n }\n /**\n * Calls necessary functions to update Interchange upon DOM change\n * @function\n * @private\n */\n\n }, {\n key: \"_reflow\",\n value: function _reflow() {\n var match; // Iterate through each rule, but only save the last match\n\n for (var i in this.rules) {\n if (this.rules.hasOwnProperty(i)) {\n var rule = this.rules[i];\n\n if (window.matchMedia(rule.query).matches) {\n match = rule;\n }\n }\n }\n\n if (match) {\n this.replace(match.path);\n }\n }\n /**\n * Check options valifity and set defaults for:\n * - `data-interchange-type`: if set, enforce the type of replacement (auto, src, background or html)\n * @function\n * @private\n */\n\n }, {\n key: \"_parseOptions\",\n value: function _parseOptions() {\n var types = ['auto', 'src', 'background', 'html'];\n if (typeof this.options.type === 'undefined') this.options.type = 'auto';else if (types.indexOf(this.options.type) === -1) {\n console.warn(\"Warning: invalid value \\\"\".concat(this.options.type, \"\\\" for Interchange option \\\"type\\\"\"));\n this.options.type = 'auto';\n }\n }\n /**\n * Gets the Foundation breakpoints and adds them to the Interchange.SPECIAL_QUERIES object.\n * @function\n * @private\n */\n\n }, {\n key: \"_addBreakpoints\",\n value: function _addBreakpoints() {\n for (var i in _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__[\"MediaQuery\"].queries) {\n if (_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__[\"MediaQuery\"].queries.hasOwnProperty(i)) {\n var query = _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__[\"MediaQuery\"].queries[i];\n Interchange.SPECIAL_QUERIES[query.name] = query.value;\n }\n }\n }\n /**\n * Checks the Interchange element for the provided media query + content pairings\n * @function\n * @private\n * @returns {Array} scenarios - Array of objects that have 'mq' and 'path' keys with corresponding keys\n */\n\n }, {\n key: \"_generateRules\",\n value: function _generateRules() {\n var rulesList = [];\n var rules;\n\n if (this.options.rules) {\n rules = this.options.rules;\n } else {\n rules = this.$element.data('interchange');\n }\n\n rules = typeof rules === 'string' ? rules.match(/\\[.*?, .*?\\]/g) : rules;\n\n for (var i in rules) {\n if (rules.hasOwnProperty(i)) {\n var rule = rules[i].slice(1, -1).split(', ');\n var path = rule.slice(0, -1).join('');\n var query = rule[rule.length - 1];\n\n if (Interchange.SPECIAL_QUERIES[query]) {\n query = Interchange.SPECIAL_QUERIES[query];\n }\n\n rulesList.push({\n path: path,\n query: query\n });\n }\n }\n\n this.rules = rulesList;\n }\n /**\n * Update the `src` property of an image, or change the HTML of a container, to the specified path.\n * @function\n * @param {String} path - Path to the image or HTML partial.\n * @fires Interchange#replaced\n */\n\n }, {\n key: \"replace\",\n value: function replace(path) {\n var _this2 = this;\n\n if (this.currentPath === path) return;\n var trigger = 'replaced.zf.interchange';\n var type = this.options.type;\n\n if (type === 'auto') {\n if (this.$element[0].nodeName === 'IMG') type = 'src';else if (path.match(/\\.(gif|jpe?g|png|svg|tiff)([?#].*)?/i)) type = 'background';else type = 'html';\n } // Replacing images\n\n\n if (type === 'src') {\n this.$element.attr('src', path).on('load', function () {\n _this2.currentPath = path;\n }).trigger(trigger);\n } // Replacing background images\n else if (type === 'background') {\n path = path.replace(/\\(/g, '%28').replace(/\\)/g, '%29');\n this.$element.css({\n 'background-image': 'url(' + path + ')'\n }).trigger(trigger);\n } // Replacing HTML\n else if (type === 'html') {\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.get(path, function (response) {\n _this2.$element.html(response).trigger(trigger);\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(response).foundation();\n _this2.currentPath = path;\n });\n }\n /**\n * Fires when content in an Interchange element is done being loaded.\n * @event Interchange#replaced\n */\n // this.$element.trigger('replaced.zf.interchange');\n\n }\n /**\n * Destroys an instance of interchange.\n * @function\n */\n\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n this.$element.off('resizeme.zf.trigger');\n }\n }]);\n\n return Interchange;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__[\"Plugin\"]);\n/**\n * Default settings for plugin\n */\n\n\nInterchange.defaults = {\n /**\n * Rules to be applied to Interchange elements. Set with the `data-interchange` array notation.\n * @option\n * @type {?array}\n * @default null\n */\n rules: null,\n\n /**\n * Type of the responsive ressource to replace. It can take the following options:\n * - `auto` (default): choose the type according to the element tag or the ressource extension,\n * - `src`: replace the `[src]` attribute, recommended for images ``.\n * - `background`: replace the `background-image` CSS property.\n * - `html`: replace the element content.\n * @option\n * @type {string}\n * @default 'auto'\n */\n type: 'auto'\n};\nInterchange.SPECIAL_QUERIES = {\n 'landscape': 'screen and (orientation: landscape)',\n 'portrait': 'screen and (orientation: portrait)',\n 'retina': 'only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)'\n};\n\n\n/***/ }),\n\n/***/ \"./js/foundation.util.triggers.js\":\n/*!****************************************!*\\\n !*** ./js/foundation.util.triggers.js ***!\n \\****************************************/\n/*! exports provided: Triggers */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Triggers\", function() { return Triggers; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ \"./foundation.core\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.motion */ \"./foundation.util.motion\");\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__);\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n\n\nvar MutationObserver = function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n\n for (var i = 0; i < prefixes.length; i++) {\n if (\"\".concat(prefixes[i], \"MutationObserver\") in window) {\n return window[\"\".concat(prefixes[i], \"MutationObserver\")];\n }\n }\n\n return false;\n}();\n\nvar triggers = function triggers(el, type) {\n el.data(type).split(' ').forEach(function (id) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(id))[type === 'close' ? 'trigger' : 'triggerHandler'](\"\".concat(type, \".zf.trigger\"), [el]);\n });\n};\n\nvar Triggers = {\n Listeners: {\n Basic: {},\n Global: {}\n },\n Initializers: {}\n};\nTriggers.Listeners.Basic = {\n openListener: function openListener() {\n triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'open');\n },\n closeListener: function closeListener() {\n var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('close');\n\n if (id) {\n triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'close');\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('close.zf.trigger');\n }\n },\n toggleListener: function toggleListener() {\n var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle');\n\n if (id) {\n triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'toggle');\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('toggle.zf.trigger');\n }\n },\n closeableListener: function closeableListener(e) {\n var animation = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('closable'); // Only close the first closable element. See https://git.io/zf-7833\n\n e.stopPropagation();\n\n if (animation !== '') {\n _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__[\"Motion\"].animateOut(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), animation, function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('closed.zf');\n });\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function toggleFocusListener() {\n var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle-focus');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(id)).triggerHandler('toggle.zf.trigger', [jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)]);\n }\n}; // Elements with [data-open] will reveal a plugin that supports it when clicked.\n\nTriggers.Initializers.addOpenListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}; // Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\n\n\nTriggers.Initializers.addCloseListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}; // Elements with [data-toggle] will toggle a plugin that supports it when clicked.\n\n\nTriggers.Initializers.addToggleListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}; // Elements with [data-closable] will respond to close.zf.trigger events.\n\n\nTriggers.Initializers.addCloseableListener = function ($elem) {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}; // Elements with [data-toggle-focus] will respond to coming in and out of focus\n\n\nTriggers.Initializers.addToggleFocusListener = function ($elem) {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}; // More Global/complex listeners and triggers\n\n\nTriggers.Listeners.Global = {\n resizeListener: function resizeListener($nodes) {\n if (!MutationObserver) {\n //fallback for IE 9\n $nodes.each(function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('resizeme.zf.trigger');\n });\n } //trigger all listening elements and signal a resize event\n\n\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function scrollListener($nodes) {\n if (!MutationObserver) {\n //fallback for IE 9\n $nodes.each(function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('scrollme.zf.trigger');\n });\n } //trigger all listening elements and signal a scroll event\n\n\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function closeMeListener(e, pluginId) {\n var plugin = e.namespace.split('.')[0];\n var plugins = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-\".concat(plugin, \"]\")).not(\"[data-yeti-box=\\\"\".concat(pluginId, \"\\\"]\"));\n plugins.each(function () {\n var _this = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n}; // Global, parses whole document.\n\nTriggers.Initializers.addClosemeListener = function (pluginName) {\n var yetiBoxes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if (pluginName) {\n if (typeof pluginName === 'string') {\n plugNames.push(pluginName);\n } else if (_typeof(pluginName) === 'object' && typeof pluginName[0] === 'string') {\n plugNames = plugNames.concat(pluginName);\n } else {\n console.error('Plugin names must be strings');\n }\n }\n\n if (yetiBoxes.length) {\n var listeners = plugNames.map(function (name) {\n return \"closeme.zf.\".concat(name);\n }).join(' ');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n};\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n var timer,\n args = Array.prototype.slice.call(arguments, 3);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on(trigger, function () {\n if (timer) {\n clearTimeout(timer);\n }\n\n timer = setTimeout(function () {\n listener.apply(null, args);\n }, debounce || 10); //default time to emit scroll event\n });\n}\n\nTriggers.Initializers.addResizeListener = function (debounce) {\n var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-resize]');\n\n if ($nodes.length) {\n debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);\n }\n};\n\nTriggers.Initializers.addScrollListener = function (debounce) {\n var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-scroll]');\n\n if ($nodes.length) {\n debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);\n }\n};\n\nTriggers.Initializers.addMutationEventsListener = function ($elem) {\n if (!MutationObserver) {\n return false;\n }\n\n var $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]'); //element callback\n\n var listeningElementsMutation = function listeningElementsMutation(mutationRecordsList) {\n var $target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(mutationRecordsList[0].target); //trigger the event handler for the element depending on type\n\n switch (mutationRecordsList[0].type) {\n case \"attributes\":\n if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n }\n\n if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('resizeme.zf.trigger', [$target]);\n }\n\n if (mutationRecordsList[0].attributeName === \"style\") {\n $target.closest(\"[data-mutate]\").attr(\"data-events\", \"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n }\n\n break;\n\n case \"childList\":\n $target.closest(\"[data-mutate]\").attr(\"data-events\", \"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n break;\n\n default:\n return false;\n //nothing\n }\n };\n\n if ($nodes.length) {\n //for each element that needs to listen for resizing, scrolling, or mutation add a single observer\n for (var i = 0; i <= $nodes.length - 1; i++) {\n var elementObserver = new MutationObserver(listeningElementsMutation);\n elementObserver.observe($nodes[i], {\n attributes: true,\n childList: true,\n characterData: false,\n subtree: true,\n attributeFilter: [\"data-events\", \"style\"]\n });\n }\n }\n};\n\nTriggers.Initializers.addSimpleListeners = function () {\n var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document);\n Triggers.Initializers.addOpenListener($document);\n Triggers.Initializers.addCloseListener($document);\n Triggers.Initializers.addToggleListener($document);\n Triggers.Initializers.addCloseableListener($document);\n Triggers.Initializers.addToggleFocusListener($document);\n};\n\nTriggers.Initializers.addGlobalListeners = function () {\n var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document);\n Triggers.Initializers.addMutationEventsListener($document);\n Triggers.Initializers.addResizeListener(250);\n Triggers.Initializers.addScrollListener();\n Triggers.Initializers.addClosemeListener();\n};\n\nTriggers.init = function (__, Foundation) {\n Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"onLoad\"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default.a.triggersInitialized !== true) {\n Triggers.Initializers.addSimpleListeners();\n Triggers.Initializers.addGlobalListeners();\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.triggersInitialized = true;\n }\n });\n\n if (Foundation) {\n Foundation.Triggers = Triggers; // Legacy included to be backwards compatible for now.\n\n Foundation.IHearYou = Triggers.Initializers.addGlobalListeners;\n }\n};\n\n\n\n/***/ }),\n\n/***/ 7:\n/*!************************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.interchange.js ***!\n \\************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.interchange.js */\"./js/entries/plugins/foundation.interchange.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.interchange.js.map"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__","__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__","__WEBPACK_EXTERNAL_MODULE_jquery__","modules","./foundation.core","./foundation.util.mediaQuery","./foundation.util.motion","./js/entries/plugins/foundation.interchange.js","__webpack_exports__","__webpack_require__","r","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_interchange__WEBPACK_IMPORTED_MODULE_1__","plugin","./js/foundation.interchange.js","Interchange","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","call","e","_isNativeReflectConstruct","NewTarget","Super","_getPrototypeOf","self","TypeError","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","this","arguments","apply","getPrototypeOf","subClass","superClass","create","value","_inherits","Constructor","protoProps","staticProps","_super","instance","_classCallCheck","element","options","$element","a","extend","defaults","data","rules","currentPath","className","init","_init","_events","id","attr","data-resize","_parseOptions","_addBreakpoints","_generateRules","_reflow","_this","off","on","match","rule","hasOwnProperty","matchMedia","query","matches","replace","path","type","indexOf","console","warn","concat","queries","SPECIAL_QUERIES","name","rulesList","slice","split","join","push","trigger","_this2","nodeName","css","background-image","get","response","html","foundation","landscape","portrait","retina","./js/foundation.util.triggers.js","Triggers","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","triggers","el","forEach","MutationObserver","prefixes","Listeners","Basic","Global","Initializers","debounceGlobalListener","debounce","listener","timer","args","Array","clearTimeout","setTimeout","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","scrollListener","closeMeListener","pluginId","namespace","not","addClosemeListener","pluginName","yetiBoxes","plugNames","error","listeners","map","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","attributeName","pageYOffset","closest","find","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","document","addGlobalListeners","__","Foundation","triggersInitialized","IHearYou","7","jquery","installedModules","m","c","getter","toStringTag","t","mode","__esModule","ns","bind","object","property","s","moduleId","l"],"mappings":"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"}