bootstrap.js 113 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];
Chris Rebert's avatar
grunt    
Chris Rebert committed
537
  var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
Mark Otto's avatar
dist    
Mark Otto committed
538

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

Mark Otto's avatar
build    
Mark Otto committed
541
  var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
Jacob Thornton's avatar
Jacob Thornton committed
542

Mark Otto's avatar
dist    
Mark Otto committed
543
  var MILLISECONDS_MULTIPLIER = 1000;
Jacob Thornton's avatar
Jacob Thornton committed
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];
Mark Otto's avatar
dist    
Mark Otto committed
613
      this._transitionDuration = this._getTransitionDuration();
Jacob Thornton's avatar
Jacob Thornton committed
614
615

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

Mark Otto's avatar
dist    
Mark Otto committed
720
721
722
723
724
725
726
727
728
729
730
731
732
733
    _proto._getTransitionDuration = function _getTransitionDuration() {
      // Get transition-duration of first element in the carousel
      var transitionDuration = $$$1(this._element).find(Selector.ITEM).css('transition-duration'); // Return 0 carousel item is not found

      if (!transitionDuration) {
        return 0;
      } // If multiple durations are defined, take the first


      transitionDuration = transitionDuration.split(',')[0]; // Multiply by 1000 if transition-duration is defined in seconds

      return transitionDuration.indexOf('ms') > -1 ? parseFloat(transitionDuration) : parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER;
    };

Mark Otto's avatar
dist    
Mark Otto committed
734
    _proto._addEventListeners = function _addEventListeners() {
Mark Otto's avatar
dist    
Mark Otto committed
735
      var _this2 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
736

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

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

Mark Otto's avatar
build    
Mark Otto committed
750
        if ('ontouchstart' in document.documentElement) {
Mark Otto's avatar
dist    
Mark Otto committed
751
          // If it's a touch-enabled device, mouseenter/leave are fired as
Mark Otto's avatar
build    
Mark Otto committed
752
753
754
755
756
757
          // 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
758
          $$$1(this._element).on(Event.TOUCHEND, function () {
Mark Otto's avatar
dist    
Mark Otto committed
759
            _this2.pause();
Mark Otto's avatar
dist    
Mark Otto committed
760

Mark Otto's avatar
dist    
Mark Otto committed
761
762
            if (_this2.touchTimeout) {
              clearTimeout(_this2.touchTimeout);
Mark Otto's avatar
build    
Mark Otto committed
763
            }
Mark Otto's avatar
dist    
Mark Otto committed
764

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

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
784
        case ARROW_RIGHT_KEYCODE:
Mark Otto's avatar
grunt    
Mark Otto committed
785
          event.preventDefault();
Mark Otto's avatar
grunt    
Mark Otto committed
786
787
          this.next();
          break;
Mark Otto's avatar
dist    
Mark Otto committed
788

Mark Otto's avatar
grunt    
Mark Otto committed
789
        default:
Jacob Thornton's avatar
Jacob Thornton committed
790
      }
Mark Otto's avatar
grunt    
Mark Otto committed
791
    };
Jacob Thornton's avatar
Jacob Thornton committed
792

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

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

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

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
811
      var delta = direction === Direction.PREV ? -1 : 1;
Mark Otto's avatar
grunt    
Mark Otto committed
812
813
814
      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
815

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

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

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

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

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

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

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

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

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

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

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

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

      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
868

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
876
877
878
      if (slideEvent.isDefaultPrevented()) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
879

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

Mark Otto's avatar
grunt    
Mark Otto committed
885
886
887
888
889
      this._isSliding = true;

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
900
901
      if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.SLIDE)) {
        $$$1(nextElement).addClass(orderClassName);
Mark Otto's avatar
grunt    
Mark Otto committed
902
        Util.reflow(nextElement);
Mark Otto's avatar
dist    
Mark Otto committed
903
904
905
906
907
        $$$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
908
          _this3._isSliding = false;
Mark Otto's avatar
grunt    
Mark Otto committed
909
          setTimeout(function () {
Mark Otto's avatar
dist    
Mark Otto committed
910
            return $$$1(_this3._element).trigger(slidEvent);
Mark Otto's avatar
grunt    
Mark Otto committed
911
          }, 0);
Mark Otto's avatar
dist    
Mark Otto committed
912
        }).emulateTransitionEnd(this._transitionDuration);
Mark Otto's avatar
grunt    
Mark Otto committed
913
      } else {
Mark Otto's avatar
dist    
Mark Otto committed
914
915
        $$$1(activeElement).removeClass(ClassName.ACTIVE);
        $$$1(nextElement).addClass(ClassName.ACTIVE);
Mark Otto's avatar
grunt    
Mark Otto committed
916
        this._isSliding = false;
Mark Otto's avatar
dist    
Mark Otto committed
917
        $$$1(this._element).trigger(slidEvent);
Jacob Thornton's avatar
Jacob Thornton committed
918
919
      }

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


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

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

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

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

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

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

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
961
962
963
      if (!selector) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
964

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

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
974
975
976
      if (slideIndex) {
        config.interval = false;
      }
Jacob Thornton's avatar
Jacob Thornton committed
977

Mark Otto's avatar
dist    
Mark Otto committed
978
      Carousel._jQueryInterface.call($$$1(target), config);
Mark Otto's avatar
grunt    
Mark Otto committed
979
980

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

      event.preventDefault();
    };

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