1/******/ (function(modules) { // webpackBootstrap 2/******/ // The module cache 3/******/ var installedModules = {}; 4/******/ 5/******/ // The require function 6/******/ function __webpack_require__(moduleId) { 7/******/ 8/******/ // Check if module is in cache 9/******/ if(installedModules[moduleId]) { 10/******/ return installedModules[moduleId].exports; 11/******/ } 12/******/ // Create a new module (and put it into the cache) 13/******/ var module = installedModules[moduleId] = { 14/******/ i: moduleId, 15/******/ l: false, 16/******/ exports: {} 17/******/ }; 18/******/ 19/******/ // Execute the module function 20/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 21/******/ 22/******/ // Flag the module as loaded 23/******/ module.l = true; 24/******/ 25/******/ // Return the exports of the module 26/******/ return module.exports; 27/******/ } 28/******/ 29/******/ 30/******/ // expose the modules object (__webpack_modules__) 31/******/ __webpack_require__.m = modules; 32/******/ 33/******/ // expose the module cache 34/******/ __webpack_require__.c = installedModules; 35/******/ 36/******/ // identity function for calling harmony imports with the correct context 37/******/ __webpack_require__.i = function(value) { return value; }; 38/******/ 39/******/ // define getter function for harmony exports 40/******/ __webpack_require__.d = function(exports, name, getter) { 41/******/ if(!__webpack_require__.o(exports, name)) { 42/******/ Object.defineProperty(exports, name, { 43/******/ configurable: false, 44/******/ enumerable: true, 45/******/ get: getter 46/******/ }); 47/******/ } 48/******/ }; 49/******/ 50/******/ // getDefaultExport function for compatibility with non-harmony modules 51/******/ __webpack_require__.n = function(module) { 52/******/ var getter = module && module.__esModule ? 53/******/ function getDefault() { return module['default']; } : 54/******/ function getModuleExports() { return module; }; 55/******/ __webpack_require__.d(getter, 'a', getter); 56/******/ return getter; 57/******/ }; 58/******/ 59/******/ // Object.prototype.hasOwnProperty.call 60/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; 61/******/ 62/******/ // __webpack_public_path__ 63/******/ __webpack_require__.p = ""; 64/******/ 65/******/ // Load entry module and return exports 66/******/ return __webpack_require__(__webpack_require__.s = 108); 67/******/ }) 68/************************************************************************/ 69/******/ ({ 70 71/***/ 0: 72/***/ (function(module, exports) { 73 74module.exports = jQuery; 75 76/***/ }), 77 78/***/ 1: 79/***/ (function(module, exports) { 80 81module.exports = {Foundation: window.Foundation}; 82 83/***/ }), 84 85/***/ 108: 86/***/ (function(module, exports, __webpack_require__) { 87 88module.exports = __webpack_require__(42); 89 90 91/***/ }), 92 93/***/ 4: 94/***/ (function(module, exports) { 95 96module.exports = {Motion: window.Foundation.Motion, Move: window.Foundation.Move}; 97 98/***/ }), 99 100/***/ 42: 101/***/ (function(module, __webpack_exports__, __webpack_require__) { 102 103"use strict"; 104Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); 105/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_core__ = __webpack_require__(1); 106/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_core___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__foundation_core__); 107/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_jquery__ = __webpack_require__(0); 108/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_jquery__); 109/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation_util_triggers__ = __webpack_require__(7); 110 111 112 113 114__WEBPACK_IMPORTED_MODULE_2__foundation_util_triggers__["a" /* Triggers */].init(__WEBPACK_IMPORTED_MODULE_1_jquery___default.a, __WEBPACK_IMPORTED_MODULE_0__foundation_core__["Foundation"]); 115 116/***/ }), 117 118/***/ 7: 119/***/ (function(module, __webpack_exports__, __webpack_require__) { 120 121"use strict"; 122/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Triggers; }); 123/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(0); 124/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__); 125/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__ = __webpack_require__(4); 126/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_util_motion___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__); 127 128 129 130 131 132var MutationObserver = function () { 133 var prefixes = ['WebKit', 'Moz', 'O', 'Ms', '']; 134 for (var i = 0; i < prefixes.length; i++) { 135 if (prefixes[i] + 'MutationObserver' in window) { 136 return window[prefixes[i] + 'MutationObserver']; 137 } 138 } 139 return false;
140}(); 141 142var triggers = function (el, type) { 143 el.data(type).split(' ').forEach(function (id) { 144 __WEBPACK_IMPORTED_MODULE_0_jquery___default()('#' + id)[type === 'close' ? 'trigger' : 'triggerHandler'](type + '.zf.trigger', [el]); 145 }); 146}; 147 148var Triggers = { 149 Listeners: { 150 Basic: {}, 151 Global: {} 152 }, 153 Initializers: {} 154}; 155 156Triggers.Listeners.Basic = { 157 openListener: function () { 158 triggers(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this), 'open'); 159 }, 160 closeListener: function () { 161 var id = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('close'); 162 if (id) { 163 triggers(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this), 'close'); 164 } else { 165 __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).trigger('close.zf.trigger'); 166 } 167 }, 168 toggleListener: function () { 169 var id = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('toggle'); 170 if (id) { 171 triggers(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this), 'toggle'); 172 } else { 173 __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).trigger('toggle.zf.trigger'); 174 } 175 }, 176 closeableListener: function (e) { 177 e.stopPropagation(); 178 var animation = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('closable'); 179 180 if (animation !== '') { 181 __WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__["Motion"].animateOut(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this), animation, function () { 182 __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).trigger('closed.zf'); 183 }); 184 } else { 185 __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).fadeOut().trigger('closed.zf'); 186 } 187 }, 188 toggleFocusListener: function () { 189 var id = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('toggle-focus'); 190 __WEBPACK_IMPORTED_MODULE_0_jquery___default()('#' + id).triggerHandler('toggle.zf.trigger', [__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this)]); 191 } 192}; 193 194// Elements with [data-open] will reveal a plugin that supports it when clicked. 195Triggers.Initializers.addOpenListener = function ($elem) { 196 $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener); 197 $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener); 198}; 199 200// Elements with [data-close] will close a plugin that supports it when clicked. 201// If used without a value on [data-close], the event will bubble, allowing it to close a parent component. 202Triggers.Initializers.addCloseListener = function ($elem) { 203 $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener); 204 $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener); 205}; 206 207// Elements with [data-toggle] will toggle a plugin that supports it when clicked. 208Triggers.Initializers.addToggleListener = function ($elem) { 209 $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener); 210 $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener); 211}; 212 213// Elements with [data-closable] will respond to close.zf.trigger events. 214Triggers.Initializers.addCloseableListener = function ($elem) { 215 $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener); 216 $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener); 217}; 218 219// Elements with [data-toggle-focus] will respond to coming in and out of focus 220Triggers.Initializers.addToggleFocusListener = function ($elem) { 221 $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener); 222 $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener); 223}; 224 225// More Global/complex listeners and triggers 226Triggers.Listeners.Global = { 227 resizeListener: function ($nodes) { 228 if (!MutationObserver) { 229 //fallback for IE 9 230 $nodes.each(function () { 231 __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).triggerHandler('resizeme.zf.trigger'); 232 }); 233 } 234 //trigger all listening elements and signal a resize event 235 $nodes.attr('data-events', "resize"); 236 }, 237 scrollListener: function ($nodes) { 238 if (!MutationObserver) { 239 //fallback for IE 9 240 $nodes.each(function () { 241 __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).triggerHandler('scrollme.zf.trigger'); 242 }); 243 } 244 //trigger all listening elements and signal a scroll event 245 $nodes.attr('data-events', "scroll"); 246 }, 247 closeMeListener: function (e, pluginId) { 248 var plugin = e.namespace.split('.')[0]; 249 var plugins = __WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-' + plugin + ']').not('[data-yeti-box="' + pluginId + '"]'); 250 251 plugins.each(function () { 252 var _this = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this); 253 _this.triggerHandler('close.zf.trigger', [_this]); 254 }); 255 } 256 257 // Global, parses whole document. 258};
vendor: 4,101 bytes, lines 258-361
258Triggers.Initializers.addClosemeListener = function (pluginName) { 259 var yetiBoxes = __WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-yeti-box]'), 260 plugNames = ['dropdown', 'tooltip', 'reveal']; 261 262 if (pluginName) { 263 if (typeof pluginName === 'string') { 264 plugNames.push(pluginName); 265 } else if (typeof pluginName === 'object' && typeof pluginName[0] === 'string') { 266 plugNames.concat(pluginName); 267 } else { 268 console.error('Plugin names must be strings'); 269 } 270 } 271 if (yetiBoxes.length) { 272 var listeners = plugNames.map(function (name) { 273 return 'closeme.zf.' + name; 274 }).join(' '); 275 276 __WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener); 277 } 278}; 279 280function debounceGlobalListener(debounce, trigger, listener) { 281 var timer = void 0, 282 args = Array.prototype.slice.call(arguments, 3); 283 __WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off(trigger).on(trigger, function (e) { 284 if (timer) { 285 clearTimeout(timer); 286 } 287 timer = setTimeout(function () { 288 listener.apply(null, args); 289 }, debounce || 10); //default time to emit scroll event 290 }); 291} 292 293Triggers.Initializers.addResizeListener = function (debounce) { 294 var $nodes = __WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-resize]'); 295 if ($nodes.length) { 296 debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes); 297 } 298}; 299 300Triggers.Initializers.addScrollListener = function (debounce) { 301 var $nodes = __WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-scroll]'); 302 if ($nodes.length) { 303 debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes); 304 } 305}; 306 307Triggers.Initializers.addMutationEventsListener = function ($elem) { 308 if (!MutationObserver) { 309 return false; 310 } 311 var $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]'); 312 313 //element callback 314 var listeningElementsMutation = function (mutationRecordsList) { 315 var $target = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(mutationRecordsList[0].target); 316 317 //trigger the event handler for the element depending on type 318 switch (mutationRecordsList[0].type) { 319 case "attributes": 320 if ($target.attr("data-events") === "scroll" && mutationRecordsList[0].attributeName === "data-events") { 321 $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]); 322 } 323 if ($target.attr("data-events") === "resize" && mutationRecordsList[0].attributeName === "data-events") { 324 $target.triggerHandler('resizeme.zf.trigger', [$target]); 325 } 326 if (mutationRecordsList[0].attributeName === "style") { 327 $target.closest("[data-mutate]").attr("data-events", "mutate"); 328 $target.closest("[data-mutate]").triggerHandler('mutateme.zf.trigger', [$target.closest("[data-mutate]")]); 329 } 330 break; 331 332 case "childList": 333 $target.closest("[data-mutate]").attr("data-events", "mutate"); 334 $target.closest("[data-mutate]").triggerHandler('mutateme.zf.trigger', [$target.closest("[data-mutate]")]); 335 break; 336 337 default: 338 return false; 339 //nothing 340 } 341 }; 342 343 if ($nodes.length) { 344 //for each element that needs to listen for resizing, scrolling, or mutation add a single observer 345 for (var i = 0; i <= $nodes.length - 1; i++) { 346 var elementObserver = new MutationObserver(listeningElementsMutation); 347 elementObserver.observe($nodes[i], { attributes: true, childList: true, characterData: false, subtree: true, attributeFilter: ["data-events", "style"] }); 348 } 349 } 350}; 351 352Triggers.Initializers.addSimpleListeners = function () { 353 var $document = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(document); 354 355 Triggers.Initializers.addOpenListener($document); 356 Triggers.Initializers.addCloseListener($document); 357 Triggers.Initializers.addToggleListener($document); 358 Triggers.Initializers.addCloseableListener($document); 359 Triggers.Initializers.addToggleFocusListener($document); 360}; 361
362Triggers.Initializers.addGlobalListeners = function () { 363 var $document = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(document); 364 Triggers.Initializers.addMutationEventsListener($document); 365 Triggers.Initializers.addResizeListener(); 366 Triggers.Initializers.addScrollListener(); 367 Triggers.Initializers.addClosemeListener(); 368}; 369 370Triggers.init = function ($, Foundation) { 371 if (typeof $.triggersInitialized === 'undefined') { 372 var $document = $(document); 373 374 if (document.readyState === "complete") { 375 Triggers.Initializers.addSimpleListeners(); 376 Triggers.Initializers.addGlobalListeners(); 377 } else { 378 $(window).on('load', function () { 379 Triggers.Initializers.addSimpleListeners(); 380 Triggers.Initializers.addGlobalListeners(); 381 }); 382 } 383 384 $.triggersInitialized = true; 385 } 386 387 if (Foundation) { 388 Foundation.Triggers = Triggers; 389 // Legacy included to be backwards compatible for now. 390 Foundation.IHearYou = Triggers.Initializers.addGlobalListeners; 391 } 392}; 393 394 395 396/***/ }) 397 398/******/ });
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.