{"version":3,"file":"foundation.util.triggers.min.js","sources":["foundation.util.triggers.min.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"), require(\"./foundation.util.motion\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\", \"./foundation.util.motion\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"__FOUNDATION_EXTERNAL__\"] = factory(require(\"./foundation.core\"), require(\"jquery\"), require(\"./foundation.util.motion\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.triggers\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__) {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ \"./js/foundation.util.triggers.js\":\n/*!****************************************!*\\\n !*** ./js/foundation.util.triggers.js ***!\n \\****************************************/\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Triggers: function() { return /* binding */ Triggers; }\n/* harmony export */ });\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\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n\n\nvar MutationObserver = function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\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 return false;\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};\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 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 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');\n\n // Only close the first closable element. See https://git.io/zf-7833\n e.stopPropagation();\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};\n\n// Elements with [data-open] will reveal a plugin that supports it when clicked.\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};\n\n// Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\nTriggers.Initializers.addCloseListener = 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};\n\n// Elements with [data-toggle] will toggle a plugin that supports it when clicked.\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};\n\n// Elements with [data-closable] will respond to close.zf.trigger events.\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};\n\n// Elements with [data-toggle-focus] will respond to coming in and out of focus\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};\n\n// More Global/complex listeners and triggers\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 }\n //trigger all listening elements and signal a resize event\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 }\n //trigger all listening elements and signal a scroll event\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 _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n};\n\n// Global, parses whole document.\nTriggers.Initializers.addClosemeListener = function (pluginName) {\n var yetiBoxes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n if (pluginName) {\n if (typeof pluginName === 'string') {\n plugNames.push(pluginName);\n } else if (_typeof(pluginName) === 'object' && typeof pluginName[0] === 'string') {\n plugNames = plugNames.concat(pluginName);\n } else {\n console.error('Plugin names must be strings');\n }\n }\n if (yetiBoxes.length) {\n 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};\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 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 if ($nodes.length) {\n debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);\n }\n};\nTriggers.Initializers.addScrollListener = function (debounce) {\n var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-scroll]');\n if ($nodes.length) {\n debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);\n }\n};\nTriggers.Initializers.addMutationEventsListener = function ($elem) {\n if (!MutationObserver) {\n return false;\n }\n var $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]');\n\n //element callback\n var listeningElementsMutation = function listeningElementsMutation(mutationRecordsList) {\n var $target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(mutationRecordsList[0].target);\n\n //trigger the event handler for the element depending on type\n switch (mutationRecordsList[0].type) {\n case \"attributes\":\n if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n }\n if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('resizeme.zf.trigger', [$target]);\n }\n if (mutationRecordsList[0].attributeName === \"style\") {\n $target.closest(\"[data-mutate]\").attr(\"data-events\", \"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n }\n break;\n 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 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};\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};\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};\nTriggers.init = function (__, Foundation) {\n (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__.onLoad)(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {\n if ((jquery__WEBPACK_IMPORTED_MODULE_0___default().triggersInitialized) !== true) {\n Triggers.Initializers.addSimpleListeners();\n Triggers.Initializers.addGlobalListeners();\n (jquery__WEBPACK_IMPORTED_MODULE_0___default().triggersInitialized) = true;\n }\n });\n if (Foundation) {\n Foundation.Triggers = Triggers;\n // Legacy included to be backwards compatible for now.\n Foundation.IHearYou = Triggers.Initializers.addGlobalListeners;\n }\n};\n\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/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\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/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t!function() {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = function(exports) {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n!function() {\n/*!********************************************************!*\\\n !*** ./js/entries/plugins/foundation.util.triggers.js ***!\n \\********************************************************/\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Foundation: function() { return /* reexport safe */ _foundation_core__WEBPACK_IMPORTED_MODULE_0__.Foundation; },\n/* harmony export */ Triggers: function() { return /* reexport safe */ _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_2__.Triggers; }\n/* harmony export */ });\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 import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../foundation.util.triggers */ \"./js/foundation.util.triggers.js\");\n\n\n\n_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_2__.Triggers.init((jquery__WEBPACK_IMPORTED_MODULE_1___default()), _foundation_core__WEBPACK_IMPORTED_MODULE_0__.Foundation);\n\n}();\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=foundation.util.triggers.js.map"],"names":["root","factory","exports","module","require","define","amd","self","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__","__webpack_modules__","./js/foundation.util.triggers.js","__unused_webpack_module","__webpack_exports__","__webpack_require__","r","d","Triggers","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","_typeof","obj","Symbol","iterator","constructor","prototype","triggers","el","type","data","split","forEach","id","concat","MutationObserver","prefixes","i","length","window","Listeners","Basic","Global","Initializers","debounceGlobalListener","debounce","trigger","listener","timer","args","Array","slice","call","arguments","on","clearTimeout","setTimeout","apply","openListener","this","closeListener","toggleListener","closeableListener","e","animation","stopPropagation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","off","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","attr","scrollListener","closeMeListener","pluginId","plugin","namespace","not","_this","addClosemeListener","pluginName","yetiBoxes","plugNames","push","console","error","listeners","map","name","join","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","pageYOffset","closest","find","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","document","addGlobalListeners","init","__","Foundation","onLoad","IHearYou","./foundation.core","./foundation.util.motion","jquery","__webpack_module_cache__","moduleId","cachedModule","undefined","getter","__esModule","a","definition","key","o","Object","defineProperty","enumerable","get","prop","hasOwnProperty","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_2__","toStringTag","value","jquery__WEBPACK_IMPORTED_MODULE_1___default"],"mappings":"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"}