bootstrap.js 112 KB
Newer Older
1
/*!
Mark Otto's avatar
Mark Otto committed
2
  * Bootstrap v4.0.0 (https://getbootstrap.com)
Mark Otto's avatar
dist    
Mark Otto committed
3
  * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
Mark Otto's avatar
dist    
Mark Otto committed
4
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  */
Mark Otto's avatar
dist    
Mark Otto committed
6
7
8
9
10
(function (global, factory) {
	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) :
	typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) :
	(factory((global.bootstrap = {}),global.jQuery,global.Popper));
}(this, (function (exports,$,Popper) { 'use strict';
Mark Otto's avatar
grunt    
Mark Otto committed
11

Mark Otto's avatar
dist    
Mark Otto committed
12
13
$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;
Jacob Thornton's avatar
Jacob Thornton committed
14

Mark Otto's avatar
Mark Otto committed
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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);
  }
}

function _createClass(Constructor, protoProps, staticProps) {
  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
  if (staticProps) _defineProperties(Constructor, staticProps);
  return Constructor;
}

Mark Otto's avatar
dist    
Mark Otto committed
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
function _extends() {
  _extends = Object.assign || function (target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = arguments[i];

      for (var key in source) {
        if (Object.prototype.hasOwnProperty.call(source, key)) {
          target[key] = source[key];
        }
      }
    }

    return target;
  };

  return _extends.apply(this, arguments);
}

Mark Otto's avatar
Mark Otto committed
49
50
51
52
53
54
function _inheritsLoose(subClass, superClass) {
  subClass.prototype = Object.create(superClass.prototype);
  subClass.prototype.constructor = subClass;
  subClass.__proto__ = superClass;
}

Jacob Thornton's avatar
Jacob Thornton committed
55
56
/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
57
 * Bootstrap (v4.0.0): util.js
Jacob Thornton's avatar
Jacob Thornton committed
58
59
60
61
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
62
var Util = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
63
64
65
66
67
68
  /**
   * ------------------------------------------------------------------------
   * Private TransitionEnd Helpers
   * ------------------------------------------------------------------------
   */
  var transition = false;
Mark Otto's avatar
dist    
Mark Otto committed
69
  var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
Jacob Thornton's avatar
Jacob Thornton committed
70

Mark Otto's avatar
dist    
Mark Otto committed
71
72
  function toType(obj) {
    return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
Jacob Thornton's avatar
Jacob Thornton committed
73
74
75
76
77
78
79
  }

  function getSpecialTransitionEndEvent() {
    return {
      bindType: transition.end,
      delegateType: transition.end,
      handle: function handle(event) {
Mark Otto's avatar
dist    
Mark Otto committed
80
        if ($$$1(event.target).is(this)) {
Mark Otto's avatar
Mark Otto committed
81
          return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
Jacob Thornton's avatar
Jacob Thornton committed
82
        }
Mark Otto's avatar
dist    
Mark Otto committed
83

Mark Otto's avatar
dist    
Mark Otto committed
84
        return undefined; // eslint-disable-line no-undefined
Jacob Thornton's avatar
Jacob Thornton committed
85
86
87
88
89
      }
    };
  }

  function transitionEndTest() {
Mark Otto's avatar
dist    
Mark Otto committed
90
    if (typeof window !== 'undefined' && window.QUnit) {
Jacob Thornton's avatar
Jacob Thornton committed
91
92
93
      return false;
    }

Mark Otto's avatar
dist    
Mark Otto committed
94
95
96
    return {
      end: 'transitionend'
    };
Jacob Thornton's avatar
Jacob Thornton committed
97
98
99
100
101
102
  }

  function transitionEndEmulator(duration) {
    var _this = this;

    var called = false;
Mark Otto's avatar
dist    
Mark Otto committed
103
    $$$1(this).one(Util.TRANSITION_END, function () {
Jacob Thornton's avatar
Jacob Thornton committed
104
105
106
107
108
109
110
111
112
113
114
115
      called = true;
    });
    setTimeout(function () {
      if (!called) {
        Util.triggerTransitionEnd(_this);
      }
    }, duration);
    return this;
  }

  function setTransitionEndSupport() {
    transition = transitionEndTest();
Mark Otto's avatar
dist    
Mark Otto committed
116
    $$$1.fn.emulateTransitionEnd = transitionEndEmulator;
Jacob Thornton's avatar
Jacob Thornton committed
117
118

    if (Util.supportsTransitionEnd()) {
Mark Otto's avatar
dist    
Mark Otto committed
119
      $$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
Jacob Thornton's avatar
Jacob Thornton committed
120
121
    }
  }
Mark Otto's avatar
Mark Otto committed
122
123

  function escapeId(selector) {
Mark Otto's avatar
dist    
Mark Otto committed
124
    // We escape IDs in case of special selectors (selector = '#myId:something')
Mark Otto's avatar
Mark Otto committed
125
126
127
128
    // $.escapeSelector does not exist in jQuery < 3
    selector = typeof $$$1.escapeSelector === 'function' ? $$$1.escapeSelector(selector).substr(1) : selector.replace(/(:|\.|\[|\]|,|=|@)/g, '\\$1');
    return selector;
  }
Jacob Thornton's avatar
Jacob Thornton committed
129
130
131
132
133
134
135
  /**
   * --------------------------------------------------------------------------
   * Public Util Api
   * --------------------------------------------------------------------------
   */


Mark Otto's avatar
dist    
Mark Otto committed
136
  var Util = {
Jacob Thornton's avatar
Jacob Thornton committed
137
138
    TRANSITION_END: 'bsTransitionEnd',
    getUID: function getUID(prefix) {
Jacob Thornton's avatar
Jacob Thornton committed
139
      do {
Mark Otto's avatar
grunt    
Mark Otto committed
140
        // eslint-disable-next-line no-bitwise
Mark Otto's avatar
grunt    
Mark Otto committed
141
        prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
Jacob Thornton's avatar
Jacob Thornton committed
142
      } while (document.getElementById(prefix));
Mark Otto's avatar
dist    
Mark Otto committed
143

Jacob Thornton's avatar
Jacob Thornton committed
144
145
146
147
      return prefix;
    },
    getSelectorFromElement: function getSelectorFromElement(element) {
      var selector = element.getAttribute('data-target');
Mark Otto's avatar
dist    
Mark Otto committed
148

Mark Otto's avatar
grunt    
Mark Otto committed
149
      if (!selector || selector === '#') {
Jacob Thornton's avatar
Jacob Thornton committed
150
        selector = element.getAttribute('href') || '';
Mark Otto's avatar
dist    
Mark Otto committed
151
      } // If it's an ID
Mark Otto's avatar
Mark Otto committed
152
153
154
155


      if (selector.charAt(0) === '#') {
        selector = escapeId(selector);
Jacob Thornton's avatar
Jacob Thornton committed
156
157
      }

Mark Otto's avatar
grunt    
Mark Otto committed
158
      try {
Mark Otto's avatar
dist    
Mark Otto committed
159
        var $selector = $$$1(document).find(selector);
Mark Otto's avatar
grunt    
Mark Otto committed
160
        return $selector.length > 0 ? selector : null;
Mark Otto's avatar
dist    
Mark Otto committed
161
      } catch (err) {
Mark Otto's avatar
grunt    
Mark Otto committed
162
163
        return null;
      }
Jacob Thornton's avatar
Jacob Thornton committed
164
165
    },
    reflow: function reflow(element) {
Mark Otto's avatar
grunt    
Mark Otto committed
166
      return element.offsetHeight;
Jacob Thornton's avatar
Jacob Thornton committed
167
168
    },
    triggerTransitionEnd: function triggerTransitionEnd(element) {
Mark Otto's avatar
dist    
Mark Otto committed
169
      $$$1(element).trigger(transition.end);
Jacob Thornton's avatar
Jacob Thornton committed
170
171
    },
    supportsTransitionEnd: function supportsTransitionEnd() {
Jacob Thornton's avatar
Jacob Thornton committed
172
      return Boolean(transition);
Jacob Thornton's avatar
Jacob Thornton committed
173
    },
Mark Otto's avatar
dist    
Mark Otto committed
174
175
176
    isElement: function isElement(obj) {
      return (obj[0] || obj).nodeType;
    },
Jacob Thornton's avatar
Jacob Thornton committed
177
178
    typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
      for (var property in configTypes) {
Mark Otto's avatar
dist    
Mark Otto committed
179
        if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
Jacob Thornton's avatar
Jacob Thornton committed
180
181
          var expectedTypes = configTypes[property];
          var value = config[property];
Mark Otto's avatar
dist    
Mark Otto committed
182
          var valueType = value && Util.isElement(value) ? 'element' : toType(value);
Jacob Thornton's avatar
Jacob Thornton committed
183

Jacob Thornton's avatar
Jacob Thornton committed
184
          if (!new RegExp(expectedTypes).test(valueType)) {
Mark Otto's avatar
dist    
Mark Otto committed
185
            throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
Jacob Thornton's avatar
Jacob Thornton committed
186
          }
Jacob Thornton's avatar
Jacob Thornton committed
187
188
189
190
191
192
        }
      }
    }
  };
  setTransitionEndSupport();
  return Util;
Mark Otto's avatar
dist    
Mark Otto committed
193
}($);
Jacob Thornton's avatar
Jacob Thornton committed
194
195
196

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
197
 * Bootstrap (v4.0.0): alert.js
Jacob Thornton's avatar
Jacob Thornton committed
198
199
200
201
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
202
var Alert = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
203
204
205
206
207
208
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'alert';
Mark Otto's avatar
Mark Otto committed
209
  var VERSION = '4.0.0';
Jacob Thornton's avatar
Jacob Thornton committed
210
  var DATA_KEY = 'bs.alert';
Mark Otto's avatar
dist    
Mark Otto committed
211
  var EVENT_KEY = "." + DATA_KEY;
Jacob Thornton's avatar
Jacob Thornton committed
212
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
213
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Jacob Thornton's avatar
Jacob Thornton committed
214
215
216
217
218
  var TRANSITION_DURATION = 150;
  var Selector = {
    DISMISS: '[data-dismiss="alert"]'
  };
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
219
220
221
    CLOSE: "close" + EVENT_KEY,
    CLOSED: "closed" + EVENT_KEY,
    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
Jacob Thornton's avatar
Jacob Thornton committed
222
223
224
225
  };
  var ClassName = {
    ALERT: 'alert',
    FADE: 'fade',
Mark Otto's avatar
grunt    
Mark Otto committed
226
    SHOW: 'show'
Mark Otto's avatar
dist    
Mark Otto committed
227
228
229
230
231
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
232

Mark Otto's avatar
dist    
Mark Otto committed
233
  };
Jacob Thornton's avatar
Jacob Thornton committed
234

Mark Otto's avatar
dist    
Mark Otto committed
235
236
237
238
  var Alert =
  /*#__PURE__*/
  function () {
    function Alert(element) {
Jacob Thornton's avatar
Jacob Thornton committed
239
      this._element = element;
Mark Otto's avatar
dist    
Mark Otto committed
240
    } // Getters
Jacob Thornton's avatar
Jacob Thornton committed
241
242


Mark Otto's avatar
dist    
Mark Otto committed
243
    var _proto = Alert.prototype;
Jacob Thornton's avatar
Jacob Thornton committed
244

Mark Otto's avatar
dist    
Mark Otto committed
245
    // Public
Mark Otto's avatar
dist    
Mark Otto committed
246
    _proto.close = function close(element) {
Mark Otto's avatar
grunt    
Mark Otto committed
247
      element = element || this._element;
Jacob Thornton's avatar
Jacob Thornton committed
248

Mark Otto's avatar
grunt    
Mark Otto committed
249
      var rootElement = this._getRootElement(element);
Mark Otto's avatar
dist    
Mark Otto committed
250

Mark Otto's avatar
grunt    
Mark Otto committed
251
252
253
254
255
      var customEvent = this._triggerCloseEvent(rootElement);

      if (customEvent.isDefaultPrevented()) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
256

Mark Otto's avatar
grunt    
Mark Otto committed
257
258
      this._removeElement(rootElement);
    };
Jacob Thornton's avatar
Jacob Thornton committed
259

Mark Otto's avatar
dist    
Mark Otto committed
260
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
261
      $$$1.removeData(this._element, DATA_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
262
      this._element = null;
Mark Otto's avatar
dist    
Mark Otto committed
263
    }; // Private
Mark Otto's avatar
grunt    
Mark Otto committed
264

Jacob Thornton's avatar
Jacob Thornton committed
265

Mark Otto's avatar
dist    
Mark Otto committed
266
    _proto._getRootElement = function _getRootElement(element) {
Mark Otto's avatar
grunt    
Mark Otto committed
267
268
269
270
      var selector = Util.getSelectorFromElement(element);
      var parent = false;

      if (selector) {
Mark Otto's avatar
dist    
Mark Otto committed
271
        parent = $$$1(selector)[0];
Jacob Thornton's avatar
Jacob Thornton committed
272
      }
Mark Otto's avatar
grunt    
Mark Otto committed
273
274

      if (!parent) {
Mark Otto's avatar
dist    
Mark Otto committed
275
        parent = $$$1(element).closest("." + ClassName.ALERT)[0];
Jacob Thornton's avatar
Jacob Thornton committed
276
277
      }

Mark Otto's avatar
grunt    
Mark Otto committed
278
279
      return parent;
    };
Jacob Thornton's avatar
Jacob Thornton committed
280

Mark Otto's avatar
dist    
Mark Otto committed
281
    _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
Mark Otto's avatar
dist    
Mark Otto committed
282
283
      var closeEvent = $$$1.Event(Event.CLOSE);
      $$$1(element).trigger(closeEvent);
Mark Otto's avatar
grunt    
Mark Otto committed
284
285
      return closeEvent;
    };
Jacob Thornton's avatar
Jacob Thornton committed
286

Mark Otto's avatar
dist    
Mark Otto committed
287
    _proto._removeElement = function _removeElement(element) {
Mark Otto's avatar
dist    
Mark Otto committed
288
      var _this = this;
Mark Otto's avatar
grunt    
Mark Otto committed
289

Mark Otto's avatar
dist    
Mark Otto committed
290
      $$$1(element).removeClass(ClassName.SHOW);
Jacob Thornton's avatar
Jacob Thornton committed
291

Mark Otto's avatar
dist    
Mark Otto committed
292
      if (!Util.supportsTransitionEnd() || !$$$1(element).hasClass(ClassName.FADE)) {
Mark Otto's avatar
grunt    
Mark Otto committed
293
        this._destroyElement(element);
Mark Otto's avatar
dist    
Mark Otto committed
294

Mark Otto's avatar
grunt    
Mark Otto committed
295
        return;
Jacob Thornton's avatar
Jacob Thornton committed
296
      }
Jacob Thornton's avatar
Jacob Thornton committed
297

Mark Otto's avatar
dist    
Mark Otto committed
298
      $$$1(element).one(Util.TRANSITION_END, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
299
        return _this._destroyElement(element, event);
Mark Otto's avatar
grunt    
Mark Otto committed
300
      }).emulateTransitionEnd(TRANSITION_DURATION);
Mark Otto's avatar
grunt    
Mark Otto committed
301
    };
Jacob Thornton's avatar
Jacob Thornton committed
302

Mark Otto's avatar
dist    
Mark Otto committed
303
    _proto._destroyElement = function _destroyElement(element) {
Mark Otto's avatar
dist    
Mark Otto committed
304
      $$$1(element).detach().trigger(Event.CLOSED).remove();
Mark Otto's avatar
dist    
Mark Otto committed
305
    }; // Static
Jacob Thornton's avatar
Jacob Thornton committed
306
307


Mark Otto's avatar
grunt    
Mark Otto committed
308
309
    Alert._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
310
        var $element = $$$1(this);
Mark Otto's avatar
grunt    
Mark Otto committed
311
        var data = $element.data(DATA_KEY);
Jacob Thornton's avatar
Jacob Thornton committed
312

Mark Otto's avatar
grunt    
Mark Otto committed
313
314
315
316
        if (!data) {
          data = new Alert(this);
          $element.data(DATA_KEY, data);
        }
Jacob Thornton's avatar
Jacob Thornton committed
317

Mark Otto's avatar
grunt    
Mark Otto committed
318
319
320
321
322
        if (config === 'close') {
          data[config](this);
        }
      });
    };
Jacob Thornton's avatar
Jacob Thornton committed
323

Mark Otto's avatar
grunt    
Mark Otto committed
324
325
326
327
328
    Alert._handleDismiss = function _handleDismiss(alertInstance) {
      return function (event) {
        if (event) {
          event.preventDefault();
        }
Jacob Thornton's avatar
Jacob Thornton committed
329

Mark Otto's avatar
grunt    
Mark Otto committed
330
331
332
333
        alertInstance.close(this);
      };
    };

Mark Otto's avatar
Mark Otto committed
334
    _createClass(Alert, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
335
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
336
337
338
339
340
      get: function get() {
        return VERSION;
      }
    }]);
    return Alert;
Mark Otto's avatar
grunt    
Mark Otto committed
341
342
343
344
345
346
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
347
348


Mark Otto's avatar
dist    
Mark Otto committed
349
  $$$1(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
Jacob Thornton's avatar
Jacob Thornton committed
350
351
352
353
354
355
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
356
357
  $$$1.fn[NAME] = Alert._jQueryInterface;
  $$$1.fn[NAME].Constructor = Alert;
Mark Otto's avatar
dist    
Mark Otto committed
358

Mark Otto's avatar
dist    
Mark Otto committed
359
360
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Jacob Thornton's avatar
Jacob Thornton committed
361
362
363
364
    return Alert._jQueryInterface;
  };

  return Alert;
Mark Otto's avatar
dist    
Mark Otto committed
365
}($);
Jacob Thornton's avatar
Jacob Thornton committed
366
367
368

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
369
 * Bootstrap (v4.0.0): button.js
Jacob Thornton's avatar
Jacob Thornton committed
370
371
372
373
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
374
var Button = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
375
376
377
378
379
380
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'button';
Mark Otto's avatar
Mark Otto committed
381
  var VERSION = '4.0.0';
Jacob Thornton's avatar
Jacob Thornton committed
382
  var DATA_KEY = 'bs.button';
Mark Otto's avatar
dist    
Mark Otto committed
383
  var EVENT_KEY = "." + DATA_KEY;
Jacob Thornton's avatar
Jacob Thornton committed
384
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
385
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Jacob Thornton's avatar
Jacob Thornton committed
386
387
388
389
390
391
392
393
394
395
396
397
398
  var ClassName = {
    ACTIVE: 'active',
    BUTTON: 'btn',
    FOCUS: 'focus'
  };
  var Selector = {
    DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
    DATA_TOGGLE: '[data-toggle="buttons"]',
    INPUT: 'input',
    ACTIVE: '.active',
    BUTTON: '.btn'
  };
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
399
400
    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
    FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY)
Mark Otto's avatar
dist    
Mark Otto committed
401
402
403
404
405
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
406

Mark Otto's avatar
dist    
Mark Otto committed
407
  };
Jacob Thornton's avatar
Jacob Thornton committed
408

Mark Otto's avatar
dist    
Mark Otto committed
409
410
411
412
  var Button =
  /*#__PURE__*/
  function () {
    function Button(element) {
Jacob Thornton's avatar
Jacob Thornton committed
413
      this._element = element;
Mark Otto's avatar
dist    
Mark Otto committed
414
    } // Getters
Jacob Thornton's avatar
Jacob Thornton committed
415
416


Mark Otto's avatar
dist    
Mark Otto committed
417
    var _proto = Button.prototype;
Jacob Thornton's avatar
Jacob Thornton committed
418

Mark Otto's avatar
dist    
Mark Otto committed
419
    // Public
Mark Otto's avatar
dist    
Mark Otto committed
420
    _proto.toggle = function toggle() {
Mark Otto's avatar
grunt    
Mark Otto committed
421
      var triggerChangeEvent = true;
Mark Otto's avatar
grunt    
Mark Otto committed
422
      var addAriaPressed = true;
Mark Otto's avatar
dist    
Mark Otto committed
423
      var rootElement = $$$1(this._element).closest(Selector.DATA_TOGGLE)[0];
Jacob Thornton's avatar
Jacob Thornton committed
424

Mark Otto's avatar
grunt    
Mark Otto committed
425
      if (rootElement) {
Mark Otto's avatar
dist    
Mark Otto committed
426
        var input = $$$1(this._element).find(Selector.INPUT)[0];
Jacob Thornton's avatar
Jacob Thornton committed
427

Mark Otto's avatar
grunt    
Mark Otto committed
428
429
        if (input) {
          if (input.type === 'radio') {
Mark Otto's avatar
dist    
Mark Otto committed
430
            if (input.checked && $$$1(this._element).hasClass(ClassName.ACTIVE)) {
Mark Otto's avatar
grunt    
Mark Otto committed
431
432
              triggerChangeEvent = false;
            } else {
Mark Otto's avatar
dist    
Mark Otto committed
433
              var activeElement = $$$1(rootElement).find(Selector.ACTIVE)[0];
Jacob Thornton's avatar
Jacob Thornton committed
434

Mark Otto's avatar
grunt    
Mark Otto committed
435
              if (activeElement) {
Mark Otto's avatar
dist    
Mark Otto committed
436
                $$$1(activeElement).removeClass(ClassName.ACTIVE);
Jacob Thornton's avatar
Jacob Thornton committed
437
438
              }
            }
Mark Otto's avatar
grunt    
Mark Otto committed
439
          }
Jacob Thornton's avatar
Jacob Thornton committed
440

Mark Otto's avatar
grunt    
Mark Otto committed
441
          if (triggerChangeEvent) {
Johann-S's avatar
build    
Johann-S committed
442
443
444
            if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
              return;
            }
Mark Otto's avatar
dist    
Mark Otto committed
445

Mark Otto's avatar
dist    
Mark Otto committed
446
447
            input.checked = !$$$1(this._element).hasClass(ClassName.ACTIVE);
            $$$1(input).trigger('change');
Jacob Thornton's avatar
Jacob Thornton committed
448
449
          }

Mark Otto's avatar
grunt    
Mark Otto committed
450
          input.focus();
Mark Otto's avatar
grunt    
Mark Otto committed
451
          addAriaPressed = false;
Jacob Thornton's avatar
Jacob Thornton committed
452
453
        }
      }
Mark Otto's avatar
grunt    
Mark Otto committed
454

Mark Otto's avatar
grunt    
Mark Otto committed
455
      if (addAriaPressed) {
Mark Otto's avatar
dist    
Mark Otto committed
456
        this._element.setAttribute('aria-pressed', !$$$1(this._element).hasClass(ClassName.ACTIVE));
Mark Otto's avatar
grunt    
Mark Otto committed
457
      }
Mark Otto's avatar
grunt    
Mark Otto committed
458

Mark Otto's avatar
grunt    
Mark Otto committed
459
      if (triggerChangeEvent) {
Mark Otto's avatar
dist    
Mark Otto committed
460
        $$$1(this._element).toggleClass(ClassName.ACTIVE);
Jacob Thornton's avatar
Jacob Thornton committed
461
      }
Mark Otto's avatar
grunt    
Mark Otto committed
462
    };
Jacob Thornton's avatar
Jacob Thornton committed
463

Mark Otto's avatar
dist    
Mark Otto committed
464
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
465
      $$$1.removeData(this._element, DATA_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
466
      this._element = null;
Mark Otto's avatar
dist    
Mark Otto committed
467
    }; // Static
Jacob Thornton's avatar
Jacob Thornton committed
468
469


Mark Otto's avatar
grunt    
Mark Otto committed
470
471
    Button._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
472
        var data = $$$1(this).data(DATA_KEY);
Jacob Thornton's avatar
Jacob Thornton committed
473

Mark Otto's avatar
grunt    
Mark Otto committed
474
475
        if (!data) {
          data = new Button(this);
Mark Otto's avatar
dist    
Mark Otto committed
476
          $$$1(this).data(DATA_KEY, data);
Mark Otto's avatar
grunt    
Mark Otto committed
477
478
479
480
481
482
483
484
        }

        if (config === 'toggle') {
          data[config]();
        }
      });
    };

Mark Otto's avatar
Mark Otto committed
485
    _createClass(Button, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
486
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
487
488
489
490
491
      get: function get() {
        return VERSION;
      }
    }]);
    return Button;
Mark Otto's avatar
grunt    
Mark Otto committed
492
493
494
495
496
497
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
498

Mark Otto's avatar
dist    
Mark Otto committed
499

Mark Otto's avatar
dist    
Mark Otto committed
500
  $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
Jacob Thornton's avatar
Jacob Thornton committed
501
502
503
    event.preventDefault();
    var button = event.target;

Mark Otto's avatar
dist    
Mark Otto committed
504
505
    if (!$$$1(button).hasClass(ClassName.BUTTON)) {
      button = $$$1(button).closest(Selector.BUTTON);
Jacob Thornton's avatar
Jacob Thornton committed
506
507
    }

Mark Otto's avatar
dist    
Mark Otto committed
508
    Button._jQueryInterface.call($$$1(button), 'toggle');
Jacob Thornton's avatar
Jacob Thornton committed
509
  }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
510
511
    var button = $$$1(event.target).closest(Selector.BUTTON)[0];
    $$$1(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
Mark Otto's avatar
Mark Otto committed
512
  });
Jacob Thornton's avatar
Jacob Thornton committed
513
514
515
516
517
518
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
519
520
  $$$1.fn[NAME] = Button._jQueryInterface;
  $$$1.fn[NAME].Constructor = Button;
Mark Otto's avatar
dist    
Mark Otto committed
521

Mark Otto's avatar
dist    
Mark Otto committed
522
523
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Jacob Thornton's avatar
Jacob Thornton committed
524
525
526
527
    return Button._jQueryInterface;
  };

  return Button;
Mark Otto's avatar
dist    
Mark Otto committed
528
}($);
Jacob Thornton's avatar
Jacob Thornton committed
529
530
531

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
532
 * Bootstrap (v4.0.0): carousel.js
Jacob Thornton's avatar
Jacob Thornton committed
533
534
535
536
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
537
var Carousel = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
538
539
540
541
542
543
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'carousel';
Mark Otto's avatar
Mark Otto committed
544
  var VERSION = '4.0.0';
Jacob Thornton's avatar
Jacob Thornton committed
545
  var DATA_KEY = 'bs.carousel';
Mark Otto's avatar
dist    
Mark Otto committed
546
  var EVENT_KEY = "." + DATA_KEY;
Jacob Thornton's avatar
Jacob Thornton committed
547
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
548
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Jacob Thornton's avatar
Jacob Thornton committed
549
  var TRANSITION_DURATION = 600;
Chris Rebert's avatar
grunt    
Chris Rebert committed
550
  var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
Mark Otto's avatar
dist    
Mark Otto committed
551

Chris Rebert's avatar
grunt    
Chris Rebert committed
552
  var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
Mark Otto's avatar
dist    
Mark Otto committed
553

Mark Otto's avatar
build    
Mark Otto committed
554
  var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
Jacob Thornton's avatar
Jacob Thornton committed
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571

  var Default = {
    interval: 5000,
    keyboard: true,
    slide: false,
    pause: 'hover',
    wrap: true
  };
  var DefaultType = {
    interval: '(number|boolean)',
    keyboard: 'boolean',
    slide: '(boolean|string)',
    pause: '(string|boolean)',
    wrap: 'boolean'
  };
  var Direction = {
    NEXT: 'next',
Mark Otto's avatar
grunt    
Mark Otto committed
572
573
574
    PREV: 'prev',
    LEFT: 'left',
    RIGHT: 'right'
Jacob Thornton's avatar
Jacob Thornton committed
575
576
  };
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
577
578
579
580
581
582
583
584
    SLIDE: "slide" + EVENT_KEY,
    SLID: "slid" + EVENT_KEY,
    KEYDOWN: "keydown" + EVENT_KEY,
    MOUSEENTER: "mouseenter" + EVENT_KEY,
    MOUSELEAVE: "mouseleave" + EVENT_KEY,
    TOUCHEND: "touchend" + EVENT_KEY,
    LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY,
    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
Jacob Thornton's avatar
Jacob Thornton committed
585
586
587
588
589
  };
  var ClassName = {
    CAROUSEL: 'carousel',
    ACTIVE: 'active',
    SLIDE: 'slide',
Mark Otto's avatar
grunt    
Mark Otto committed
590
591
592
593
    RIGHT: 'carousel-item-right',
    LEFT: 'carousel-item-left',
    NEXT: 'carousel-item-next',
    PREV: 'carousel-item-prev',
Jacob Thornton's avatar
Jacob Thornton committed
594
595
596
597
598
599
    ITEM: 'carousel-item'
  };
  var Selector = {
    ACTIVE: '.active',
    ACTIVE_ITEM: '.active.carousel-item',
    ITEM: '.carousel-item',
Mark Otto's avatar
grunt    
Mark Otto committed
600
    NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
Jacob Thornton's avatar
Jacob Thornton committed
601
602
603
    INDICATORS: '.carousel-indicators',
    DATA_SLIDE: '[data-slide], [data-slide-to]',
    DATA_RIDE: '[data-ride="carousel"]'
Mark Otto's avatar
dist    
Mark Otto committed
604
605
606
607
608
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
609

Mark Otto's avatar
dist    
Mark Otto committed
610
  };
Jacob Thornton's avatar
Jacob Thornton committed
611

Mark Otto's avatar
dist    
Mark Otto committed
612
613
614
615
  var Carousel =
  /*#__PURE__*/
  function () {
    function Carousel(element, config) {
Jacob Thornton's avatar
Jacob Thornton committed
616
617
618
619
620
      this._items = null;
      this._interval = null;
      this._activeElement = null;
      this._isPaused = false;
      this._isSliding = false;
Mark Otto's avatar
build    
Mark Otto committed
621
      this.touchTimeout = null;
Jacob Thornton's avatar
Jacob Thornton committed
622
      this._config = this._getConfig(config);
Mark Otto's avatar
dist    
Mark Otto committed
623
624
      this._element = $$$1(element)[0];
      this._indicatorsElement = $$$1(this._element).find(Selector.INDICATORS)[0];
Jacob Thornton's avatar
Jacob Thornton committed
625
626

      this._addEventListeners();
Mark Otto's avatar
dist    
Mark Otto committed
627
    } // Getters
Jacob Thornton's avatar
Jacob Thornton committed
628
629


Mark Otto's avatar
dist    
Mark Otto committed
630
    var _proto = Carousel.prototype;
Jacob Thornton's avatar
Jacob Thornton committed
631

Mark Otto's avatar
dist    
Mark Otto committed
632
    // Public
Mark Otto's avatar
dist    
Mark Otto committed
633
    _proto.next = function next() {
Mark Otto's avatar
grunt    
Mark Otto committed
634
635
      if (!this._isSliding) {
        this._slide(Direction.NEXT);
Mark Otto's avatar
grunt    
Mark Otto committed
636
637
      }
    };
Jacob Thornton's avatar
Jacob Thornton committed
638

Mark Otto's avatar
dist    
Mark Otto committed
639
    _proto.nextWhenVisible = function nextWhenVisible() {
Mark Otto's avatar
grunt    
Mark Otto committed
640
      // Don't call next when the page isn't visible
Mark Otto's avatar
dist    
Mark Otto committed
641
      // or the carousel or its parent isn't visible
Mark Otto's avatar
dist    
Mark Otto committed
642
      if (!document.hidden && $$$1(this._element).is(':visible') && $$$1(this._element).css('visibility') !== 'hidden') {
Mark Otto's avatar
grunt    
Mark Otto committed
643
        this.next();
Jacob Thornton's avatar
Jacob Thornton committed
644
      }
Mark Otto's avatar
grunt    
Mark Otto committed
645
646
    };

Mark Otto's avatar
dist    
Mark Otto committed
647
    _proto.prev = function prev() {
Mark Otto's avatar
grunt    
Mark Otto committed
648
649
      if (!this._isSliding) {
        this._slide(Direction.PREV);
XhmikosR's avatar
XhmikosR committed
650
      }
Mark Otto's avatar
grunt    
Mark Otto committed
651
652
    };

Mark Otto's avatar
dist    
Mark Otto committed
653
    _proto.pause = function pause(event) {
Mark Otto's avatar
grunt    
Mark Otto committed
654
655
      if (!event) {
        this._isPaused = true;
Jacob Thornton's avatar
Jacob Thornton committed
656
657
      }

Mark Otto's avatar
dist    
Mark Otto committed
658
      if ($$$1(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
Mark Otto's avatar
grunt    
Mark Otto committed
659
660
661
662
663
664
665
666
        Util.triggerTransitionEnd(this._element);
        this.cycle(true);
      }

      clearInterval(this._interval);
      this._interval = null;
    };

Mark Otto's avatar
dist    
Mark Otto committed
667
    _proto.cycle = function cycle(event) {
Mark Otto's avatar
grunt    
Mark Otto committed
668
669
670
      if (!event) {
        this._isPaused = false;
      }
Jacob Thornton's avatar
Jacob Thornton committed
671

Mark Otto's avatar
grunt    
Mark Otto committed
672
      if (this._interval) {
Jacob Thornton's avatar
Jacob Thornton committed
673
674
675
676
        clearInterval(this._interval);
        this._interval = null;
      }

Mark Otto's avatar
grunt    
Mark Otto committed
677
      if (this._config.interval && !this._isPaused) {
Mark Otto's avatar
grunt    
Mark Otto committed
678
        this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
Mark Otto's avatar
grunt    
Mark Otto committed
679
680
      }
    };
Jacob Thornton's avatar
Jacob Thornton committed
681

Mark Otto's avatar
dist    
Mark Otto committed
682
    _proto.to = function to(index) {
Mark Otto's avatar
dist    
Mark Otto committed
683
      var _this = this;
Mark Otto's avatar
grunt    
Mark Otto committed
684

Mark Otto's avatar
dist    
Mark Otto committed
685
      this._activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
Mark Otto's avatar
grunt    
Mark Otto committed
686
687
688
689
690

      var activeIndex = this._getItemIndex(this._activeElement);

      if (index > this._items.length - 1 || index < 0) {
        return;
Jacob Thornton's avatar
Jacob Thornton committed
691
692
      }

Mark Otto's avatar
grunt    
Mark Otto committed
693
      if (this._isSliding) {
Mark Otto's avatar
dist    
Mark Otto committed
694
        $$$1(this._element).one(Event.SLID, function () {
Mark Otto's avatar
dist    
Mark Otto committed
695
          return _this.to(index);
Mark Otto's avatar
grunt    
Mark Otto committed
696
697
698
        });
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
699

Mark Otto's avatar
grunt    
Mark Otto committed
700
701
702
703
704
      if (activeIndex === index) {
        this.pause();
        this.cycle();
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
705

Mark Otto's avatar
grunt    
Mark Otto committed
706
      var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
Jacob Thornton's avatar
Jacob Thornton committed
707

Mark Otto's avatar
grunt    
Mark Otto committed
708
709
      this._slide(direction, this._items[index]);
    };
Jacob Thornton's avatar
Jacob Thornton committed
710

Mark Otto's avatar
dist    
Mark Otto committed
711
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
712
713
      $$$1(this._element).off(EVENT_KEY);
      $$$1.removeData(this._element, DATA_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
714
715
716
717
718
719
720
721
      this._items = null;
      this._config = null;
      this._element = null;
      this._interval = null;
      this._isPaused = null;
      this._isSliding = null;
      this._activeElement = null;
      this._indicatorsElement = null;
Mark Otto's avatar
dist    
Mark Otto committed
722
    }; // Private
Jacob Thornton's avatar
Jacob Thornton committed
723
724


Mark Otto's avatar
dist    
Mark Otto committed
725
    _proto._getConfig = function _getConfig(config) {
Mark Otto's avatar
dist    
Mark Otto committed
726
      config = _extends({}, Default, config);
Mark Otto's avatar
grunt    
Mark Otto committed
727
728
729
      Util.typeCheckConfig(NAME, config, DefaultType);
      return config;
    };
Jacob Thornton's avatar
Jacob Thornton committed
730

Mark Otto's avatar
dist    
Mark Otto committed
731
    _proto._addEventListeners = function _addEventListeners() {
Mark Otto's avatar
dist    
Mark Otto committed
732
      var _this2 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
733

Mark Otto's avatar
grunt    
Mark Otto committed
734
      if (this._config.keyboard) {
Mark Otto's avatar
dist    
Mark Otto committed
735
        $$$1(this._element).on(Event.KEYDOWN, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
736
          return _this2._keydown(event);
Mark Otto's avatar
grunt    
Mark Otto committed
737
        });
Jacob Thornton's avatar
Jacob Thornton committed
738
739
      }

Mark Otto's avatar
build    
Mark Otto committed
740
      if (this._config.pause === 'hover') {
Mark Otto's avatar
dist    
Mark Otto committed
741
        $$$1(this._element).on(Event.MOUSEENTER, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
742
          return _this2.pause(event);
Mark Otto's avatar
grunt    
Mark Otto committed
743
        }).on(Event.MOUSELEAVE, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
744
          return _this2.cycle(event);
Mark Otto's avatar
grunt    
Mark Otto committed
745
        });
Mark Otto's avatar
dist    
Mark Otto committed
746

Mark Otto's avatar
build    
Mark Otto committed
747
        if ('ontouchstart' in document.documentElement) {
Mark Otto's avatar
dist    
Mark Otto committed
748
          // If it's a touch-enabled device, mouseenter/leave are fired as
Mark Otto's avatar
build    
Mark Otto committed
749
750
751
752
753
754
          // part of the mouse compatibility events on first tap - the carousel
          // would stop cycling until user tapped out of it;
          // here, we listen for touchend, explicitly pause the carousel
          // (as if it's the second time we tap on it, mouseenter compat event
          // is NOT fired) and after a timeout (to allow for mouse compatibility
          // events to fire) we explicitly restart cycling
Mark Otto's avatar
dist    
Mark Otto committed
755
          $$$1(this._element).on(Event.TOUCHEND, function () {
Mark Otto's avatar
dist    
Mark Otto committed
756
            _this2.pause();
Mark Otto's avatar
dist    
Mark Otto committed
757

Mark Otto's avatar
dist    
Mark Otto committed
758
759
            if (_this2.touchTimeout) {
              clearTimeout(_this2.touchTimeout);
Mark Otto's avatar
build    
Mark Otto committed
760
            }
Mark Otto's avatar
dist    
Mark Otto committed
761

Mark Otto's avatar
dist    
Mark Otto committed
762
763
764
            _this2.touchTimeout = setTimeout(function (event) {
              return _this2.cycle(event);
            }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval);
Mark Otto's avatar
build    
Mark Otto committed
765
766
          });
        }
Jacob Thornton's avatar
Jacob Thornton committed
767
      }
Mark Otto's avatar
grunt    
Mark Otto committed
768
    };
Jacob Thornton's avatar
Jacob Thornton committed
769

Mark Otto's avatar
dist    
Mark Otto committed
770
    _proto._keydown = function _keydown(event) {
Mark Otto's avatar
grunt    
Mark Otto committed
771
772
      if (/input|textarea/i.test(event.target.tagName)) {
        return;
Jacob Thornton's avatar
Jacob Thornton committed
773
      }
Mark Otto's avatar
grunt    
Mark Otto committed
774
775
776

      switch (event.which) {
        case ARROW_LEFT_KEYCODE:
Mark Otto's avatar
grunt    
Mark Otto committed
777
          event.preventDefault();
Mark Otto's avatar
grunt    
Mark Otto committed
778
779
          this.prev();
          break;
Mark Otto's avatar
dist    
Mark Otto committed
780

Mark Otto's avatar
grunt    
Mark Otto committed
781
        case ARROW_RIGHT_KEYCODE:
Mark Otto's avatar
grunt    
Mark Otto committed
782
          event.preventDefault();
Mark Otto's avatar
grunt    
Mark Otto committed
783
784
          this.next();
          break;
Mark Otto's avatar
dist    
Mark Otto committed
785

Mark Otto's avatar
grunt    
Mark Otto committed
786
        default:
Jacob Thornton's avatar
Jacob Thornton committed
787
      }
Mark Otto's avatar
grunt    
Mark Otto committed
788
    };
Jacob Thornton's avatar
Jacob Thornton committed
789

Mark Otto's avatar
dist    
Mark Otto committed
790
    _proto._getItemIndex = function _getItemIndex(element) {
Mark Otto's avatar
dist    
Mark Otto committed
791
      this._items = $$$1.makeArray($$$1(element).parent().find(Selector.ITEM));
Mark Otto's avatar
grunt    
Mark Otto committed
792
793
      return this._items.indexOf(element);
    };
Jacob Thornton's avatar
Jacob Thornton committed
794

Mark Otto's avatar
dist    
Mark Otto committed
795
    _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
Mark Otto's avatar
grunt    
Mark Otto committed
796
      var isNextDirection = direction === Direction.NEXT;
Mark Otto's avatar
grunt    
Mark Otto committed
797
      var isPrevDirection = direction === Direction.PREV;
Mark Otto's avatar
dist    
Mark Otto committed
798

Mark Otto's avatar
grunt    
Mark Otto committed
799
      var activeIndex = this._getItemIndex(activeElement);
Mark Otto's avatar
dist    
Mark Otto committed
800

Mark Otto's avatar
grunt    
Mark Otto committed
801
802
      var lastItemIndex = this._items.length - 1;
      var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
Jacob Thornton's avatar
Jacob Thornton committed
803

Mark Otto's avatar
grunt    
Mark Otto committed
804
805
      if (isGoingToWrap && !this._config.wrap) {
        return activeElement;
Jacob Thornton's avatar
Jacob Thornton committed
806
807
      }

Mark Otto's avatar
grunt    
Mark Otto committed
808
      var delta = direction === Direction.PREV ? -1 : 1;
Mark Otto's avatar
grunt    
Mark Otto committed
809
810
811
      var itemIndex = (activeIndex + delta) % this._items.length;
      return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
    };
Jacob Thornton's avatar
Jacob Thornton committed
812

Mark Otto's avatar
dist    
Mark Otto committed
813
    _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
Mark Otto's avatar
grunt    
Mark Otto committed
814
      var targetIndex = this._getItemIndex(relatedTarget);
Mark Otto's avatar
dist    
Mark Otto committed
815

Mark Otto's avatar
dist    
Mark Otto committed
816
      var fromIndex = this._getItemIndex($$$1(this._element).find(Selector.ACTIVE_ITEM)[0]);
Mark Otto's avatar
dist    
Mark Otto committed
817

Mark Otto's avatar
dist    
Mark Otto committed
818
      var slideEvent = $$$1.Event(Event.SLIDE, {
Mark Otto's avatar
grunt    
Mark Otto committed
819
        relatedTarget: relatedTarget,
Mark Otto's avatar
grunt    
Mark Otto committed
820
821
822
        direction: eventDirectionName,
        from: fromIndex,
        to: targetIndex
Mark Otto's avatar
grunt    
Mark Otto committed
823
      });
Mark Otto's avatar
dist    
Mark Otto committed
824
      $$$1(this._element).trigger(slideEvent);
Mark Otto's avatar
grunt    
Mark Otto committed
825
826
      return slideEvent;
    };
Jacob Thornton's avatar
Jacob Thornton committed
827

Mark Otto's avatar
dist    
Mark Otto committed
828
    _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
Mark Otto's avatar
grunt    
Mark Otto committed
829
      if (this._indicatorsElement) {
Mark Otto's avatar
dist    
Mark Otto committed
830
        $$$1(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
Jacob Thornton's avatar
Jacob Thornton committed
831

Mark Otto's avatar
grunt    
Mark Otto committed
832
        var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
Jacob Thornton's avatar
Jacob Thornton committed
833

Mark Otto's avatar
grunt    
Mark Otto committed
834
        if (nextIndicator) {
Mark Otto's avatar
dist    
Mark Otto committed
835
          $$$1(nextIndicator).addClass(ClassName.ACTIVE);
Jacob Thornton's avatar
Jacob Thornton committed
836
        }
Mark Otto's avatar
grunt    
Mark Otto committed
837
838
      }
    };
Jacob Thornton's avatar
Jacob Thornton committed
839

Mark Otto's avatar
dist    
Mark Otto committed
840
    _proto._slide = function _slide(direction, element) {
Mark Otto's avatar
dist    
Mark Otto committed
841
      var _this3 = this;
Jacob Thornton's avatar
Jacob Thornton committed
842

Mark Otto's avatar
dist    
Mark Otto committed
843
      var activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
Mark Otto's avatar
dist    
Mark Otto committed
844

Mark Otto's avatar
grunt    
Mark Otto committed
845
      var activeElementIndex = this._getItemIndex(activeElement);
Mark Otto's avatar
dist    
Mark Otto committed
846

Mark Otto's avatar
grunt    
Mark Otto committed
847
      var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
Mark Otto's avatar
dist    
Mark Otto committed
848

Mark Otto's avatar
grunt    
Mark Otto committed
849
      var nextElementIndex = this._getItemIndex(nextElement);
Jacob Thornton's avatar
Jacob Thornton committed
850

Mark Otto's avatar
dist    
Mark Otto committed
851
852
853
854
      var isCycling = Boolean(this._interval);
      var directionalClassName;
      var orderClassName;
      var eventDirectionName;
Mark Otto's avatar
grunt    
Mark Otto committed
855
856
857
858
859
860
861
862
863
864

      if (direction === Direction.NEXT) {
        directionalClassName = ClassName.LEFT;
        orderClassName = ClassName.NEXT;
        eventDirectionName = Direction.LEFT;
      } else {
        directionalClassName = ClassName.RIGHT;
        orderClassName = ClassName.PREV;
        eventDirectionName = Direction.RIGHT;
      }
Mark Otto's avatar
grunt    
Mark Otto committed
865

Mark Otto's avatar
dist    
Mark Otto committed
866
      if (nextElement && $$$1(nextElement).hasClass(ClassName.ACTIVE)) {
Mark Otto's avatar
grunt    
Mark Otto committed
867
868
869
        this._isSliding = false;
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
870

Mark Otto's avatar
grunt    
Mark Otto committed
871
      var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
Mark Otto's avatar
dist    
Mark Otto committed
872

Mark Otto's avatar
grunt    
Mark Otto committed
873
874
875
      if (slideEvent.isDefaultPrevented()) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
876

Mark Otto's avatar
grunt    
Mark Otto committed
877
      if (!activeElement || !nextElement) {
Mark Otto's avatar
dist    
Mark Otto committed
878
        // Some weirdness is happening, so we bail
Mark Otto's avatar
grunt    
Mark Otto committed
879
880
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
881

Mark Otto's avatar
grunt    
Mark Otto committed
882
883
884
885
886
      this._isSliding = true;

      if (isCycling) {
        this.pause();
      }
Jacob Thornton's avatar
Jacob Thornton committed
887

Mark Otto's avatar
grunt    
Mark Otto committed
888
      this._setActiveIndicatorElement(nextElement);
Jacob Thornton's avatar
Jacob Thornton committed
889

Mark Otto's avatar
dist    
Mark Otto committed
890
      var slidEvent = $$$1.Event(Event.SLID, {
Mark Otto's avatar
grunt    
Mark Otto committed
891
        relatedTarget: nextElement,
Mark Otto's avatar
grunt    
Mark Otto committed
892
893
894
        direction: eventDirectionName,
        from: activeElementIndex,
        to: nextElementIndex
Mark Otto's avatar
grunt    
Mark Otto committed
895
      });
Jacob Thornton's avatar
Jacob Thornton committed
896

Mark Otto's avatar
dist    
Mark Otto committed
897
898
      if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.SLIDE)) {
        $$$1(nextElement).addClass(orderClassName);
Mark Otto's avatar
grunt    
Mark Otto committed
899
        Util.reflow(nextElement);
Mark Otto's avatar
dist    
Mark Otto committed
900
901
902
903
904
        $$$1(activeElement).addClass(directionalClassName);
        $$$1(nextElement).addClass(directionalClassName);
        $$$1(activeElement).one(Util.TRANSITION_END, function () {
          $$$1(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE);
          $$$1(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName);
Mark Otto's avatar
dist    
Mark Otto committed
905
          _this3._isSliding = false;
Mark Otto's avatar
grunt    
Mark Otto committed
906
          setTimeout(function () {
Mark Otto's avatar
dist    
Mark Otto committed
907
            return $$$1(_this3._element).trigger(slidEvent);
Mark Otto's avatar
grunt    
Mark Otto committed
908
909
910
          }, 0);
        }).emulateTransitionEnd(TRANSITION_DURATION);
      } else {
Mark Otto's avatar
dist    
Mark Otto committed
911
912
        $$$1(activeElement).removeClass(ClassName.ACTIVE);
        $$$1(nextElement).addClass(ClassName.ACTIVE);
Mark Otto's avatar
grunt    
Mark Otto committed
913
        this._isSliding = false;
Mark Otto's avatar
dist    
Mark Otto committed
914
        $$$1(this._element).trigger(slidEvent);
Jacob Thornton's avatar
Jacob Thornton committed
915
916
      }

Mark Otto's avatar
grunt    
Mark Otto committed
917
918
919
      if (isCycling) {
        this.cycle();
      }
Mark Otto's avatar
dist    
Mark Otto committed
920
    }; // Static
Jacob Thornton's avatar
Jacob Thornton committed
921
922


Mark Otto's avatar
grunt    
Mark Otto committed
923
924
    Carousel._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
925
        var data = $$$1(this).data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
926

Mark Otto's avatar
dist    
Mark Otto committed
927
        var _config = _extends({}, Default, $$$1(this).data());
Jacob Thornton's avatar
Jacob Thornton committed
928

Mark Otto's avatar
dist    
Mark Otto committed
929
        if (typeof config === 'object') {
Mark Otto's avatar
dist    
Mark Otto committed
930
          _config = _extends({}, _config, config);
Mark Otto's avatar
grunt    
Mark Otto committed
931
        }
Jacob Thornton's avatar
Jacob Thornton committed
932

Mark Otto's avatar
grunt    
Mark Otto committed
933
        var action = typeof config === 'string' ? config : _config.slide;
Jacob Thornton's avatar
Jacob Thornton committed
934

Mark Otto's avatar
grunt    
Mark Otto committed
935
936
        if (!data) {
          data = new Carousel(this, _config);
Mark Otto's avatar
dist    
Mark Otto committed
937
          $$$1(this).data(DATA_KEY, data);
Mark Otto's avatar
grunt    
Mark Otto committed
938
        }
Jacob Thornton's avatar
Jacob Thornton committed
939

Mark Otto's avatar
grunt    
Mark Otto committed
940
941
942
        if (typeof config === 'number') {
          data.to(config);
        } else if (typeof action === 'string') {
Mark Otto's avatar
dist    
Mark Otto committed
943
          if (typeof data[action] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
944
            throw new TypeError("No method named \"" + action + "\"");
Mark Otto's avatar
grunt    
Mark Otto committed
945
          }
Mark Otto's avatar
dist    
Mark Otto committed
946

Mark Otto's avatar
grunt    
Mark Otto committed
947
948
949
950
          data[action]();
        } else if (_config.interval) {
          data.pause();
          data.cycle();
Jacob Thornton's avatar
Jacob Thornton committed
951
        }
Mark Otto's avatar
grunt    
Mark Otto committed
952
953
      });
    };
Jacob Thornton's avatar
Jacob Thornton committed
954

Mark Otto's avatar
grunt    
Mark Otto committed
955
956
    Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
      var selector = Util.getSelectorFromElement(this);
Jacob Thornton's avatar
Jacob Thornton committed
957

Mark Otto's avatar
grunt    
Mark Otto committed
958
959
960
      if (!selector) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
961

Mark Otto's avatar
dist    
Mark Otto committed
962
      var target = $$$1(selector)[0];
Jacob Thornton's avatar
Jacob Thornton committed
963

Mark Otto's avatar
dist    
Mark Otto committed
964
      if (!target || !$$$1(target).hasClass(ClassName.CAROUSEL)) {
Mark Otto's avatar
grunt    
Mark Otto committed
965
966
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
967

Mark Otto's avatar
dist    
Mark Otto committed
968
      var config = _extends({}, $$$1(target).data(), $$$1(this).data());
Mark Otto's avatar
grunt    
Mark Otto committed
969
      var slideIndex = this.getAttribute('data-slide-to');
Jacob Thornton's avatar
Jacob Thornton committed
970

Mark Otto's avatar
grunt    
Mark Otto committed
971
972
973
      if (slideIndex) {
        config.interval = false;
      }
Jacob Thornton's avatar
Jacob Thornton committed
974

Mark Otto's avatar
dist    
Mark Otto committed
975
      Carousel._jQueryInterface.call($$$1(target), config);
Mark Otto's avatar
grunt    
Mark Otto committed
976
977

      if (slideIndex) {
Mark Otto's avatar
dist    
Mark Otto committed
978
        $$$1(target).data(DATA_KEY).to(slideIndex);
Jacob Thornton's avatar
Jacob Thornton committed
979
      }
Mark Otto's avatar
grunt    
Mark Otto committed
980
981
982
983

      event.preventDefault();
    };

Mark Otto's avatar
Mark Otto committed
984
    _createClass(Carousel, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
985
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
986
987
988
989
      get: function get() {
        return VERSION;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
990
      key: "Default",
Jacob Thornton's avatar
Jacob Thornton committed
991
992
993
994
995
      get: function get() {
        return Default;
      }
    }]);
    return Carousel;
Mark Otto's avatar
grunt    
Mark Otto committed
996
997
998
999
1000
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
For faster browsing, not all history is shown. View entire blame