foundation-rails 6.4.1.0 → 6.4.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/Rakefile +5 -6
  4. data/lib/foundation/rails/version.rb +1 -1
  5. data/vendor/assets/js/foundation.abide.js +781 -0
  6. data/vendor/assets/js/foundation.accordion.js +511 -0
  7. data/vendor/assets/js/foundation.accordionMenu.js +527 -0
  8. data/vendor/assets/js/foundation.core.js +860 -0
  9. data/vendor/assets/js/foundation.drilldown.js +759 -0
  10. data/vendor/assets/js/foundation.dropdown.js +1131 -0
  11. data/vendor/assets/js/foundation.dropdownMenu.js +678 -0
  12. data/vendor/assets/js/foundation.equalizer.js +542 -0
  13. data/vendor/assets/js/foundation.interchange.js +399 -0
  14. data/vendor/assets/js/{foundation.js.es6 → foundation.js} +11 -12
  15. data/vendor/assets/js/foundation.magellan.js +449 -0
  16. data/vendor/assets/js/foundation.offcanvas.js +1052 -0
  17. data/vendor/assets/js/foundation.orbit.js +767 -0
  18. data/vendor/assets/js/foundation.responsiveAccordionTabs.js +440 -0
  19. data/vendor/assets/js/foundation.responsiveMenu.js +362 -0
  20. data/vendor/assets/js/foundation.responsiveToggle.js +336 -0
  21. data/vendor/assets/js/foundation.reveal.js +1066 -0
  22. data/vendor/assets/js/foundation.slider.js +1236 -0
  23. data/vendor/assets/js/foundation.smoothScroll.js +303 -0
  24. data/vendor/assets/js/foundation.sticky.js +1001 -0
  25. data/vendor/assets/js/foundation.tabs.js +678 -0
  26. data/vendor/assets/js/foundation.toggler.js +602 -0
  27. data/vendor/assets/js/foundation.tooltip.js +1195 -0
  28. data/vendor/assets/js/{foundation.util.box.js.es6 → foundation.util.box.js} +154 -41
  29. data/vendor/assets/js/foundation.util.imageLoader.js +163 -0
  30. data/vendor/assets/js/foundation.util.keyboard.js +298 -0
  31. data/vendor/assets/js/foundation.util.mediaQuery.js +353 -0
  32. data/vendor/assets/js/foundation.util.motion.js +231 -0
  33. data/vendor/assets/js/foundation.util.nest.js +181 -0
  34. data/vendor/assets/js/foundation.util.timer.js +170 -0
  35. data/vendor/assets/js/foundation.util.timerAndImageLoader.js +90 -0
  36. data/vendor/assets/js/foundation.util.touch.js +275 -0
  37. data/vendor/assets/js/foundation.util.triggers.js +399 -0
  38. data/vendor/assets/js/foundation.zf.responsiveAccordionTabs.js +262 -0
  39. metadata +37 -71
  40. data/vendor/assets/js/entries/foundation-plugins.js +0 -25
  41. data/vendor/assets/js/entries/foundation.js +0 -101
  42. data/vendor/assets/js/entries/plugins/foundation.abide.js +0 -4
  43. data/vendor/assets/js/entries/plugins/foundation.accordion.js +0 -4
  44. data/vendor/assets/js/entries/plugins/foundation.accordionMenu.js +0 -5
  45. data/vendor/assets/js/entries/plugins/foundation.core.js +0 -21
  46. data/vendor/assets/js/entries/plugins/foundation.drilldown.js +0 -4
  47. data/vendor/assets/js/entries/plugins/foundation.dropdown.js +0 -5
  48. data/vendor/assets/js/entries/plugins/foundation.dropdownMenu.js +0 -4
  49. data/vendor/assets/js/entries/plugins/foundation.equalizer.js +0 -4
  50. data/vendor/assets/js/entries/plugins/foundation.interchange.js +0 -4
  51. data/vendor/assets/js/entries/plugins/foundation.magellan.js +0 -4
  52. data/vendor/assets/js/entries/plugins/foundation.offcanvas.js +0 -4
  53. data/vendor/assets/js/entries/plugins/foundation.orbit.js +0 -5
  54. data/vendor/assets/js/entries/plugins/foundation.responsiveAccordionTabs.js +0 -5
  55. data/vendor/assets/js/entries/plugins/foundation.responsiveMenu.js +0 -5
  56. data/vendor/assets/js/entries/plugins/foundation.responsiveToggle.js +0 -5
  57. data/vendor/assets/js/entries/plugins/foundation.reveal.js +0 -4
  58. data/vendor/assets/js/entries/plugins/foundation.slider.js +0 -5
  59. data/vendor/assets/js/entries/plugins/foundation.smoothScroll.js +0 -5
  60. data/vendor/assets/js/entries/plugins/foundation.sticky.js +0 -5
  61. data/vendor/assets/js/entries/plugins/foundation.tabs.js +0 -5
  62. data/vendor/assets/js/entries/plugins/foundation.toggler.js +0 -5
  63. data/vendor/assets/js/entries/plugins/foundation.tooltip.js +0 -4
  64. data/vendor/assets/js/entries/plugins/foundation.util.box.js +0 -4
  65. data/vendor/assets/js/entries/plugins/foundation.util.imageLoader.js +0 -5
  66. data/vendor/assets/js/entries/plugins/foundation.util.keyboard.js +0 -4
  67. data/vendor/assets/js/entries/plugins/foundation.util.mediaQuery.js +0 -4
  68. data/vendor/assets/js/entries/plugins/foundation.util.motion.js +0 -5
  69. data/vendor/assets/js/entries/plugins/foundation.util.nest.js +0 -5
  70. data/vendor/assets/js/entries/plugins/foundation.util.timer.js +0 -5
  71. data/vendor/assets/js/entries/plugins/foundation.util.touch.js +0 -7
  72. data/vendor/assets/js/entries/plugins/foundation.util.triggers.js +0 -5
  73. data/vendor/assets/js/foundation.abide.js.es6 +0 -587
  74. data/vendor/assets/js/foundation.accordion.js.es6 +0 -329
  75. data/vendor/assets/js/foundation.accordionMenu.js.es6 +0 -328
  76. data/vendor/assets/js/foundation.core.js.es6 +0 -337
  77. data/vendor/assets/js/foundation.drilldown.js.es6 +0 -536
  78. data/vendor/assets/js/foundation.dropdown.js.es6 +0 -394
  79. data/vendor/assets/js/foundation.dropdownMenu.js.es6 +0 -458
  80. data/vendor/assets/js/foundation.equalizer.js.es6 +0 -318
  81. data/vendor/assets/js/foundation.interchange.js.es6 +0 -210
  82. data/vendor/assets/js/foundation.magellan.js.es6 +0 -257
  83. data/vendor/assets/js/foundation.offcanvas.js.es6 +0 -546
  84. data/vendor/assets/js/foundation.orbit.js.es6 +0 -531
  85. data/vendor/assets/js/foundation.plugin.js.es6 +0 -54
  86. data/vendor/assets/js/foundation.positionable.js.es6 +0 -206
  87. data/vendor/assets/js/foundation.responsiveAccordionTabs.js.es6 +0 -243
  88. data/vendor/assets/js/foundation.responsiveMenu.js.es6 +0 -155
  89. data/vendor/assets/js/foundation.responsiveToggle.js.es6 +0 -156
  90. data/vendor/assets/js/foundation.reveal.js.es6 +0 -585
  91. data/vendor/assets/js/foundation.slider.js.es6 +0 -712
  92. data/vendor/assets/js/foundation.smoothScroll.js.es6 +0 -135
  93. data/vendor/assets/js/foundation.sticky.js.es6 +0 -507
  94. data/vendor/assets/js/foundation.tabs.js.es6 +0 -498
  95. data/vendor/assets/js/foundation.toggler.js.es6 +0 -150
  96. data/vendor/assets/js/foundation.tooltip.js.es6 +0 -462
  97. data/vendor/assets/js/foundation.util.core.js.es6 +0 -52
  98. data/vendor/assets/js/foundation.util.imageLoader.js.es6 +0 -45
  99. data/vendor/assets/js/foundation.util.keyboard.js.es6 +0 -162
  100. data/vendor/assets/js/foundation.util.mediaQuery.js.es6 +0 -234
  101. data/vendor/assets/js/foundation.util.motion.js.es6 +0 -104
  102. data/vendor/assets/js/foundation.util.nest.js.es6 +0 -67
  103. data/vendor/assets/js/foundation.util.timer.js.es6 +0 -48
  104. data/vendor/assets/js/foundation.util.touch.js.es6 +0 -149
  105. data/vendor/assets/js/foundation.util.triggers.js.es6 +0 -268
@@ -0,0 +1,602 @@
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 = 98);
67
+ /******/ })
68
+ /************************************************************************/
69
+ /******/ ({
70
+
71
+ /***/ 0:
72
+ /***/ (function(module, exports) {
73
+
74
+ module.exports = jQuery;
75
+
76
+ /***/ }),
77
+
78
+ /***/ 1:
79
+ /***/ (function(module, exports) {
80
+
81
+ module.exports = {Foundation: window.Foundation};
82
+
83
+ /***/ }),
84
+
85
+ /***/ 2:
86
+ /***/ (function(module, exports) {
87
+
88
+ module.exports = {Plugin: window.Foundation.Plugin};
89
+
90
+ /***/ }),
91
+
92
+ /***/ 32:
93
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
94
+
95
+ "use strict";
96
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
97
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_core__ = __webpack_require__(1);
98
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation_core___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__foundation_core__);
99
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_toggler__ = __webpack_require__(62);
100
+
101
+
102
+
103
+ __WEBPACK_IMPORTED_MODULE_0__foundation_core__["Foundation"].plugin(__WEBPACK_IMPORTED_MODULE_1__foundation_toggler__["a" /* Toggler */], 'Toggler');
104
+
105
+ /***/ }),
106
+
107
+ /***/ 4:
108
+ /***/ (function(module, exports) {
109
+
110
+ module.exports = {Motion: window.Foundation.Motion, Move: window.Foundation.Move};
111
+
112
+ /***/ }),
113
+
114
+ /***/ 62:
115
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
116
+
117
+ "use strict";
118
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Toggler; });
119
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(0);
120
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);
121
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__ = __webpack_require__(4);
122
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_util_motion___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__);
123
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation_plugin__ = __webpack_require__(2);
124
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation_plugin___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__foundation_plugin__);
125
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__foundation_util_triggers__ = __webpack_require__(7);
126
+
127
+
128
+ var _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
129
+
130
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
131
+
132
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
133
+
134
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
135
+
136
+
137
+
138
+
139
+
140
+
141
+ /**
142
+ * Toggler module.
143
+ * @module foundation.toggler
144
+ * @requires foundation.util.motion
145
+ * @requires foundation.util.triggers
146
+ */
147
+
148
+ var Toggler = function (_Plugin) {
149
+ _inherits(Toggler, _Plugin);
150
+
151
+ function Toggler() {
152
+ _classCallCheck(this, Toggler);
153
+
154
+ return _possibleConstructorReturn(this, (Toggler.__proto__ || Object.getPrototypeOf(Toggler)).apply(this, arguments));
155
+ }
156
+
157
+ _createClass(Toggler, [{
158
+ key: '_setup',
159
+
160
+ /**
161
+ * Creates a new instance of Toggler.
162
+ * @class
163
+ * @name Toggler
164
+ * @fires Toggler#init
165
+ * @param {Object} element - jQuery object to add the trigger to.
166
+ * @param {Object} options - Overrides to the default plugin settings.
167
+ */
168
+ value: function _setup(element, options) {
169
+ this.$element = element;
170
+ this.options = __WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend({}, Toggler.defaults, element.data(), options);
171
+ this.className = '';
172
+ this.className = 'Toggler'; // ie9 back compat
173
+
174
+ // Triggers init is idempotent, just need to make sure it is initialized
175
+ __WEBPACK_IMPORTED_MODULE_3__foundation_util_triggers__["a" /* Triggers */].init(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);
176
+
177
+ this._init();
178
+ this._events();
179
+ }
180
+
181
+ /**
182
+ * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate.
183
+ * @function
184
+ * @private
185
+ */
186
+
187
+ }, {
188
+ key: '_init',
189
+ value: function _init() {
190
+ var input;
191
+ // Parse animation classes if they were set
192
+ if (this.options.animate) {
193
+ input = this.options.animate.split(' ');
194
+
195
+ this.animationIn = input[0];
196
+ this.animationOut = input[1] || null;
197
+ }
198
+ // Otherwise, parse toggle class
199
+ else {
200
+ input = this.$element.data('toggler');
201
+ // Allow for a . at the beginning of the string
202
+ this.className = input[0] === '.' ? input.slice(1) : input;
203
+ }
204
+
205
+ // Add ARIA attributes to triggers
206
+ var id = this.$element[0].id;
207
+ __WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-open="' + id + '"], [data-close="' + id + '"], [data-toggle="' + id + '"]').attr('aria-controls', id);
208
+ // If the target is hidden, add aria-hidden
209
+ this.$element.attr('aria-expanded', this.$element.is(':hidden') ? false : true);
210
+ }
211
+
212
+ /**
213
+ * Initializes events for the toggle trigger.
214
+ * @function
215
+ * @private
216
+ */
217
+
218
+ }, {
219
+ key: '_events',
220
+ value: function _events() {
221
+ this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger', this.toggle.bind(this));
222
+ }
223
+
224
+ /**
225
+ * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was "on" or "off".
226
+ * @function
227
+ * @fires Toggler#on
228
+ * @fires Toggler#off
229
+ */
230
+
231
+ }, {
232
+ key: 'toggle',
233
+ value: function toggle() {
234
+ this[this.options.animate ? '_toggleAnimate' : '_toggleClass']();
235
+ }
236
+ }, {
237
+ key: '_toggleClass',
238
+ value: function _toggleClass() {
239
+ this.$element.toggleClass(this.className);
240
+
241
+ var isOn = this.$element.hasClass(this.className);
242
+ if (isOn) {
243
+ /**
244
+ * Fires if the target element has the class after a toggle.
245
+ * @event Toggler#on
246
+ */
247
+ this.$element.trigger('on.zf.toggler');
248
+ } else {
249
+ /**
250
+ * Fires if the target element does not have the class after a toggle.
251
+ * @event Toggler#off
252
+ */
253
+ this.$element.trigger('off.zf.toggler');
254
+ }
255
+
256
+ this._updateARIA(isOn);
257
+ this.$element.find('[data-mutate]').trigger('mutateme.zf.trigger');
258
+ }
259
+ }, {
260
+ key: '_toggleAnimate',
261
+ value: function _toggleAnimate() {
262
+ var _this = this;
263
+
264
+ if (this.$element.is(':hidden')) {
265
+ __WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__["Motion"].animateIn(this.$element, this.animationIn, function () {
266
+ _this._updateARIA(true);
267
+ this.trigger('on.zf.toggler');
268
+ this.find('[data-mutate]').trigger('mutateme.zf.trigger');
269
+ });
270
+ } else {
271
+ __WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__["Motion"].animateOut(this.$element, this.animationOut, function () {
272
+ _this._updateARIA(false);
273
+ this.trigger('off.zf.toggler');
274
+ this.find('[data-mutate]').trigger('mutateme.zf.trigger');
275
+ });
276
+ }
277
+ }
278
+ }, {
279
+ key: '_updateARIA',
280
+ value: function _updateARIA(isOn) {
281
+ this.$element.attr('aria-expanded', isOn ? true : false);
282
+ }
283
+
284
+ /**
285
+ * Destroys the instance of Toggler on the element.
286
+ * @function
287
+ */
288
+
289
+ }, {
290
+ key: '_destroy',
291
+ value: function _destroy() {
292
+ this.$element.off('.zf.toggler');
293
+ }
294
+ }]);
295
+
296
+ return Toggler;
297
+ }(__WEBPACK_IMPORTED_MODULE_2__foundation_plugin__["Plugin"]);
298
+
299
+ Toggler.defaults = {
300
+ /**
301
+ * Tells the plugin if the element should animated when toggled.
302
+ * @option
303
+ * @type {boolean}
304
+ * @default false
305
+ */
306
+ animate: false
307
+ };
308
+
309
+
310
+
311
+ /***/ }),
312
+
313
+ /***/ 7:
314
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
315
+
316
+ "use strict";
317
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Triggers; });
318
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(0);
319
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);
320
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__ = __webpack_require__(4);
321
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation_util_motion___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__);
322
+
323
+
324
+
325
+
326
+
327
+ var MutationObserver = function () {
328
+ var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
329
+ for (var i = 0; i < prefixes.length; i++) {
330
+ if (prefixes[i] + 'MutationObserver' in window) {
331
+ return window[prefixes[i] + 'MutationObserver'];
332
+ }
333
+ }
334
+ return false;
335
+ }();
336
+
337
+ var triggers = function (el, type) {
338
+ el.data(type).split(' ').forEach(function (id) {
339
+ __WEBPACK_IMPORTED_MODULE_0_jquery___default()('#' + id)[type === 'close' ? 'trigger' : 'triggerHandler'](type + '.zf.trigger', [el]);
340
+ });
341
+ };
342
+
343
+ var Triggers = {
344
+ Listeners: {
345
+ Basic: {},
346
+ Global: {}
347
+ },
348
+ Initializers: {}
349
+ };
350
+
351
+ Triggers.Listeners.Basic = {
352
+ openListener: function () {
353
+ triggers(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this), 'open');
354
+ },
355
+ closeListener: function () {
356
+ var id = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('close');
357
+ if (id) {
358
+ triggers(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this), 'close');
359
+ } else {
360
+ __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).trigger('close.zf.trigger');
361
+ }
362
+ },
363
+ toggleListener: function () {
364
+ var id = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('toggle');
365
+ if (id) {
366
+ triggers(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this), 'toggle');
367
+ } else {
368
+ __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).trigger('toggle.zf.trigger');
369
+ }
370
+ },
371
+ closeableListener: function (e) {
372
+ e.stopPropagation();
373
+ var animation = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('closable');
374
+
375
+ if (animation !== '') {
376
+ __WEBPACK_IMPORTED_MODULE_1__foundation_util_motion__["Motion"].animateOut(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this), animation, function () {
377
+ __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).trigger('closed.zf');
378
+ });
379
+ } else {
380
+ __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).fadeOut().trigger('closed.zf');
381
+ }
382
+ },
383
+ toggleFocusListener: function () {
384
+ var id = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).data('toggle-focus');
385
+ __WEBPACK_IMPORTED_MODULE_0_jquery___default()('#' + id).triggerHandler('toggle.zf.trigger', [__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this)]);
386
+ }
387
+ };
388
+
389
+ // Elements with [data-open] will reveal a plugin that supports it when clicked.
390
+ Triggers.Initializers.addOpenListener = function ($elem) {
391
+ $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);
392
+ $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);
393
+ };
394
+
395
+ // Elements with [data-close] will close a plugin that supports it when clicked.
396
+ // If used without a value on [data-close], the event will bubble, allowing it to close a parent component.
397
+ Triggers.Initializers.addCloseListener = function ($elem) {
398
+ $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);
399
+ $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);
400
+ };
401
+
402
+ // Elements with [data-toggle] will toggle a plugin that supports it when clicked.
403
+ Triggers.Initializers.addToggleListener = function ($elem) {
404
+ $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);
405
+ $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);
406
+ };
407
+
408
+ // Elements with [data-closable] will respond to close.zf.trigger events.
409
+ Triggers.Initializers.addCloseableListener = function ($elem) {
410
+ $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);
411
+ $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);
412
+ };
413
+
414
+ // Elements with [data-toggle-focus] will respond to coming in and out of focus
415
+ Triggers.Initializers.addToggleFocusListener = function ($elem) {
416
+ $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);
417
+ $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);
418
+ };
419
+
420
+ // More Global/complex listeners and triggers
421
+ Triggers.Listeners.Global = {
422
+ resizeListener: function ($nodes) {
423
+ if (!MutationObserver) {
424
+ //fallback for IE 9
425
+ $nodes.each(function () {
426
+ __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).triggerHandler('resizeme.zf.trigger');
427
+ });
428
+ }
429
+ //trigger all listening elements and signal a resize event
430
+ $nodes.attr('data-events', "resize");
431
+ },
432
+ scrollListener: function ($nodes) {
433
+ if (!MutationObserver) {
434
+ //fallback for IE 9
435
+ $nodes.each(function () {
436
+ __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this).triggerHandler('scrollme.zf.trigger');
437
+ });
438
+ }
439
+ //trigger all listening elements and signal a scroll event
440
+ $nodes.attr('data-events', "scroll");
441
+ },
442
+ closeMeListener: function (e, pluginId) {
443
+ var plugin = e.namespace.split('.')[0];
444
+ var plugins = __WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-' + plugin + ']').not('[data-yeti-box="' + pluginId + '"]');
445
+
446
+ plugins.each(function () {
447
+ var _this = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this);
448
+ _this.triggerHandler('close.zf.trigger', [_this]);
449
+ });
450
+ }
451
+ };
452
+
453
+ // Global, parses whole document.
454
+ Triggers.Initializers.addClosemeListener = function (pluginName) {
455
+ var yetiBoxes = __WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-yeti-box]'),
456
+ plugNames = ['dropdown', 'tooltip', 'reveal'];
457
+
458
+ if (pluginName) {
459
+ if (typeof pluginName === 'string') {
460
+ plugNames.push(pluginName);
461
+ } else if (typeof pluginName === 'object' && typeof pluginName[0] === 'string') {
462
+ plugNames.concat(pluginName);
463
+ } else {
464
+ console.error('Plugin names must be strings');
465
+ }
466
+ }
467
+ if (yetiBoxes.length) {
468
+ var listeners = plugNames.map(function (name) {
469
+ return 'closeme.zf.' + name;
470
+ }).join(' ');
471
+
472
+ __WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);
473
+ }
474
+ };
475
+
476
+ function debounceGlobalListener(debounce, trigger, listener) {
477
+ var timer = void 0,
478
+ args = Array.prototype.slice.call(arguments, 3);
479
+ __WEBPACK_IMPORTED_MODULE_0_jquery___default()(window).off(trigger).on(trigger, function (e) {
480
+ if (timer) {
481
+ clearTimeout(timer);
482
+ }
483
+ timer = setTimeout(function () {
484
+ listener.apply(null, args);
485
+ }, debounce || 10); //default time to emit scroll event
486
+ });
487
+ }
488
+
489
+ Triggers.Initializers.addResizeListener = function (debounce) {
490
+ var $nodes = __WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-resize]');
491
+ if ($nodes.length) {
492
+ debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);
493
+ }
494
+ };
495
+
496
+ Triggers.Initializers.addScrollListener = function (debounce) {
497
+ var $nodes = __WEBPACK_IMPORTED_MODULE_0_jquery___default()('[data-scroll]');
498
+ if ($nodes.length) {
499
+ debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);
500
+ }
501
+ };
502
+
503
+ Triggers.Initializers.addMutationEventsListener = function ($elem) {
504
+ if (!MutationObserver) {
505
+ return false;
506
+ }
507
+ var $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]');
508
+
509
+ //element callback
510
+ var listeningElementsMutation = function (mutationRecordsList) {
511
+ var $target = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(mutationRecordsList[0].target);
512
+
513
+ //trigger the event handler for the element depending on type
514
+ switch (mutationRecordsList[0].type) {
515
+ case "attributes":
516
+ if ($target.attr("data-events") === "scroll" && mutationRecordsList[0].attributeName === "data-events") {
517
+ $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);
518
+ }
519
+ if ($target.attr("data-events") === "resize" && mutationRecordsList[0].attributeName === "data-events") {
520
+ $target.triggerHandler('resizeme.zf.trigger', [$target]);
521
+ }
522
+ if (mutationRecordsList[0].attributeName === "style") {
523
+ $target.closest("[data-mutate]").attr("data-events", "mutate");
524
+ $target.closest("[data-mutate]").triggerHandler('mutateme.zf.trigger', [$target.closest("[data-mutate]")]);
525
+ }
526
+ break;
527
+
528
+ case "childList":
529
+ $target.closest("[data-mutate]").attr("data-events", "mutate");
530
+ $target.closest("[data-mutate]").triggerHandler('mutateme.zf.trigger', [$target.closest("[data-mutate]")]);
531
+ break;
532
+
533
+ default:
534
+ return false;
535
+ //nothing
536
+ }
537
+ };
538
+
539
+ if ($nodes.length) {
540
+ //for each element that needs to listen for resizing, scrolling, or mutation add a single observer
541
+ for (var i = 0; i <= $nodes.length - 1; i++) {
542
+ var elementObserver = new MutationObserver(listeningElementsMutation);
543
+ elementObserver.observe($nodes[i], { attributes: true, childList: true, characterData: false, subtree: true, attributeFilter: ["data-events", "style"] });
544
+ }
545
+ }
546
+ };
547
+
548
+ Triggers.Initializers.addSimpleListeners = function () {
549
+ var $document = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(document);
550
+
551
+ Triggers.Initializers.addOpenListener($document);
552
+ Triggers.Initializers.addCloseListener($document);
553
+ Triggers.Initializers.addToggleListener($document);
554
+ Triggers.Initializers.addCloseableListener($document);
555
+ Triggers.Initializers.addToggleFocusListener($document);
556
+ };
557
+
558
+ Triggers.Initializers.addGlobalListeners = function () {
559
+ var $document = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(document);
560
+ Triggers.Initializers.addMutationEventsListener($document);
561
+ Triggers.Initializers.addResizeListener();
562
+ Triggers.Initializers.addScrollListener();
563
+ Triggers.Initializers.addClosemeListener();
564
+ };
565
+
566
+ Triggers.init = function ($, Foundation) {
567
+ if (typeof $.triggersInitialized === 'undefined') {
568
+ var $document = $(document);
569
+
570
+ if (document.readyState === "complete") {
571
+ Triggers.Initializers.addSimpleListeners();
572
+ Triggers.Initializers.addGlobalListeners();
573
+ } else {
574
+ $(window).on('load', function () {
575
+ Triggers.Initializers.addSimpleListeners();
576
+ Triggers.Initializers.addGlobalListeners();
577
+ });
578
+ }
579
+
580
+ $.triggersInitialized = true;
581
+ }
582
+
583
+ if (Foundation) {
584
+ Foundation.Triggers = Triggers;
585
+ // Legacy included to be backwards compatible for now.
586
+ Foundation.IHearYou = Triggers.Initializers.addGlobalListeners;
587
+ }
588
+ };
589
+
590
+
591
+
592
+ /***/ }),
593
+
594
+ /***/ 98:
595
+ /***/ (function(module, exports, __webpack_require__) {
596
+
597
+ module.exports = __webpack_require__(32);
598
+
599
+
600
+ /***/ })
601
+
602
+ /******/ });