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
  function toType(obj) {
Mark Otto's avatar
dist    
Mark Otto committed
72
    return {}.toString.call(obj).match(/\s([a-z]+)/i)[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
122
123
124
125
126
127
128
    }
  }
  /**
   * --------------------------------------------------------------------------
   * Public Util Api
   * --------------------------------------------------------------------------
   */


Mark Otto's avatar
dist    
Mark Otto committed
129
  var Util = {
Jacob Thornton's avatar
Jacob Thornton committed
130
131
    TRANSITION_END: 'bsTransitionEnd',
    getUID: function getUID(prefix) {
Jacob Thornton's avatar
Jacob Thornton committed
132
      do {
Mark Otto's avatar
grunt    
Mark Otto committed
133
        // eslint-disable-next-line no-bitwise
Mark Otto's avatar
grunt    
Mark Otto committed
134
        prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
Jacob Thornton's avatar
Jacob Thornton committed
135
      } while (document.getElementById(prefix));
Mark Otto's avatar
dist    
Mark Otto committed
136

Jacob Thornton's avatar
Jacob Thornton committed
137
138
139
140
      return prefix;
    },
    getSelectorFromElement: function getSelectorFromElement(element) {
      var selector = element.getAttribute('data-target');
Mark Otto's avatar
dist    
Mark Otto committed
141

Mark Otto's avatar
grunt    
Mark Otto committed
142
      if (!selector || selector === '#') {
Jacob Thornton's avatar
Jacob Thornton committed
143
144
145
        selector = element.getAttribute('href') || '';
      }

Mark Otto's avatar
grunt    
Mark Otto committed
146
      try {
Mark Otto's avatar
dist    
Mark Otto committed
147
        var $selector = $$$1(document).find(selector);
Mark Otto's avatar
grunt    
Mark Otto committed
148
        return $selector.length > 0 ? selector : null;
Mark Otto's avatar
dist    
Mark Otto committed
149
      } catch (err) {
Mark Otto's avatar
grunt    
Mark Otto committed
150
151
        return null;
      }
Jacob Thornton's avatar
Jacob Thornton committed
152
153
    },
    reflow: function reflow(element) {
Mark Otto's avatar
grunt    
Mark Otto committed
154
      return element.offsetHeight;
Jacob Thornton's avatar
Jacob Thornton committed
155
156
    },
    triggerTransitionEnd: function triggerTransitionEnd(element) {
Mark Otto's avatar
dist    
Mark Otto committed
157
      $$$1(element).trigger(transition.end);
Jacob Thornton's avatar
Jacob Thornton committed
158
159
    },
    supportsTransitionEnd: function supportsTransitionEnd() {
Jacob Thornton's avatar
Jacob Thornton committed
160
      return Boolean(transition);
Jacob Thornton's avatar
Jacob Thornton committed
161
    },
Mark Otto's avatar
dist    
Mark Otto committed
162
163
164
    isElement: function isElement(obj) {
      return (obj[0] || obj).nodeType;
    },
Jacob Thornton's avatar
Jacob Thornton committed
165
166
    typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
      for (var property in configTypes) {
Mark Otto's avatar
dist    
Mark Otto committed
167
        if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
Jacob Thornton's avatar
Jacob Thornton committed
168
169
          var expectedTypes = configTypes[property];
          var value = config[property];
Mark Otto's avatar
dist    
Mark Otto committed
170
          var valueType = value && Util.isElement(value) ? 'element' : toType(value);
Jacob Thornton's avatar
Jacob Thornton committed
171

Jacob Thornton's avatar
Jacob Thornton committed
172
          if (!new RegExp(expectedTypes).test(valueType)) {
Mark Otto's avatar
dist    
Mark Otto committed
173
            throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
Jacob Thornton's avatar
Jacob Thornton committed
174
          }
Jacob Thornton's avatar
Jacob Thornton committed
175
176
177
178
179
180
        }
      }
    }
  };
  setTransitionEndSupport();
  return Util;
Mark Otto's avatar
dist    
Mark Otto committed
181
}($);
Jacob Thornton's avatar
Jacob Thornton committed
182
183
184

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
185
 * Bootstrap (v4.0.0): alert.js
Jacob Thornton's avatar
Jacob Thornton committed
186
187
188
189
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
190
var Alert = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
191
192
193
194
195
196
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'alert';
Mark Otto's avatar
Mark Otto committed
197
  var VERSION = '4.0.0';
Jacob Thornton's avatar
Jacob Thornton committed
198
  var DATA_KEY = 'bs.alert';
Mark Otto's avatar
dist    
Mark Otto committed
199
  var EVENT_KEY = "." + DATA_KEY;
Jacob Thornton's avatar
Jacob Thornton committed
200
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
201
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Jacob Thornton's avatar
Jacob Thornton committed
202
203
204
205
206
  var TRANSITION_DURATION = 150;
  var Selector = {
    DISMISS: '[data-dismiss="alert"]'
  };
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
207
208
209
    CLOSE: "close" + EVENT_KEY,
    CLOSED: "closed" + EVENT_KEY,
    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
Jacob Thornton's avatar
Jacob Thornton committed
210
211
212
213
  };
  var ClassName = {
    ALERT: 'alert',
    FADE: 'fade',
Mark Otto's avatar
grunt    
Mark Otto committed
214
    SHOW: 'show'
Mark Otto's avatar
dist    
Mark Otto committed
215
216
217
218
219
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
220

Mark Otto's avatar
dist    
Mark Otto committed
221
  };
Jacob Thornton's avatar
Jacob Thornton committed
222

Mark Otto's avatar
dist    
Mark Otto committed
223
224
225
226
  var Alert =
  /*#__PURE__*/
  function () {
    function Alert(element) {
Jacob Thornton's avatar
Jacob Thornton committed
227
      this._element = element;
Mark Otto's avatar
dist    
Mark Otto committed
228
    } // Getters
Jacob Thornton's avatar
Jacob Thornton committed
229
230


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

Mark Otto's avatar
dist    
Mark Otto committed
233
    // Public
Mark Otto's avatar
dist    
Mark Otto committed
234
    _proto.close = function close(element) {
Mark Otto's avatar
grunt    
Mark Otto committed
235
      element = element || this._element;
Jacob Thornton's avatar
Jacob Thornton committed
236

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

Mark Otto's avatar
grunt    
Mark Otto committed
239
240
241
242
243
      var customEvent = this._triggerCloseEvent(rootElement);

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

Mark Otto's avatar
grunt    
Mark Otto committed
245
246
      this._removeElement(rootElement);
    };
Jacob Thornton's avatar
Jacob Thornton committed
247

Mark Otto's avatar
dist    
Mark Otto committed
248
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
249
      $$$1.removeData(this._element, DATA_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
250
      this._element = null;
Mark Otto's avatar
dist    
Mark Otto committed
251
    }; // Private
Mark Otto's avatar
grunt    
Mark Otto committed
252

Jacob Thornton's avatar
Jacob Thornton committed
253

Mark Otto's avatar
dist    
Mark Otto committed
254
    _proto._getRootElement = function _getRootElement(element) {
Mark Otto's avatar
grunt    
Mark Otto committed
255
256
257
258
      var selector = Util.getSelectorFromElement(element);
      var parent = false;

      if (selector) {
Mark Otto's avatar
dist    
Mark Otto committed
259
        parent = $$$1(selector)[0];
Jacob Thornton's avatar
Jacob Thornton committed
260
      }
Mark Otto's avatar
grunt    
Mark Otto committed
261
262

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

Mark Otto's avatar
grunt    
Mark Otto committed
266
267
      return parent;
    };
Jacob Thornton's avatar
Jacob Thornton committed
268

Mark Otto's avatar
dist    
Mark Otto committed
269
    _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
Mark Otto's avatar
dist    
Mark Otto committed
270
271
      var closeEvent = $$$1.Event(Event.CLOSE);
      $$$1(element).trigger(closeEvent);
Mark Otto's avatar
grunt    
Mark Otto committed
272
273
      return closeEvent;
    };
Jacob Thornton's avatar
Jacob Thornton committed
274

Mark Otto's avatar
dist    
Mark Otto committed
275
    _proto._removeElement = function _removeElement(element) {
Mark Otto's avatar
dist    
Mark Otto committed
276
      var _this = this;
Mark Otto's avatar
grunt    
Mark Otto committed
277

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
283
        return;
Jacob Thornton's avatar
Jacob Thornton committed
284
      }
Jacob Thornton's avatar
Jacob Thornton committed
285

Mark Otto's avatar
dist    
Mark Otto committed
286
      $$$1(element).one(Util.TRANSITION_END, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
287
        return _this._destroyElement(element, event);
Mark Otto's avatar
grunt    
Mark Otto committed
288
      }).emulateTransitionEnd(TRANSITION_DURATION);
Mark Otto's avatar
grunt    
Mark Otto committed
289
    };
Jacob Thornton's avatar
Jacob Thornton committed
290

Mark Otto's avatar
dist    
Mark Otto committed
291
    _proto._destroyElement = function _destroyElement(element) {
Mark Otto's avatar
dist    
Mark Otto committed
292
      $$$1(element).detach().trigger(Event.CLOSED).remove();
Mark Otto's avatar
dist    
Mark Otto committed
293
    }; // Static
Jacob Thornton's avatar
Jacob Thornton committed
294
295


Mark Otto's avatar
grunt    
Mark Otto committed
296
297
    Alert._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
298
        var $element = $$$1(this);
Mark Otto's avatar
grunt    
Mark Otto committed
299
        var data = $element.data(DATA_KEY);
Jacob Thornton's avatar
Jacob Thornton committed
300

Mark Otto's avatar
grunt    
Mark Otto committed
301
302
303
304
        if (!data) {
          data = new Alert(this);
          $element.data(DATA_KEY, data);
        }
Jacob Thornton's avatar
Jacob Thornton committed
305

Mark Otto's avatar
grunt    
Mark Otto committed
306
307
308
309
310
        if (config === 'close') {
          data[config](this);
        }
      });
    };
Jacob Thornton's avatar
Jacob Thornton committed
311

Mark Otto's avatar
grunt    
Mark Otto committed
312
313
314
315
316
    Alert._handleDismiss = function _handleDismiss(alertInstance) {
      return function (event) {
        if (event) {
          event.preventDefault();
        }
Jacob Thornton's avatar
Jacob Thornton committed
317

Mark Otto's avatar
grunt    
Mark Otto committed
318
319
320
321
        alertInstance.close(this);
      };
    };

Mark Otto's avatar
Mark Otto committed
322
    _createClass(Alert, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
323
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
324
325
326
327
328
      get: function get() {
        return VERSION;
      }
    }]);
    return Alert;
Mark Otto's avatar
grunt    
Mark Otto committed
329
330
331
332
333
334
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
335
336


Mark Otto's avatar
dist    
Mark Otto committed
337
  $$$1(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
Jacob Thornton's avatar
Jacob Thornton committed
338
339
340
341
342
343
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
344
345
  $$$1.fn[NAME] = Alert._jQueryInterface;
  $$$1.fn[NAME].Constructor = Alert;
Mark Otto's avatar
dist    
Mark Otto committed
346

Mark Otto's avatar
dist    
Mark Otto committed
347
348
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Jacob Thornton's avatar
Jacob Thornton committed
349
350
351
352
    return Alert._jQueryInterface;
  };

  return Alert;
Mark Otto's avatar
dist    
Mark Otto committed
353
}($);
Jacob Thornton's avatar
Jacob Thornton committed
354
355
356

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
357
 * Bootstrap (v4.0.0): button.js
Jacob Thornton's avatar
Jacob Thornton committed
358
359
360
361
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
362
var Button = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
363
364
365
366
367
368
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'button';
Mark Otto's avatar
Mark Otto committed
369
  var VERSION = '4.0.0';
Jacob Thornton's avatar
Jacob Thornton committed
370
  var DATA_KEY = 'bs.button';
Mark Otto's avatar
dist    
Mark Otto committed
371
  var EVENT_KEY = "." + DATA_KEY;
Jacob Thornton's avatar
Jacob Thornton committed
372
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
373
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Jacob Thornton's avatar
Jacob Thornton committed
374
375
376
377
378
379
380
381
382
383
384
385
386
  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
387
388
    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
389
390
391
392
393
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
394

Mark Otto's avatar
dist    
Mark Otto committed
395
  };
Jacob Thornton's avatar
Jacob Thornton committed
396

Mark Otto's avatar
dist    
Mark Otto committed
397
398
399
400
  var Button =
  /*#__PURE__*/
  function () {
    function Button(element) {
Jacob Thornton's avatar
Jacob Thornton committed
401
      this._element = element;
Mark Otto's avatar
dist    
Mark Otto committed
402
    } // Getters
Jacob Thornton's avatar
Jacob Thornton committed
403
404


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

Mark Otto's avatar
dist    
Mark Otto committed
407
    // Public
Mark Otto's avatar
dist    
Mark Otto committed
408
    _proto.toggle = function toggle() {
Mark Otto's avatar
grunt    
Mark Otto committed
409
      var triggerChangeEvent = true;
Mark Otto's avatar
grunt    
Mark Otto committed
410
      var addAriaPressed = true;
Mark Otto's avatar
dist    
Mark Otto committed
411
      var rootElement = $$$1(this._element).closest(Selector.DATA_TOGGLE)[0];
Jacob Thornton's avatar
Jacob Thornton committed
412

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

Mark Otto's avatar
grunt    
Mark Otto committed
416
417
        if (input) {
          if (input.type === 'radio') {
Mark Otto's avatar
dist    
Mark Otto committed
418
            if (input.checked && $$$1(this._element).hasClass(ClassName.ACTIVE)) {
Mark Otto's avatar
grunt    
Mark Otto committed
419
420
              triggerChangeEvent = false;
            } else {
Mark Otto's avatar
dist    
Mark Otto committed
421
              var activeElement = $$$1(rootElement).find(Selector.ACTIVE)[0];
Jacob Thornton's avatar
Jacob Thornton committed
422

Mark Otto's avatar
grunt    
Mark Otto committed
423
              if (activeElement) {
Mark Otto's avatar
dist    
Mark Otto committed
424
                $$$1(activeElement).removeClass(ClassName.ACTIVE);
Jacob Thornton's avatar
Jacob Thornton committed
425
426
              }
            }
Mark Otto's avatar
grunt    
Mark Otto committed
427
          }
Jacob Thornton's avatar
Jacob Thornton committed
428

Mark Otto's avatar
grunt    
Mark Otto committed
429
          if (triggerChangeEvent) {
Johann-S's avatar
build    
Johann-S committed
430
431
432
            if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
              return;
            }
Mark Otto's avatar
dist    
Mark Otto committed
433

Mark Otto's avatar
dist    
Mark Otto committed
434
435
            input.checked = !$$$1(this._element).hasClass(ClassName.ACTIVE);
            $$$1(input).trigger('change');
Jacob Thornton's avatar
Jacob Thornton committed
436
437
          }

Mark Otto's avatar
grunt    
Mark Otto committed
438
          input.focus();
Mark Otto's avatar
grunt    
Mark Otto committed
439
          addAriaPressed = false;
Jacob Thornton's avatar
Jacob Thornton committed
440
441
        }
      }
Mark Otto's avatar
grunt    
Mark Otto committed
442

Mark Otto's avatar
grunt    
Mark Otto committed
443
      if (addAriaPressed) {
Mark Otto's avatar
dist    
Mark Otto committed
444
        this._element.setAttribute('aria-pressed', !$$$1(this._element).hasClass(ClassName.ACTIVE));
Mark Otto's avatar
grunt    
Mark Otto committed
445
      }
Mark Otto's avatar
grunt    
Mark Otto committed
446

Mark Otto's avatar
grunt    
Mark Otto committed
447
      if (triggerChangeEvent) {
Mark Otto's avatar
dist    
Mark Otto committed
448
        $$$1(this._element).toggleClass(ClassName.ACTIVE);
Jacob Thornton's avatar
Jacob Thornton committed
449
      }
Mark Otto's avatar
grunt    
Mark Otto committed
450
    };
Jacob Thornton's avatar
Jacob Thornton committed
451

Mark Otto's avatar
dist    
Mark Otto committed
452
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
453
      $$$1.removeData(this._element, DATA_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
454
      this._element = null;
Mark Otto's avatar
dist    
Mark Otto committed
455
    }; // Static
Jacob Thornton's avatar
Jacob Thornton committed
456
457


Mark Otto's avatar
grunt    
Mark Otto committed
458
459
    Button._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
460
        var data = $$$1(this).data(DATA_KEY);
Jacob Thornton's avatar
Jacob Thornton committed
461

Mark Otto's avatar
grunt    
Mark Otto committed
462
463
        if (!data) {
          data = new Button(this);
Mark Otto's avatar
dist    
Mark Otto committed
464
          $$$1(this).data(DATA_KEY, data);
Mark Otto's avatar
grunt    
Mark Otto committed
465
466
467
468
469
470
471
472
        }

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

Mark Otto's avatar
Mark Otto committed
473
    _createClass(Button, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
474
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
475
476
477
478
479
      get: function get() {
        return VERSION;
      }
    }]);
    return Button;
Mark Otto's avatar
grunt    
Mark Otto committed
480
481
482
483
484
485
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
486

Mark Otto's avatar
dist    
Mark Otto committed
487

Mark Otto's avatar
dist    
Mark Otto committed
488
  $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
Jacob Thornton's avatar
Jacob Thornton committed
489
490
491
    event.preventDefault();
    var button = event.target;

Mark Otto's avatar
dist    
Mark Otto committed
492
493
    if (!$$$1(button).hasClass(ClassName.BUTTON)) {
      button = $$$1(button).closest(Selector.BUTTON);
Jacob Thornton's avatar
Jacob Thornton committed
494
495
    }

Mark Otto's avatar
dist    
Mark Otto committed
496
    Button._jQueryInterface.call($$$1(button), 'toggle');
Jacob Thornton's avatar
Jacob Thornton committed
497
  }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
498
499
    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
500
  });
Jacob Thornton's avatar
Jacob Thornton committed
501
502
503
504
505
506
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
507
508
  $$$1.fn[NAME] = Button._jQueryInterface;
  $$$1.fn[NAME].Constructor = Button;
Mark Otto's avatar
dist    
Mark Otto committed
509

Mark Otto's avatar
dist    
Mark Otto committed
510
511
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Jacob Thornton's avatar
Jacob Thornton committed
512
513
514
515
    return Button._jQueryInterface;
  };

  return Button;
Mark Otto's avatar
dist    
Mark Otto committed
516
}($);
Jacob Thornton's avatar
Jacob Thornton committed
517
518
519

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
520
 * Bootstrap (v4.0.0): carousel.js
Jacob Thornton's avatar
Jacob Thornton committed
521
522
523
524
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
525
var Carousel = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
526
527
528
529
530
531
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'carousel';
Mark Otto's avatar
Mark Otto committed
532
  var VERSION = '4.0.0';
Jacob Thornton's avatar
Jacob Thornton committed
533
  var DATA_KEY = 'bs.carousel';
Mark Otto's avatar
dist    
Mark Otto committed
534
  var EVENT_KEY = "." + DATA_KEY;
Jacob Thornton's avatar
Jacob Thornton committed
535
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
536
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Jacob Thornton's avatar
Jacob Thornton committed
537
  var TRANSITION_DURATION = 600;
Chris Rebert's avatar
grunt    
Chris Rebert committed
538
  var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
Mark Otto's avatar
dist    
Mark Otto committed
539

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

Mark Otto's avatar
build    
Mark Otto committed
542
  var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
Jacob Thornton's avatar
Jacob Thornton committed
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559

  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
560
561
562
    PREV: 'prev',
    LEFT: 'left',
    RIGHT: 'right'
Jacob Thornton's avatar
Jacob Thornton committed
563
564
  };
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
565
566
567
568
569
570
571
572
    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
573
574
575
576
577
  };
  var ClassName = {
    CAROUSEL: 'carousel',
    ACTIVE: 'active',
    SLIDE: 'slide',
Mark Otto's avatar
grunt    
Mark Otto committed
578
579
580
581
    RIGHT: 'carousel-item-right',
    LEFT: 'carousel-item-left',
    NEXT: 'carousel-item-next',
    PREV: 'carousel-item-prev',
Jacob Thornton's avatar
Jacob Thornton committed
582
583
584
585
586
587
    ITEM: 'carousel-item'
  };
  var Selector = {
    ACTIVE: '.active',
    ACTIVE_ITEM: '.active.carousel-item',
    ITEM: '.carousel-item',
Mark Otto's avatar
grunt    
Mark Otto committed
588
    NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
Jacob Thornton's avatar
Jacob Thornton committed
589
590
591
    INDICATORS: '.carousel-indicators',
    DATA_SLIDE: '[data-slide], [data-slide-to]',
    DATA_RIDE: '[data-ride="carousel"]'
Mark Otto's avatar
dist    
Mark Otto committed
592
593
594
595
596
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
597

Mark Otto's avatar
dist    
Mark Otto committed
598
  };
Jacob Thornton's avatar
Jacob Thornton committed
599

Mark Otto's avatar
dist    
Mark Otto committed
600
601
602
603
  var Carousel =
  /*#__PURE__*/
  function () {
    function Carousel(element, config) {
Jacob Thornton's avatar
Jacob Thornton committed
604
605
606
607
608
      this._items = null;
      this._interval = null;
      this._activeElement = null;
      this._isPaused = false;
      this._isSliding = false;
Mark Otto's avatar
build    
Mark Otto committed
609
      this.touchTimeout = null;
Jacob Thornton's avatar
Jacob Thornton committed
610
      this._config = this._getConfig(config);
Mark Otto's avatar
dist    
Mark Otto committed
611
612
      this._element = $$$1(element)[0];
      this._indicatorsElement = $$$1(this._element).find(Selector.INDICATORS)[0];
Jacob Thornton's avatar
Jacob Thornton committed
613
614

      this._addEventListeners();
Mark Otto's avatar
dist    
Mark Otto committed
615
    } // Getters
Jacob Thornton's avatar
Jacob Thornton committed
616
617


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

Mark Otto's avatar
dist    
Mark Otto committed
620
    // Public
Mark Otto's avatar
dist    
Mark Otto committed
621
    _proto.next = function next() {
Mark Otto's avatar
grunt    
Mark Otto committed
622
623
      if (!this._isSliding) {
        this._slide(Direction.NEXT);
Mark Otto's avatar
grunt    
Mark Otto committed
624
625
      }
    };
Jacob Thornton's avatar
Jacob Thornton committed
626

Mark Otto's avatar
dist    
Mark Otto committed
627
    _proto.nextWhenVisible = function nextWhenVisible() {
Mark Otto's avatar
grunt    
Mark Otto committed
628
      // Don't call next when the page isn't visible
Mark Otto's avatar
dist    
Mark Otto committed
629
      // or the carousel or its parent isn't visible
Mark Otto's avatar
dist    
Mark Otto committed
630
      if (!document.hidden && $$$1(this._element).is(':visible') && $$$1(this._element).css('visibility') !== 'hidden') {
Mark Otto's avatar
grunt    
Mark Otto committed
631
        this.next();
Jacob Thornton's avatar
Jacob Thornton committed
632
      }
Mark Otto's avatar
grunt    
Mark Otto committed
633
634
    };

Mark Otto's avatar
dist    
Mark Otto committed
635
    _proto.prev = function prev() {
Mark Otto's avatar
grunt    
Mark Otto committed
636
637
      if (!this._isSliding) {
        this._slide(Direction.PREV);
XhmikosR's avatar
XhmikosR committed
638
      }
Mark Otto's avatar
grunt    
Mark Otto committed
639
640
    };

Mark Otto's avatar
dist    
Mark Otto committed
641
    _proto.pause = function pause(event) {
Mark Otto's avatar
grunt    
Mark Otto committed
642
643
      if (!event) {
        this._isPaused = true;
Jacob Thornton's avatar
Jacob Thornton committed
644
645
      }

Mark Otto's avatar
dist    
Mark Otto committed
646
      if ($$$1(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
Mark Otto's avatar
grunt    
Mark Otto committed
647
648
649
650
651
652
653
654
        Util.triggerTransitionEnd(this._element);
        this.cycle(true);
      }

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

Mark Otto's avatar
dist    
Mark Otto committed
655
    _proto.cycle = function cycle(event) {
Mark Otto's avatar
grunt    
Mark Otto committed
656
657
658
      if (!event) {
        this._isPaused = false;
      }
Jacob Thornton's avatar
Jacob Thornton committed
659

Mark Otto's avatar
grunt    
Mark Otto committed
660
      if (this._interval) {
Jacob Thornton's avatar
Jacob Thornton committed
661
662
663
664
        clearInterval(this._interval);
        this._interval = null;
      }

Mark Otto's avatar
grunt    
Mark Otto committed
665
      if (this._config.interval && !this._isPaused) {
Mark Otto's avatar
grunt    
Mark Otto committed
666
        this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
Mark Otto's avatar
grunt    
Mark Otto committed
667
668
      }
    };
Jacob Thornton's avatar
Jacob Thornton committed
669

Mark Otto's avatar
dist    
Mark Otto committed
670
    _proto.to = function to(index) {
Mark Otto's avatar
dist    
Mark Otto committed
671
      var _this = this;
Mark Otto's avatar
grunt    
Mark Otto committed
672

Mark Otto's avatar
dist    
Mark Otto committed
673
      this._activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
Mark Otto's avatar
grunt    
Mark Otto committed
674
675
676
677
678

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
681
      if (this._isSliding) {
Mark Otto's avatar
dist    
Mark Otto committed
682
        $$$1(this._element).one(Event.SLID, function () {
Mark Otto's avatar
dist    
Mark Otto committed
683
          return _this.to(index);
Mark Otto's avatar
grunt    
Mark Otto committed
684
685
686
        });
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
687

Mark Otto's avatar
grunt    
Mark Otto committed
688
689
690
691
692
      if (activeIndex === index) {
        this.pause();
        this.cycle();
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
693

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

Mark Otto's avatar
grunt    
Mark Otto committed
696
697
      this._slide(direction, this._items[index]);
    };
Jacob Thornton's avatar
Jacob Thornton committed
698

Mark Otto's avatar
dist    
Mark Otto committed
699
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
700
701
      $$$1(this._element).off(EVENT_KEY);
      $$$1.removeData(this._element, DATA_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
702
703
704
705
706
707
708
709
      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
710
    }; // Private
Jacob Thornton's avatar
Jacob Thornton committed
711
712


Mark Otto's avatar
dist    
Mark Otto committed
713
    _proto._getConfig = function _getConfig(config) {
Mark Otto's avatar
dist    
Mark Otto committed
714
      config = _extends({}, Default, config);
Mark Otto's avatar
grunt    
Mark Otto committed
715
716
717
      Util.typeCheckConfig(NAME, config, DefaultType);
      return config;
    };
Jacob Thornton's avatar
Jacob Thornton committed
718

Mark Otto's avatar
dist    
Mark Otto committed
719
    _proto._addEventListeners = function _addEventListeners() {
Mark Otto's avatar
dist    
Mark Otto committed
720
      var _this2 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
721

Mark Otto's avatar
grunt    
Mark Otto committed
722
      if (this._config.keyboard) {
Mark Otto's avatar
dist    
Mark Otto committed
723
        $$$1(this._element).on(Event.KEYDOWN, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
724
          return _this2._keydown(event);
Mark Otto's avatar
grunt    
Mark Otto committed
725
        });
Jacob Thornton's avatar
Jacob Thornton committed
726
727
      }

Mark Otto's avatar
build    
Mark Otto committed
728
      if (this._config.pause === 'hover') {
Mark Otto's avatar
dist    
Mark Otto committed
729
        $$$1(this._element).on(Event.MOUSEENTER, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
730
          return _this2.pause(event);
Mark Otto's avatar
grunt    
Mark Otto committed
731
        }).on(Event.MOUSELEAVE, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
732
          return _this2.cycle(event);
Mark Otto's avatar
grunt    
Mark Otto committed
733
        });
Mark Otto's avatar
dist    
Mark Otto committed
734

Mark Otto's avatar
build    
Mark Otto committed
735
        if ('ontouchstart' in document.documentElement) {
Mark Otto's avatar
dist    
Mark Otto committed
736
          // If it's a touch-enabled device, mouseenter/leave are fired as
Mark Otto's avatar
build    
Mark Otto committed
737
738
739
740
741
742
          // 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
743
          $$$1(this._element).on(Event.TOUCHEND, function () {
Mark Otto's avatar
dist    
Mark Otto committed
744
            _this2.pause();
Mark Otto's avatar
dist    
Mark Otto committed
745

Mark Otto's avatar
dist    
Mark Otto committed
746
747
            if (_this2.touchTimeout) {
              clearTimeout(_this2.touchTimeout);
Mark Otto's avatar
build    
Mark Otto committed
748
            }
Mark Otto's avatar
dist    
Mark Otto committed
749

Mark Otto's avatar
dist    
Mark Otto committed
750
751
752
            _this2.touchTimeout = setTimeout(function (event) {
              return _this2.cycle(event);
            }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval);
Mark Otto's avatar
build    
Mark Otto committed
753
754
          });
        }
Jacob Thornton's avatar
Jacob Thornton committed
755
      }
Mark Otto's avatar
grunt    
Mark Otto committed
756
    };
Jacob Thornton's avatar
Jacob Thornton committed
757

Mark Otto's avatar
dist    
Mark Otto committed
758
    _proto._keydown = function _keydown(event) {
Mark Otto's avatar
grunt    
Mark Otto committed
759
760
      if (/input|textarea/i.test(event.target.tagName)) {
        return;
Jacob Thornton's avatar
Jacob Thornton committed
761
      }
Mark Otto's avatar
grunt    
Mark Otto committed
762
763
764

      switch (event.which) {
        case ARROW_LEFT_KEYCODE:
Mark Otto's avatar
grunt    
Mark Otto committed
765
          event.preventDefault();
Mark Otto's avatar
grunt    
Mark Otto committed
766
767
          this.prev();
          break;
Mark Otto's avatar
dist    
Mark Otto committed
768

Mark Otto's avatar
grunt    
Mark Otto committed
769
        case ARROW_RIGHT_KEYCODE:
Mark Otto's avatar
grunt    
Mark Otto committed
770
          event.preventDefault();
Mark Otto's avatar
grunt    
Mark Otto committed
771
772
          this.next();
          break;
Mark Otto's avatar
dist    
Mark Otto committed
773

Mark Otto's avatar
grunt    
Mark Otto committed
774
        default:
Jacob Thornton's avatar
Jacob Thornton committed
775
      }
Mark Otto's avatar
grunt    
Mark Otto committed
776
    };
Jacob Thornton's avatar
Jacob Thornton committed
777

Mark Otto's avatar
dist    
Mark Otto committed
778
    _proto._getItemIndex = function _getItemIndex(element) {
Mark Otto's avatar
dist    
Mark Otto committed
779
      this._items = $$$1.makeArray($$$1(element).parent().find(Selector.ITEM));
Mark Otto's avatar
grunt    
Mark Otto committed
780
781
      return this._items.indexOf(element);
    };
Jacob Thornton's avatar
Jacob Thornton committed
782

Mark Otto's avatar
dist    
Mark Otto committed
783
    _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
Mark Otto's avatar
grunt    
Mark Otto committed
784
      var isNextDirection = direction === Direction.NEXT;
Mark Otto's avatar
grunt    
Mark Otto committed
785
      var isPrevDirection = direction === Direction.PREV;
Mark Otto's avatar
dist    
Mark Otto committed
786

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
792
793
      if (isGoingToWrap && !this._config.wrap) {
        return activeElement;
Jacob Thornton's avatar
Jacob Thornton committed
794
795
      }

Mark Otto's avatar
grunt    
Mark Otto committed
796
      var delta = direction === Direction.PREV ? -1 : 1;
Mark Otto's avatar
grunt    
Mark Otto committed
797
798
799
      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
800

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

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

Mark Otto's avatar
dist    
Mark Otto committed
806
      var slideEvent = $$$1.Event(Event.SLIDE, {
Mark Otto's avatar
grunt    
Mark Otto committed
807
        relatedTarget: relatedTarget,
Mark Otto's avatar
grunt    
Mark Otto committed
808
809
810
        direction: eventDirectionName,
        from: fromIndex,
        to: targetIndex
Mark Otto's avatar
grunt    
Mark Otto committed
811
      });
Mark Otto's avatar
dist    
Mark Otto committed
812
      $$$1(this._element).trigger(slideEvent);
Mark Otto's avatar
grunt    
Mark Otto committed
813
814
      return slideEvent;
    };
Jacob Thornton's avatar
Jacob Thornton committed
815

Mark Otto's avatar
dist    
Mark Otto committed
816
    _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
Mark Otto's avatar
grunt    
Mark Otto committed
817
      if (this._indicatorsElement) {
Mark Otto's avatar
dist    
Mark Otto committed
818
        $$$1(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
Jacob Thornton's avatar
Jacob Thornton committed
819

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

Mark Otto's avatar
grunt    
Mark Otto committed
822
        if (nextIndicator) {
Mark Otto's avatar
dist    
Mark Otto committed
823
          $$$1(nextIndicator).addClass(ClassName.ACTIVE);
Jacob Thornton's avatar
Jacob Thornton committed
824
        }
Mark Otto's avatar
grunt    
Mark Otto committed
825
826
      }
    };
Jacob Thornton's avatar
Jacob Thornton committed
827

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
839
840
841
842
      var isCycling = Boolean(this._interval);
      var directionalClassName;
      var orderClassName;
      var eventDirectionName;
Mark Otto's avatar
grunt    
Mark Otto committed
843
844
845
846
847
848
849
850
851
852

      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
853

Mark Otto's avatar
dist    
Mark Otto committed
854
      if (nextElement && $$$1(nextElement).hasClass(ClassName.ACTIVE)) {
Mark Otto's avatar
grunt    
Mark Otto committed
855
856
857
        this._isSliding = false;
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
858

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

Mark Otto's avatar
grunt    
Mark Otto committed
861
862
863
      if (slideEvent.isDefaultPrevented()) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
864

Mark Otto's avatar
grunt    
Mark Otto committed
865
      if (!activeElement || !nextElement) {
Mark Otto's avatar
dist    
Mark Otto committed
866
        // Some weirdness is happening, so we bail
Mark Otto's avatar
grunt    
Mark Otto committed
867
868
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
869

Mark Otto's avatar
grunt    
Mark Otto committed
870
871
872
873
874
      this._isSliding = true;

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

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

Mark Otto's avatar
dist    
Mark Otto committed
878
      var slidEvent = $$$1.Event(Event.SLID, {
Mark Otto's avatar
grunt    
Mark Otto committed
879
        relatedTarget: nextElement,
Mark Otto's avatar
grunt    
Mark Otto committed
880
881
882
        direction: eventDirectionName,
        from: activeElementIndex,
        to: nextElementIndex
Mark Otto's avatar
grunt    
Mark Otto committed
883
      });
Jacob Thornton's avatar
Jacob Thornton committed
884

Mark Otto's avatar
dist    
Mark Otto committed
885
886
      if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.SLIDE)) {
        $$$1(nextElement).addClass(orderClassName);
Mark Otto's avatar
grunt    
Mark Otto committed
887
        Util.reflow(nextElement);
Mark Otto's avatar
dist    
Mark Otto committed
888
889
890
891
892
        $$$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
893
          _this3._isSliding = false;
Mark Otto's avatar
grunt    
Mark Otto committed
894
          setTimeout(function () {
Mark Otto's avatar
dist    
Mark Otto committed
895
            return $$$1(_this3._element).trigger(slidEvent);
Mark Otto's avatar
grunt    
Mark Otto committed
896
897
898
          }, 0);
        }).emulateTransitionEnd(TRANSITION_DURATION);
      } else {
Mark Otto's avatar
dist    
Mark Otto committed
899
900
        $$$1(activeElement).removeClass(ClassName.ACTIVE);
        $$$1(nextElement).addClass(ClassName.ACTIVE);
Mark Otto's avatar
grunt    
Mark Otto committed
901
        this._isSliding = false;
Mark Otto's avatar
dist    
Mark Otto committed
902
        $$$1(this._element).trigger(slidEvent);
Jacob Thornton's avatar
Jacob Thornton committed
903
904
      }

Mark Otto's avatar
grunt    
Mark Otto committed
905
906
907
      if (isCycling) {
        this.cycle();
      }
Mark Otto's avatar
dist    
Mark Otto committed
908
    }; // Static
Jacob Thornton's avatar
Jacob Thornton committed
909
910


Mark Otto's avatar
grunt    
Mark Otto committed
911
912
    Carousel._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
913
        var data = $$$1(this).data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
914

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

Mark Otto's avatar
dist    
Mark Otto committed
917
        if (typeof config === 'object') {
Mark Otto's avatar
dist    
Mark Otto committed
918
          _config = _extends({}, _config, config);
Mark Otto's avatar
grunt    
Mark Otto committed
919
        }
Jacob Thornton's avatar
Jacob Thornton committed
920

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

Mark Otto's avatar
grunt    
Mark Otto committed
923
924
        if (!data) {
          data = new Carousel(this, _config);
Mark Otto's avatar
dist    
Mark Otto committed
925
          $$$1(this).data(DATA_KEY, data);
Mark Otto's avatar
grunt    
Mark Otto committed
926
        }
Jacob Thornton's avatar
Jacob Thornton committed
927

Mark Otto's avatar
grunt    
Mark Otto committed
928
929
930
        if (typeof config === 'number') {
          data.to(config);
        } else if (typeof action === 'string') {
Mark Otto's avatar
dist    
Mark Otto committed
931
          if (typeof data[action] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
932
            throw new TypeError("No method named \"" + action + "\"");
Mark Otto's avatar
grunt    
Mark Otto committed
933
          }
Mark Otto's avatar
dist    
Mark Otto committed
934

Mark Otto's avatar
grunt    
Mark Otto committed
935
936
937
938
          data[action]();
        } else if (_config.interval) {
          data.pause();
          data.cycle();
Jacob Thornton's avatar
Jacob Thornton committed
939
        }
Mark Otto's avatar
grunt    
Mark Otto committed
940
941
      });
    };
Jacob Thornton's avatar
Jacob Thornton committed
942

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

Mark Otto's avatar
grunt    
Mark Otto committed
946
947
948
      if (!selector) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
949

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

Mark Otto's avatar
dist    
Mark Otto committed
952
      if (!target || !$$$1(target).hasClass(ClassName.CAROUSEL)) {
Mark Otto's avatar
grunt    
Mark Otto committed
953
954
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
955

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

Mark Otto's avatar
grunt    
Mark Otto committed
959
960
961
      if (slideIndex) {
        config.interval = false;
      }
Jacob Thornton's avatar
Jacob Thornton committed
962

Mark Otto's avatar
dist    
Mark Otto committed
963
      Carousel._jQueryInterface.call($$$1(target), config);
Mark Otto's avatar
grunt    
Mark Otto committed
964
965

      if (slideIndex) {
Mark Otto's avatar
dist    
Mark Otto committed
966
        $$$1(target).data(DATA_KEY).to(slideIndex);
Jacob Thornton's avatar
Jacob Thornton committed
967
      }
Mark Otto's avatar
grunt    
Mark Otto committed
968
969
970
971

      event.preventDefault();
    };

Mark Otto's avatar
Mark Otto committed
972
    _createClass(Carousel, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
973
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
974
975
976
977
      get: function get() {
        return VERSION;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
978
      key: "Default",
Jacob Thornton's avatar
Jacob Thornton committed
979
980
981
982
983
      get: function get() {
        return Default;
      }
    }]);
    return Carousel;
Mark Otto's avatar
grunt    
Mark Otto committed
984
985
986
987
988
989
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
990
991


Mark Otto's avatar
dist    
Mark Otto committed
992
993
994
995
  $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
  $$$1(window).on(Event.LOAD_DATA_API, function () {
    $$$1(Selector.DATA_RIDE).each(function () {
      var $carousel = $$$1(this);
Mark Otto's avatar
dist    
Mark Otto committed
996

Jacob Thornton's avatar
Jacob Thornton committed
997
998
      Carousel._jQueryInterface.call($carousel, $carousel.data());
    });
Mark Otto's avatar
Mark Otto committed
999
  });
Jacob Thornton's avatar
Jacob Thornton committed
1000
  /**
For faster browsing, not all history is shown. View entire blame