bootstrap.js 111 KB
Newer Older
1
/*!
Mark Otto's avatar
Mark Otto committed
2
  * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)
Mark Otto's avatar
dist    
Mark Otto committed
3
4
5
6
7
  * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  */
var bootstrap = (function (exports,$,Popper) {
'use strict';
Mark Otto's avatar
grunt    
Mark Otto committed
8

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

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
14
 * Bootstrap (v4.0.0-beta.2): util.js
Jacob Thornton's avatar
Jacob Thornton committed
15
16
17
18
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
19
var Util = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
20
21
22
23
24
25
  /**
   * ------------------------------------------------------------------------
   * Private TransitionEnd Helpers
   * ------------------------------------------------------------------------
   */
  var transition = false;
Chris Rebert's avatar
grunt    
Chris Rebert committed
26
  var MAX_UID = 1000000;
Jacob Thornton's avatar
Jacob Thornton committed
27
28
  var TransitionEndEvent = {
    WebkitTransition: 'webkitTransitionEnd',
Mark Otto's avatar
dist    
Mark Otto committed
29
    transition: 'transitionend' // shoutout AngusCroll (https://goo.gl/pxwQGp)
Jacob Thornton's avatar
Jacob Thornton committed
30

Mark Otto's avatar
dist    
Mark Otto committed
31
  };
Jacob Thornton's avatar
Jacob Thornton committed
32

Mark Otto's avatar
dist    
Mark Otto committed
33
34
  function toType(obj) {
    return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
Jacob Thornton's avatar
Jacob Thornton committed
35
36
37
38
39
40
41
  }

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

Mark Otto's avatar
dist    
Mark Otto committed
46
        return undefined; // eslint-disable-line no-undefined
Jacob Thornton's avatar
Jacob Thornton committed
47
48
49
50
51
52
53
54
55
56
57
      }
    };
  }

  function transitionEndTest() {
    if (window.QUnit) {
      return false;
    }

    var el = document.createElement('bootstrap');

Mark Otto's avatar
grunt    
Mark Otto committed
58
    for (var name in TransitionEndEvent) {
Mark Otto's avatar
dist    
Mark Otto committed
59
      if (typeof el.style[name] !== 'undefined') {
Mark Otto's avatar
grunt    
Mark Otto committed
60
61
62
        return {
          end: TransitionEndEvent[name]
        };
Jacob Thornton's avatar
Jacob Thornton committed
63
64
65
66
67
68
69
70
71
72
      }
    }

    return false;
  }

  function transitionEndEmulator(duration) {
    var _this = this;

    var called = false;
Mark Otto's avatar
dist    
Mark Otto committed
73
    $$$1(this).one(Util.TRANSITION_END, function () {
Jacob Thornton's avatar
Jacob Thornton committed
74
75
76
77
78
79
80
81
82
83
84
85
      called = true;
    });
    setTimeout(function () {
      if (!called) {
        Util.triggerTransitionEnd(_this);
      }
    }, duration);
    return this;
  }

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

    if (Util.supportsTransitionEnd()) {
Mark Otto's avatar
dist    
Mark Otto committed
89
      $$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
Jacob Thornton's avatar
Jacob Thornton committed
90
91
92
93
94
95
96
97
98
    }
  }
  /**
   * --------------------------------------------------------------------------
   * Public Util Api
   * --------------------------------------------------------------------------
   */


Mark Otto's avatar
dist    
Mark Otto committed
99
  var Util = {
Jacob Thornton's avatar
Jacob Thornton committed
100
101
    TRANSITION_END: 'bsTransitionEnd',
    getUID: function getUID(prefix) {
Jacob Thornton's avatar
Jacob Thornton committed
102
      do {
Mark Otto's avatar
grunt    
Mark Otto committed
103
        // eslint-disable-next-line no-bitwise
Mark Otto's avatar
grunt    
Mark Otto committed
104
        prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
Jacob Thornton's avatar
Jacob Thornton committed
105
      } while (document.getElementById(prefix));
Mark Otto's avatar
dist    
Mark Otto committed
106

Jacob Thornton's avatar
Jacob Thornton committed
107
108
109
110
      return prefix;
    },
    getSelectorFromElement: function getSelectorFromElement(element) {
      var selector = element.getAttribute('data-target');
Mark Otto's avatar
dist    
Mark Otto committed
111

Mark Otto's avatar
grunt    
Mark Otto committed
112
      if (!selector || selector === '#') {
Jacob Thornton's avatar
Jacob Thornton committed
113
114
115
        selector = element.getAttribute('href') || '';
      }

Mark Otto's avatar
grunt    
Mark Otto committed
116
      try {
Mark Otto's avatar
dist    
Mark Otto committed
117
        var $selector = $$$1(document).find(selector);
Mark Otto's avatar
grunt    
Mark Otto committed
118
119
120
121
        return $selector.length > 0 ? selector : null;
      } catch (error) {
        return null;
      }
Jacob Thornton's avatar
Jacob Thornton committed
122
123
    },
    reflow: function reflow(element) {
Mark Otto's avatar
grunt    
Mark Otto committed
124
      return element.offsetHeight;
Jacob Thornton's avatar
Jacob Thornton committed
125
126
    },
    triggerTransitionEnd: function triggerTransitionEnd(element) {
Mark Otto's avatar
dist    
Mark Otto committed
127
      $$$1(element).trigger(transition.end);
Jacob Thornton's avatar
Jacob Thornton committed
128
129
    },
    supportsTransitionEnd: function supportsTransitionEnd() {
Jacob Thornton's avatar
Jacob Thornton committed
130
      return Boolean(transition);
Jacob Thornton's avatar
Jacob Thornton committed
131
    },
Mark Otto's avatar
dist    
Mark Otto committed
132
133
134
    isElement: function isElement(obj) {
      return (obj[0] || obj).nodeType;
    },
Jacob Thornton's avatar
Jacob Thornton committed
135
136
    typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
      for (var property in configTypes) {
Mark Otto's avatar
dist    
Mark Otto committed
137
        if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
Jacob Thornton's avatar
Jacob Thornton committed
138
139
          var expectedTypes = configTypes[property];
          var value = config[property];
Mark Otto's avatar
dist    
Mark Otto committed
140
          var valueType = value && Util.isElement(value) ? 'element' : toType(value);
Jacob Thornton's avatar
Jacob Thornton committed
141

Jacob Thornton's avatar
Jacob Thornton committed
142
          if (!new RegExp(expectedTypes).test(valueType)) {
Mark Otto's avatar
dist    
Mark Otto committed
143
            throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
Jacob Thornton's avatar
Jacob Thornton committed
144
          }
Jacob Thornton's avatar
Jacob Thornton committed
145
146
147
148
149
150
        }
      }
    }
  };
  setTransitionEndSupport();
  return Util;
Mark Otto's avatar
dist    
Mark Otto committed
151
}($);
Jacob Thornton's avatar
Jacob Thornton committed
152

Mark Otto's avatar
dist    
Mark Otto committed
153
154
155
156
157
158
159
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);
Mark Otto's avatar
dist    
Mark Otto committed
160
  }
Mark Otto's avatar
dist    
Mark Otto committed
161
}
Mark Otto's avatar
dist    
Mark Otto committed
162

Mark Otto's avatar
dist    
Mark Otto committed
163
164
165
166
167
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
168

Mark Otto's avatar
dist    
Mark Otto committed
169
var createClass = _createClass;
Mark Otto's avatar
dist    
Mark Otto committed
170

Mark Otto's avatar
dist    
Mark Otto committed
171
172
173
174
175
function _inheritsLoose(subClass, superClass) {
  subClass.prototype = Object.create(superClass.prototype);
  subClass.prototype.constructor = subClass;
  subClass.__proto__ = superClass;
}
Mark Otto's avatar
dist    
Mark Otto committed
176

Mark Otto's avatar
dist    
Mark Otto committed
177
var inheritsLoose = _inheritsLoose;
Mark Otto's avatar
dist    
Mark Otto committed
178

Jacob Thornton's avatar
Jacob Thornton committed
179
180
/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
181
 * Bootstrap (v4.0.0-beta.2): alert.js
Jacob Thornton's avatar
Jacob Thornton committed
182
183
184
185
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

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

Mark Otto's avatar
dist    
Mark Otto committed
217
  };
Jacob Thornton's avatar
Jacob Thornton committed
218

Mark Otto's avatar
dist    
Mark Otto committed
219
220
221
222
  var Alert =
  /*#__PURE__*/
  function () {
    function Alert(element) {
Jacob Thornton's avatar
Jacob Thornton committed
223
      this._element = element;
Mark Otto's avatar
dist    
Mark Otto committed
224
    } // getters
Jacob Thornton's avatar
Jacob Thornton committed
225
226


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

Mark Otto's avatar
dist    
Mark Otto committed
229
230
    // public
    _proto.close = function close(element) {
Mark Otto's avatar
grunt    
Mark Otto committed
231
      element = element || this._element;
Jacob Thornton's avatar
Jacob Thornton committed
232

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

Mark Otto's avatar
grunt    
Mark Otto committed
235
236
237
238
239
      var customEvent = this._triggerCloseEvent(rootElement);

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

Mark Otto's avatar
grunt    
Mark Otto committed
241
242
      this._removeElement(rootElement);
    };
Jacob Thornton's avatar
Jacob Thornton committed
243

Mark Otto's avatar
dist    
Mark Otto committed
244
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
245
      $$$1.removeData(this._element, DATA_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
246
      this._element = null;
Mark Otto's avatar
dist    
Mark Otto committed
247
    }; // private
Mark Otto's avatar
grunt    
Mark Otto committed
248

Jacob Thornton's avatar
Jacob Thornton committed
249

Mark Otto's avatar
dist    
Mark Otto committed
250
    _proto._getRootElement = function _getRootElement(element) {
Mark Otto's avatar
grunt    
Mark Otto committed
251
252
253
254
      var selector = Util.getSelectorFromElement(element);
      var parent = false;

      if (selector) {
Mark Otto's avatar
dist    
Mark Otto committed
255
        parent = $$$1(selector)[0];
Jacob Thornton's avatar
Jacob Thornton committed
256
      }
Mark Otto's avatar
grunt    
Mark Otto committed
257
258

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

Mark Otto's avatar
grunt    
Mark Otto committed
262
263
      return parent;
    };
Jacob Thornton's avatar
Jacob Thornton committed
264

Mark Otto's avatar
dist    
Mark Otto committed
265
    _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
Mark Otto's avatar
dist    
Mark Otto committed
266
267
      var closeEvent = $$$1.Event(Event.CLOSE);
      $$$1(element).trigger(closeEvent);
Mark Otto's avatar
grunt    
Mark Otto committed
268
269
      return closeEvent;
    };
Jacob Thornton's avatar
Jacob Thornton committed
270

Mark Otto's avatar
dist    
Mark Otto committed
271
    _proto._removeElement = function _removeElement(element) {
Mark Otto's avatar
dist    
Mark Otto committed
272
      var _this = this;
Mark Otto's avatar
grunt    
Mark Otto committed
273

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
282
      $$$1(element).one(Util.TRANSITION_END, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
283
        return _this._destroyElement(element, event);
Mark Otto's avatar
grunt    
Mark Otto committed
284
      }).emulateTransitionEnd(TRANSITION_DURATION);
Mark Otto's avatar
grunt    
Mark Otto committed
285
    };
Jacob Thornton's avatar
Jacob Thornton committed
286

Mark Otto's avatar
dist    
Mark Otto committed
287
    _proto._destroyElement = function _destroyElement(element) {
Mark Otto's avatar
dist    
Mark Otto committed
288
      $$$1(element).detach().trigger(Event.CLOSED).remove();
Mark Otto's avatar
dist    
Mark Otto committed
289
    }; // static
Jacob Thornton's avatar
Jacob Thornton committed
290
291


Mark Otto's avatar
grunt    
Mark Otto committed
292
293
    Alert._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
294
        var $element = $$$1(this);
Mark Otto's avatar
grunt    
Mark Otto committed
295
        var data = $element.data(DATA_KEY);
Jacob Thornton's avatar
Jacob Thornton committed
296

Mark Otto's avatar
grunt    
Mark Otto committed
297
298
299
300
        if (!data) {
          data = new Alert(this);
          $element.data(DATA_KEY, data);
        }
Jacob Thornton's avatar
Jacob Thornton committed
301

Mark Otto's avatar
grunt    
Mark Otto committed
302
303
304
305
306
        if (config === 'close') {
          data[config](this);
        }
      });
    };
Jacob Thornton's avatar
Jacob Thornton committed
307

Mark Otto's avatar
grunt    
Mark Otto committed
308
309
310
311
312
    Alert._handleDismiss = function _handleDismiss(alertInstance) {
      return function (event) {
        if (event) {
          event.preventDefault();
        }
Jacob Thornton's avatar
Jacob Thornton committed
313

Mark Otto's avatar
grunt    
Mark Otto committed
314
315
316
317
        alertInstance.close(this);
      };
    };

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


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

Mark Otto's avatar
dist    
Mark Otto committed
340
341
  $$$1.fn[NAME] = Alert._jQueryInterface;
  $$$1.fn[NAME].Constructor = Alert;
Mark Otto's avatar
dist    
Mark Otto committed
342

Mark Otto's avatar
dist    
Mark Otto committed
343
344
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Jacob Thornton's avatar
Jacob Thornton committed
345
346
347
348
    return Alert._jQueryInterface;
  };

  return Alert;
Mark Otto's avatar
dist    
Mark Otto committed
349
}($);
Jacob Thornton's avatar
Jacob Thornton committed
350
351
352

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
353
 * Bootstrap (v4.0.0-beta.2): button.js
Jacob Thornton's avatar
Jacob Thornton committed
354
355
356
357
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

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

Mark Otto's avatar
dist    
Mark Otto committed
391
  };
Jacob Thornton's avatar
Jacob Thornton committed
392

Mark Otto's avatar
dist    
Mark Otto committed
393
394
395
396
  var Button =
  /*#__PURE__*/
  function () {
    function Button(element) {
Jacob Thornton's avatar
Jacob Thornton committed
397
      this._element = element;
Mark Otto's avatar
dist    
Mark Otto committed
398
    } // getters
Jacob Thornton's avatar
Jacob Thornton committed
399
400


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

Mark Otto's avatar
dist    
Mark Otto committed
403
404
    // public
    _proto.toggle = function toggle() {
Mark Otto's avatar
grunt    
Mark Otto committed
405
      var triggerChangeEvent = true;
Mark Otto's avatar
grunt    
Mark Otto committed
406
      var addAriaPressed = true;
Mark Otto's avatar
dist    
Mark Otto committed
407
      var rootElement = $$$1(this._element).closest(Selector.DATA_TOGGLE)[0];
Jacob Thornton's avatar
Jacob Thornton committed
408

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
419
              if (activeElement) {
Mark Otto's avatar
dist    
Mark Otto committed
420
                $$$1(activeElement).removeClass(ClassName.ACTIVE);
Jacob Thornton's avatar
Jacob Thornton committed
421
422
              }
            }
Mark Otto's avatar
grunt    
Mark Otto committed
423
          }
Jacob Thornton's avatar
Jacob Thornton committed
424

Mark Otto's avatar
grunt    
Mark Otto committed
425
          if (triggerChangeEvent) {
Johann-S's avatar
build    
Johann-S committed
426
427
428
            if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
              return;
            }
Mark Otto's avatar
dist    
Mark Otto committed
429

Mark Otto's avatar
dist    
Mark Otto committed
430
431
            input.checked = !$$$1(this._element).hasClass(ClassName.ACTIVE);
            $$$1(input).trigger('change');
Jacob Thornton's avatar
Jacob Thornton committed
432
433
          }

Mark Otto's avatar
grunt    
Mark Otto committed
434
          input.focus();
Mark Otto's avatar
grunt    
Mark Otto committed
435
          addAriaPressed = false;
Jacob Thornton's avatar
Jacob Thornton committed
436
437
        }
      }
Mark Otto's avatar
grunt    
Mark Otto committed
438

Mark Otto's avatar
grunt    
Mark Otto committed
439
      if (addAriaPressed) {
Mark Otto's avatar
dist    
Mark Otto committed
440
        this._element.setAttribute('aria-pressed', !$$$1(this._element).hasClass(ClassName.ACTIVE));
Mark Otto's avatar
grunt    
Mark Otto committed
441
      }
Mark Otto's avatar
grunt    
Mark Otto committed
442

Mark Otto's avatar
grunt    
Mark Otto committed
443
      if (triggerChangeEvent) {
Mark Otto's avatar
dist    
Mark Otto committed
444
        $$$1(this._element).toggleClass(ClassName.ACTIVE);
Jacob Thornton's avatar
Jacob Thornton committed
445
      }
Mark Otto's avatar
grunt    
Mark Otto committed
446
    };
Jacob Thornton's avatar
Jacob Thornton committed
447

Mark Otto's avatar
dist    
Mark Otto committed
448
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
449
      $$$1.removeData(this._element, DATA_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
450
      this._element = null;
Mark Otto's avatar
dist    
Mark Otto committed
451
    }; // static
Jacob Thornton's avatar
Jacob Thornton committed
452
453


Mark Otto's avatar
grunt    
Mark Otto committed
454
455
    Button._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
456
        var data = $$$1(this).data(DATA_KEY);
Jacob Thornton's avatar
Jacob Thornton committed
457

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
483

Mark Otto's avatar
dist    
Mark Otto committed
484
  $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
Jacob Thornton's avatar
Jacob Thornton committed
485
486
487
    event.preventDefault();
    var button = event.target;

Mark Otto's avatar
dist    
Mark Otto committed
488
489
    if (!$$$1(button).hasClass(ClassName.BUTTON)) {
      button = $$$1(button).closest(Selector.BUTTON);
Jacob Thornton's avatar
Jacob Thornton committed
490
491
    }

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

Mark Otto's avatar
dist    
Mark Otto committed
503
504
  $$$1.fn[NAME] = Button._jQueryInterface;
  $$$1.fn[NAME].Constructor = Button;
Mark Otto's avatar
dist    
Mark Otto committed
505

Mark Otto's avatar
dist    
Mark Otto committed
506
507
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Jacob Thornton's avatar
Jacob Thornton committed
508
509
510
511
    return Button._jQueryInterface;
  };

  return Button;
Mark Otto's avatar
dist    
Mark Otto committed
512
}($);
Jacob Thornton's avatar
Jacob Thornton committed
513
514
515

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
516
 * Bootstrap (v4.0.0-beta.2): carousel.js
Jacob Thornton's avatar
Jacob Thornton committed
517
518
519
520
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
594
  };
Jacob Thornton's avatar
Jacob Thornton committed
595

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

      this._addEventListeners();
Mark Otto's avatar
dist    
Mark Otto committed
611
    } // getters
Jacob Thornton's avatar
Jacob Thornton committed
612
613


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

Mark Otto's avatar
dist    
Mark Otto committed
616
617
    // public
    _proto.next = function next() {
Mark Otto's avatar
grunt    
Mark Otto committed
618
619
      if (!this._isSliding) {
        this._slide(Direction.NEXT);
Mark Otto's avatar
grunt    
Mark Otto committed
620
621
      }
    };
Jacob Thornton's avatar
Jacob Thornton committed
622

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

Mark Otto's avatar
dist    
Mark Otto committed
631
    _proto.prev = function prev() {
Mark Otto's avatar
grunt    
Mark Otto committed
632
633
      if (!this._isSliding) {
        this._slide(Direction.PREV);
XhmikosR's avatar
XhmikosR committed
634
      }
Mark Otto's avatar
grunt    
Mark Otto committed
635
636
    };

Mark Otto's avatar
dist    
Mark Otto committed
637
    _proto.pause = function pause(event) {
Mark Otto's avatar
grunt    
Mark Otto committed
638
639
      if (!event) {
        this._isPaused = true;
Jacob Thornton's avatar
Jacob Thornton committed
640
641
      }

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

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

Mark Otto's avatar
dist    
Mark Otto committed
651
    _proto.cycle = function cycle(event) {
Mark Otto's avatar
grunt    
Mark Otto committed
652
653
654
      if (!event) {
        this._isPaused = false;
      }
Jacob Thornton's avatar
Jacob Thornton committed
655

Mark Otto's avatar
grunt    
Mark Otto committed
656
      if (this._interval) {
Jacob Thornton's avatar
Jacob Thornton committed
657
658
659
660
        clearInterval(this._interval);
        this._interval = null;
      }

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

Mark Otto's avatar
dist    
Mark Otto committed
666
    _proto.to = function to(index) {
Mark Otto's avatar
dist    
Mark Otto committed
667
      var _this = this;
Mark Otto's avatar
grunt    
Mark Otto committed
668

Mark Otto's avatar
dist    
Mark Otto committed
669
      this._activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
Mark Otto's avatar
grunt    
Mark Otto committed
670
671
672
673
674

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

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
684
685
686
687
688
      if (activeIndex === index) {
        this.pause();
        this.cycle();
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
689

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

Mark Otto's avatar
grunt    
Mark Otto committed
692
693
      this._slide(direction, this._items[index]);
    };
Jacob Thornton's avatar
Jacob Thornton committed
694

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


Mark Otto's avatar
dist    
Mark Otto committed
709
    _proto._getConfig = function _getConfig(config) {
Mark Otto's avatar
dist    
Mark Otto committed
710
      config = $$$1.extend({}, Default, config);
Mark Otto's avatar
grunt    
Mark Otto committed
711
712
713
      Util.typeCheckConfig(NAME, config, DefaultType);
      return config;
    };
Jacob Thornton's avatar
Jacob Thornton committed
714

Mark Otto's avatar
dist    
Mark Otto committed
715
    _proto._addEventListeners = function _addEventListeners() {
Mark Otto's avatar
dist    
Mark Otto committed
716
      var _this2 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
717

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
742
743
            if (_this2.touchTimeout) {
              clearTimeout(_this2.touchTimeout);
Mark Otto's avatar
build    
Mark Otto committed
744
            }
Mark Otto's avatar
dist    
Mark Otto committed
745

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

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

      switch (event.which) {
        case ARROW_LEFT_KEYCODE:
Mark Otto's avatar
grunt    
Mark Otto committed
761
          event.preventDefault();
Mark Otto's avatar
grunt    
Mark Otto committed
762
763
          this.prev();
          break;
Mark Otto's avatar
dist    
Mark Otto committed
764

Mark Otto's avatar
grunt    
Mark Otto committed
765
        case ARROW_RIGHT_KEYCODE:
Mark Otto's avatar
grunt    
Mark Otto committed
766
          event.preventDefault();
Mark Otto's avatar
grunt    
Mark Otto committed
767
768
          this.next();
          break;
Mark Otto's avatar
dist    
Mark Otto committed
769

Mark Otto's avatar
grunt    
Mark Otto committed
770
771
        default:
          return;
Jacob Thornton's avatar
Jacob Thornton committed
772
      }
Mark Otto's avatar
grunt    
Mark Otto committed
773
    };
Jacob Thornton's avatar
Jacob Thornton committed
774

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      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
850

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
858
859
860
      if (slideEvent.isDefaultPrevented()) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
861

Mark Otto's avatar
grunt    
Mark Otto committed
862
863
864
865
      if (!activeElement || !nextElement) {
        // some weirdness is happening, so we bail
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
866

Mark Otto's avatar
grunt    
Mark Otto committed
867
868
869
870
871
      this._isSliding = true;

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

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

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
902
903
904
      if (isCycling) {
        this.cycle();
      }
Mark Otto's avatar
dist    
Mark Otto committed
905
    }; // static
Jacob Thornton's avatar
Jacob Thornton committed
906
907


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

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

Mark Otto's avatar
dist    
Mark Otto committed
914
        if (typeof config === 'object') {
Mark Otto's avatar
dist    
Mark Otto committed
915
          $$$1.extend(_config, config);
Mark Otto's avatar
grunt    
Mark Otto committed
916
        }
Jacob Thornton's avatar
Jacob Thornton committed
917

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

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

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

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
943
944
945
      if (!selector) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
946

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

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

Mark Otto's avatar
dist    
Mark Otto committed
953
      var config = $$$1.extend({}, $$$1(target).data(), $$$1(this).data());
Mark Otto's avatar
grunt    
Mark Otto committed
954
      var slideIndex = this.getAttribute('data-slide-to');
Jacob Thornton's avatar
Jacob Thornton committed
955

Mark Otto's avatar
grunt    
Mark Otto committed
956
957
958
      if (slideIndex) {
        config.interval = false;
      }
Jacob Thornton's avatar
Jacob Thornton committed
959

Mark Otto's avatar
dist    
Mark Otto committed
960
      Carousel._jQueryInterface.call($$$1(target), config);
Mark Otto's avatar
grunt    
Mark Otto committed
961
962

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

      event.preventDefault();
    };

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


Mark Otto's avatar
dist    
Mark Otto committed
989
990
991
992
  $$$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
993

Jacob Thornton's avatar
Jacob Thornton committed
994
995
      Carousel._jQueryInterface.call($carousel, $carousel.data());
    });
Mark Otto's avatar
Mark Otto committed
996
  });
Jacob Thornton's avatar
Jacob Thornton committed
997
998
999
1000
1001
1002
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
1003
1004
  $$$1.fn[NAME] = Carousel._jQueryInterface;
  $$$1.fn[NAME].Constructor = Carousel;
Mark Otto's avatar
dist    
Mark Otto committed
1005

Mark Otto's avatar
dist    
Mark Otto committed
1006
1007
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Jacob Thornton's avatar
Jacob Thornton committed
1008
1009
1010
1011
    return Carousel._jQueryInterface;
  };

  return Carousel;
Mark Otto's avatar
dist    
Mark Otto committed
1012
}($);
Jacob Thornton's avatar
Jacob Thornton committed
1013
1014
1015

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
1016
 * Bootstrap (v4.0.0-beta.2): collapse.js
Jacob Thornton's avatar
Jacob Thornton committed
1017
1018
1019
1020
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
1021
var Collapse = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
1022
1023
1024
1025
1026
1027
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'collapse';
Mark Otto's avatar
Mark Otto committed
1028
  var VERSION = '4.0.0-beta.2';
Jacob Thornton's avatar
Jacob Thornton committed
1029
  var DATA_KEY = 'bs.collapse';
Mark Otto's avatar
dist    
Mark Otto committed
1030
  var EVENT_KEY = "." + DATA_KEY;
Jacob Thornton's avatar
Jacob Thornton committed
1031
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
1032
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Jacob Thornton's avatar
Jacob Thornton committed
1033
1034
1035
1036
1037
1038
1039
  var TRANSITION_DURATION = 600;
  var Default = {
    toggle: true,
    parent: ''
  };
  var DefaultType = {
    toggle: 'boolean',
Mark Otto's avatar
dist    
Mark Otto committed
1040
    parent: '(string|element)'
Jacob Thornton's avatar
Jacob Thornton committed
1041
1042
  };
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
1043
1044
1045
1046
1047
    SHOW: "show" + EVENT_KEY,
    SHOWN: "shown" + EVENT_KEY,
    HIDE: "hide" + EVENT_KEY,
    HIDDEN: "hidden" + EVENT_KEY,
    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
Jacob Thornton's avatar
Jacob Thornton committed
1048
1049
  };
  var ClassName = {
Mark Otto's avatar
grunt    
Mark Otto committed
1050
    SHOW: 'show',
Jacob Thornton's avatar
Jacob Thornton committed
1051
1052
1053
1054
1055
1056
1057
1058
1059
    COLLAPSE: 'collapse',
    COLLAPSING: 'collapsing',
    COLLAPSED: 'collapsed'
  };
  var Dimension = {
    WIDTH: 'width',
    HEIGHT: 'height'
  };
  var Selector = {
Johann-S's avatar
build    
Johann-S committed
1060
1061
    ACTIVES: '.show, .collapsing',
    DATA_TOGGLE: '[data-toggle="collapse"]'
Mark Otto's avatar
dist    
Mark Otto committed
1062
1063
1064
1065
1066
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
1067

Mark Otto's avatar
dist    
Mark Otto committed
1068
  };
Jacob Thornton's avatar
Jacob Thornton committed
1069

Mark Otto's avatar
dist    
Mark Otto committed
1070
1071
1072
1073
  var Collapse =
  /*#__PURE__*/
  function () {
    function Collapse(element, config) {
Jacob Thornton's avatar
Jacob Thornton committed
1074
1075
1076
      this._isTransitioning = false;
      this._element = element;
      this._config = this._getConfig(config);
Mark Otto's avatar
dist    
Mark Otto committed
1077
1078
      this._triggerArray = $$$1.makeArray($$$1("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
      var tabToggles = $$$1(Selector.DATA_TOGGLE);
Mark Otto's avatar
dist    
Mark Otto committed
1079

Mark Otto's avatar
build    
Mark Otto committed
1080
1081
1082
      for (var i = 0; i < tabToggles.length; i++) {
        var elem = tabToggles[i];
        var selector = Util.getSelectorFromElement(elem);
Mark Otto's avatar
dist    
Mark Otto committed
1083

Mark Otto's avatar
dist    
Mark Otto committed
1084
        if (selector !== null && $$$1(selector).filter(element).length > 0) {
Mark Otto's avatar
build    
Mark Otto committed
1085
1086
1087
          this._triggerArray.push(elem);
        }
      }
Johann-S's avatar
build    
Johann-S committed
1088

Jacob Thornton's avatar
Jacob Thornton committed
1089
1090
1091
1092
1093
1094
1095
1096
1097
      this._parent = this._config.parent ? this._getParent() : null;

      if (!this._config.parent) {
        this._addAriaAndCollapsedClass(this._element, this._triggerArray);
      }

      if (this._config.toggle) {
        this.toggle();
      }
Mark Otto's avatar
dist    
Mark Otto committed
1098
    } // getters
Jacob Thornton's avatar
Jacob Thornton committed
1099
1100


Mark Otto's avatar
dist    
Mark Otto committed
1101
    var _proto = Collapse.prototype;
Jacob Thornton's avatar
Jacob Thornton committed
1102

Mark Otto's avatar
dist    
Mark Otto committed
1103
1104
    // public
    _proto.toggle = function toggle() {
Mark Otto's avatar
dist    
Mark Otto committed
1105
      if ($$$1(this._element).hasClass(ClassName.SHOW)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1106
1107
1108
        this.hide();
      } else {
        this.show();
Jacob Thornton's avatar
Jacob Thornton committed
1109
      }
Mark Otto's avatar
grunt    
Mark Otto committed
1110
    };
Jacob Thornton's avatar
Jacob Thornton committed
1111

Mark Otto's avatar
dist    
Mark Otto committed
1112
    _proto.show = function show() {
Mark Otto's avatar
dist    
Mark Otto committed
1113
      var _this = this;
Jacob Thornton's avatar
Jacob Thornton committed
1114

Mark Otto's avatar
dist    
Mark Otto committed
1115
      if (this._isTransitioning || $$$1(this._element).hasClass(ClassName.SHOW)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1116
1117
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1118

Mark Otto's avatar
dist    
Mark Otto committed
1119
1120
      var actives;
      var activesData;
Jacob Thornton's avatar
Jacob Thornton committed
1121

Mark Otto's avatar
grunt    
Mark Otto committed
1122
      if (this._parent) {
Mark Otto's avatar
dist    
Mark Otto committed
1123
        actives = $$$1.makeArray($$$1(this._parent).children().children(Selector.ACTIVES));
Mark Otto's avatar
dist    
Mark Otto committed
1124

Mark Otto's avatar
grunt    
Mark Otto committed
1125
1126
        if (!actives.length) {
          actives = null;
Jacob Thornton's avatar
Jacob Thornton committed
1127
        }
Mark Otto's avatar
grunt    
Mark Otto committed
1128
      }
Jacob Thornton's avatar
Jacob Thornton committed
1129

Mark Otto's avatar
grunt    
Mark Otto committed
1130
      if (actives) {
Mark Otto's avatar
dist    
Mark Otto committed
1131
        activesData = $$$1(actives).data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
1132

Mark Otto's avatar
grunt    
Mark Otto committed
1133
        if (activesData && activesData._isTransitioning) {
Jacob Thornton's avatar
Jacob Thornton committed
1134
1135
          return;
        }
Mark Otto's avatar
grunt    
Mark Otto committed
1136
      }
Jacob Thornton's avatar
Jacob Thornton committed
1137

Mark Otto's avatar
dist    
Mark Otto committed
1138
1139
      var startEvent = $$$1.Event(Event.SHOW);
      $$$1(this._element).trigger(startEvent);
Mark Otto's avatar
dist    
Mark Otto committed
1140

Mark Otto's avatar
grunt    
Mark Otto committed
1141
1142
1143
1144
1145
      if (startEvent.isDefaultPrevented()) {
        return;
      }

      if (actives) {
Mark Otto's avatar
dist    
Mark Otto committed
1146
        Collapse._jQueryInterface.call($$$1(actives), 'hide');
Mark Otto's avatar
dist    
Mark Otto committed
1147

Mark Otto's avatar
grunt    
Mark Otto committed
1148
        if (!activesData) {
Mark Otto's avatar
dist    
Mark Otto committed
1149
          $$$1(actives).data(DATA_KEY, null);
Jacob Thornton's avatar
Jacob Thornton committed
1150
        }
Mark Otto's avatar
grunt    
Mark Otto committed
1151
      }
Jacob Thornton's avatar
Jacob Thornton committed
1152

Mark Otto's avatar
grunt    
Mark Otto committed
1153
      var dimension = this._getDimension();
Jacob Thornton's avatar
Jacob Thornton committed
1154

Mark Otto's avatar
dist    
Mark Otto committed
1155
      $$$1(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
Mark Otto's avatar
grunt    
Mark Otto committed
1156
      this._element.style[dimension] = 0;
Jacob Thornton's avatar
Jacob Thornton committed
1157

Mark Otto's avatar
grunt    
Mark Otto committed
1158
      if (this._triggerArray.length) {
Mark Otto's avatar
dist    
Mark Otto committed
1159
        $$$1(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
Mark Otto's avatar
grunt    
Mark Otto committed
1160
      }
Jacob Thornton's avatar
Jacob Thornton committed
1161

Mark Otto's avatar
grunt    
Mark Otto committed
1162
      this.setTransitioning(true);
Jacob Thornton's avatar
Jacob Thornton committed
1163

Mark Otto's avatar
grunt    
Mark Otto committed
1164
      var complete = function complete() {
Mark Otto's avatar
dist    
Mark Otto committed
1165
        $$$1(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
Mark Otto's avatar
dist    
Mark Otto committed
1166
        _this._element.style[dimension] = '';
Jacob Thornton's avatar
Jacob Thornton committed
1167

Mark Otto's avatar
dist    
Mark Otto committed
1168
        _this.setTransitioning(false);
Jacob Thornton's avatar
Jacob Thornton committed
1169

Mark Otto's avatar
dist    
Mark Otto committed
1170
        $$$1(_this._element).trigger(Event.SHOWN);
Mark Otto's avatar
grunt    
Mark Otto committed
1171
      };
Jacob Thornton's avatar
Jacob Thornton committed
1172

Mark Otto's avatar
grunt    
Mark Otto committed
1173
1174
1175
1176
      if (!Util.supportsTransitionEnd()) {
        complete();
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1177

Mark Otto's avatar
grunt    
Mark Otto committed
1178
      var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
Mark Otto's avatar
dist    
Mark Otto committed
1179
      var scrollSize = "scroll" + capitalizedDimension;
Mark Otto's avatar
dist    
Mark Otto committed
1180
      $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
Mark Otto's avatar
dist    
Mark Otto committed
1181
      this._element.style[dimension] = this._element[scrollSize] + "px";
Mark Otto's avatar
grunt    
Mark Otto committed
1182
    };
Jacob Thornton's avatar
Jacob Thornton committed
1183

Mark Otto's avatar
dist    
Mark Otto committed
1184
    _proto.hide = function hide() {
Mark Otto's avatar
dist    
Mark Otto committed
1185
      var _this2 = this;
Jacob Thornton's avatar
Jacob Thornton committed
1186

Mark Otto's avatar
dist    
Mark Otto committed
1187
      if (this._isTransitioning || !$$$1(this._element).hasClass(ClassName.SHOW)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1188
1189
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1190

Mark Otto's avatar
dist    
Mark Otto committed
1191
1192
      var startEvent = $$$1.Event(Event.HIDE);
      $$$1(this._element).trigger(startEvent);
Mark Otto's avatar
dist    
Mark Otto committed
1193

Mark Otto's avatar
grunt    
Mark Otto committed
1194
1195
1196
      if (startEvent.isDefaultPrevented()) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1197

Mark Otto's avatar
grunt    
Mark Otto committed
1198
      var dimension = this._getDimension();
Jacob Thornton's avatar
Jacob Thornton committed
1199

Mark Otto's avatar
dist    
Mark Otto committed
1200
      this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
Mark Otto's avatar
grunt    
Mark Otto committed
1201
      Util.reflow(this._element);
Mark Otto's avatar
dist    
Mark Otto committed
1202
      $$$1(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
Jacob Thornton's avatar
Jacob Thornton committed
1203

Mark Otto's avatar
grunt    
Mark Otto committed
1204
      if (this._triggerArray.length) {
Mark Otto's avatar
build    
Mark Otto committed
1205
1206
1207
        for (var i = 0; i < this._triggerArray.length; i++) {
          var trigger = this._triggerArray[i];
          var selector = Util.getSelectorFromElement(trigger);
Mark Otto's avatar
dist    
Mark Otto committed
1208

Mark Otto's avatar
build    
Mark Otto committed
1209
          if (selector !== null) {
Mark Otto's avatar
dist    
Mark Otto committed
1210
            var $elem = $$$1(selector);
Mark Otto's avatar
dist    
Mark Otto committed
1211

Mark Otto's avatar
build    
Mark Otto committed
1212
            if (!$elem.hasClass(ClassName.SHOW)) {
Mark Otto's avatar
dist    
Mark Otto committed
1213
              $$$1(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
Mark Otto's avatar
build    
Mark Otto committed
1214
1215
1216
            }
          }
        }
Mark Otto's avatar
grunt    
Mark Otto committed
1217
      }
Jacob Thornton's avatar
Jacob Thornton committed
1218

Mark Otto's avatar
grunt    
Mark Otto committed
1219
      this.setTransitioning(true);
Jacob Thornton's avatar
Jacob Thornton committed
1220

Mark Otto's avatar
grunt    
Mark Otto committed
1221
      var complete = function complete() {
Mark Otto's avatar
dist    
Mark Otto committed
1222
        _this2.setTransitioning(false);
Mark Otto's avatar
dist    
Mark Otto committed
1223

Mark Otto's avatar
dist    
Mark Otto committed
1224
        $$$1(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
Mark Otto's avatar
grunt    
Mark Otto committed
1225
      };
Jacob Thornton's avatar
Jacob Thornton committed
1226

Mark Otto's avatar
grunt    
Mark Otto committed
1227
      this._element.style[dimension] = '';
Jacob Thornton's avatar
Jacob Thornton committed
1228

Mark Otto's avatar
grunt    
Mark Otto committed
1229
1230
1231
      if (!Util.supportsTransitionEnd()) {
        complete();
        return;
Jacob Thornton's avatar
Jacob Thornton committed
1232
1233
      }

Mark Otto's avatar
dist    
Mark Otto committed
1234
      $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
Mark Otto's avatar
grunt    
Mark Otto committed
1235
    };
Jacob Thornton's avatar
Jacob Thornton committed
1236

Mark Otto's avatar
dist    
Mark Otto committed
1237
    _proto.setTransitioning = function setTransitioning(isTransitioning) {
Mark Otto's avatar
grunt    
Mark Otto committed
1238
1239
      this._isTransitioning = isTransitioning;
    };
Jacob Thornton's avatar
Jacob Thornton committed
1240

Mark Otto's avatar
dist    
Mark Otto committed
1241
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
1242
      $$$1.removeData(this._element, DATA_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
1243
1244
1245
1246
1247
      this._config = null;
      this._parent = null;
      this._element = null;
      this._triggerArray = null;
      this._isTransitioning = null;
Mark Otto's avatar
dist    
Mark Otto committed
1248
    }; // private
Jacob Thornton's avatar
Jacob Thornton committed
1249
1250


Mark Otto's avatar
dist    
Mark Otto committed
1251
    _proto._getConfig = function _getConfig(config) {
Mark Otto's avatar
dist    
Mark Otto committed
1252
      config = $$$1.extend({}, Default, config);
Mark Otto's avatar
Mark Otto committed
1253
      config.toggle = Boolean(config.toggle); // coerce string values
Mark Otto's avatar
dist    
Mark Otto committed
1254

Mark Otto's avatar
Mark Otto committed
1255
      Util.typeCheckConfig(NAME, config, DefaultType);
Mark Otto's avatar
grunt    
Mark Otto committed
1256
1257
1258
      return config;
    };

Mark Otto's avatar
dist    
Mark Otto committed
1259
    _proto._getDimension = function _getDimension() {
Mark Otto's avatar
dist    
Mark Otto committed
1260
      var hasWidth = $$$1(this._element).hasClass(Dimension.WIDTH);
Mark Otto's avatar
grunt    
Mark Otto committed
1261
1262
1263
      return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
    };

Mark Otto's avatar
dist    
Mark Otto committed
1264
    _proto._getParent = function _getParent() {
Mark Otto's avatar
dist    
Mark Otto committed
1265
      var _this3 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
1266

Mark Otto's avatar
dist    
Mark Otto committed
1267
      var parent = null;
Mark Otto's avatar
grunt    
Mark Otto committed
1268

Mark Otto's avatar
dist    
Mark Otto committed
1269
1270
1271
1272
1273
1274
1275
      if (Util.isElement(this._config.parent)) {
        parent = this._config.parent; // it's a jQuery object

        if (typeof this._config.parent.jquery !== 'undefined') {
          parent = this._config.parent[0];
        }
      } else {
Mark Otto's avatar
dist    
Mark Otto committed
1276
        parent = $$$1(this._config.parent)[0];
Mark Otto's avatar
dist    
Mark Otto committed
1277
1278
1279
      }

      var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
Mark Otto's avatar
dist    
Mark Otto committed
1280
      $$$1(parent).find(selector).each(function (i, element) {
Mark Otto's avatar
dist    
Mark Otto committed
1281
        _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
Mark Otto's avatar
grunt    
Mark Otto committed
1282
1283
1284
1285
      });
      return parent;
    };

Mark Otto's avatar
dist    
Mark Otto committed
1286
    _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
Mark Otto's avatar
grunt    
Mark Otto committed
1287
      if (element) {
Mark Otto's avatar
dist    
Mark Otto committed
1288
        var isOpen = $$$1(element).hasClass(ClassName.SHOW);
Mark Otto's avatar
grunt    
Mark Otto committed
1289
1290

        if (triggerArray.length) {
Mark Otto's avatar
dist    
Mark Otto committed
1291
          $$$1(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
Jacob Thornton's avatar
Jacob Thornton committed
1292
1293
        }
      }
Mark Otto's avatar
dist    
Mark Otto committed
1294
    }; // static
Jacob Thornton's avatar
Jacob Thornton committed
1295
1296


Mark Otto's avatar
grunt    
Mark Otto committed
1297
1298
    Collapse._getTargetFromElement = function _getTargetFromElement(element) {
      var selector = Util.getSelectorFromElement(element);
Mark Otto's avatar
dist    
Mark Otto committed
1299
      return selector ? $$$1(selector)[0] : null;
Mark Otto's avatar
grunt    
Mark Otto committed
1300
    };
Jacob Thornton's avatar
Jacob Thornton committed
1301

Mark Otto's avatar
grunt    
Mark Otto committed
1302
1303
    Collapse._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
1304
        var $this = $$$1(this);
Mark Otto's avatar
grunt    
Mark Otto committed
1305
        var data = $this.data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
1306

Mark Otto's avatar
dist    
Mark Otto committed
1307
        var _config = $$$1.extend({}, Default, $this.data(), typeof config === 'object' && config);
Jacob Thornton's avatar
Jacob Thornton committed
1308

Mark Otto's avatar
grunt    
Mark Otto committed
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
        if (!data && _config.toggle && /show|hide/.test(config)) {
          _config.toggle = false;
        }

        if (!data) {
          data = new Collapse(this, _config);
          $this.data(DATA_KEY, data);
        }

        if (typeof config === 'string') {
Mark Otto's avatar
dist    
Mark Otto committed
1319
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
1320
            throw new Error("No method named \"" + config + "\"");
Jacob Thornton's avatar
Jacob Thornton committed
1321
          }
Mark Otto's avatar
dist    
Mark Otto committed
1322

Mark Otto's avatar
grunt    
Mark Otto committed
1323
1324
1325
1326
1327
          data[config]();
        }
      });
    };

Mark Otto's avatar
dist    
Mark Otto committed
1328
    createClass(Collapse, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
1329
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
1330
1331
1332
1333
      get: function get() {
        return VERSION;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
1334
      key: "Default",
Jacob Thornton's avatar
Jacob Thornton committed
1335
1336
1337
1338
1339
      get: function get() {
        return Default;
      }
    }]);
    return Collapse;
Mark Otto's avatar
grunt    
Mark Otto committed
1340
1341
1342
1343
1344
1345
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
1346

Mark Otto's avatar
dist    
Mark Otto committed
1347

Mark Otto's avatar
dist    
Mark Otto committed
1348
  $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
1349
    // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
Mark Otto's avatar
dist    
Mark Otto committed
1350
    if (event.currentTarget.tagName === 'A') {
Mark Otto's avatar
grunt    
Mark Otto committed
1351
1352
      event.preventDefault();
    }
Jacob Thornton's avatar
Jacob Thornton committed
1353

Mark Otto's avatar
dist    
Mark Otto committed
1354
    var $trigger = $$$1(this);
Mark Otto's avatar
build    
Mark Otto committed
1355
    var selector = Util.getSelectorFromElement(this);
Mark Otto's avatar
dist    
Mark Otto committed
1356
1357
    $$$1(selector).each(function () {
      var $target = $$$1(this);
Mark Otto's avatar
build    
Mark Otto committed
1358
1359
      var data = $target.data(DATA_KEY);
      var config = data ? 'toggle' : $trigger.data();
Mark Otto's avatar
dist    
Mark Otto committed
1360

Mark Otto's avatar
build    
Mark Otto committed
1361
1362
      Collapse._jQueryInterface.call($target, config);
    });
Mark Otto's avatar
Mark Otto committed
1363
  });
Jacob Thornton's avatar
Jacob Thornton committed
1364
1365
1366
1367
1368
1369
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
1370
1371
  $$$1.fn[NAME] = Collapse._jQueryInterface;
  $$$1.fn[NAME].Constructor = Collapse;
Mark Otto's avatar
dist    
Mark Otto committed
1372

Mark Otto's avatar
dist    
Mark Otto committed
1373
1374
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Jacob Thornton's avatar
Jacob Thornton committed
1375
1376
1377
1378
    return Collapse._jQueryInterface;
  };

  return Collapse;
Mark Otto's avatar
dist    
Mark Otto committed
1379
}($);
Jacob Thornton's avatar
Jacob Thornton committed
1380
1381
1382

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
1383
 * Bootstrap (v4.0.0-beta.2): dropdown.js
Jacob Thornton's avatar
Jacob Thornton committed
1384
1385
1386
1387
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
1388
var Dropdown = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
1389
1390
1391
1392
1393
1394
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'dropdown';
Mark Otto's avatar
Mark Otto committed
1395
  var VERSION = '4.0.0-beta.2';
Jacob Thornton's avatar
Jacob Thornton committed
1396
  var DATA_KEY = 'bs.dropdown';
Mark Otto's avatar
dist    
Mark Otto committed
1397
  var EVENT_KEY = "." + DATA_KEY;
Jacob Thornton's avatar
Jacob Thornton committed
1398
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
1399
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Chris Rebert's avatar
grunt    
Chris Rebert committed
1400
  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
Mark Otto's avatar
dist    
Mark Otto committed
1401

Mark Otto's avatar
grunt    
Mark Otto committed
1402
  var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
Mark Otto's avatar
dist    
Mark Otto committed
1403

Mark Otto's avatar
grunt    
Mark Otto committed
1404
  var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
Mark Otto's avatar
dist    
Mark Otto committed
1405

Chris Rebert's avatar
grunt    
Chris Rebert committed
1406
  var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
Mark Otto's avatar
dist    
Mark Otto committed
1407

Chris Rebert's avatar
grunt    
Chris Rebert committed
1408
  var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
Mark Otto's avatar
dist    
Mark Otto committed
1409

Chris Rebert's avatar
grunt    
Chris Rebert committed
1410
  var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
Jacob Thornton's avatar
Jacob Thornton committed
1411

Mark Otto's avatar
dist    
Mark Otto committed
1412
  var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
Jacob Thornton's avatar
Jacob Thornton committed
1413
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
1414
1415
1416
1417
1418
1419
1420
1421
    HIDE: "hide" + EVENT_KEY,
    HIDDEN: "hidden" + EVENT_KEY,
    SHOW: "show" + EVENT_KEY,
    SHOWN: "shown" + EVENT_KEY,
    CLICK: "click" + EVENT_KEY,
    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
    KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY,
    KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY
Jacob Thornton's avatar
Jacob Thornton committed
1422
1423
1424
  };
  var ClassName = {
    DISABLED: 'disabled',
Mark Otto's avatar
build    
Mark Otto committed
1425
1426
    SHOW: 'show',
    DROPUP: 'dropup',
Mark Otto's avatar
dist    
Mark Otto committed
1427
1428
    DROPRIGHT: 'dropright',
    DROPLEFT: 'dropleft',
Mark Otto's avatar
build    
Mark Otto committed
1429
1430
    MENURIGHT: 'dropdown-menu-right',
    MENULEFT: 'dropdown-menu-left'
Jacob Thornton's avatar
Jacob Thornton committed
1431
1432
1433
1434
  };
  var Selector = {
    DATA_TOGGLE: '[data-toggle="dropdown"]',
    FORM_CHILD: '.dropdown form',
Mark Otto's avatar
grunt    
Mark Otto committed
1435
    MENU: '.dropdown-menu',
Jacob Thornton's avatar
Jacob Thornton committed
1436
    NAVBAR_NAV: '.navbar-nav',
Mark Otto's avatar
grunt    
Mark Otto committed
1437
    VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)'
Jacob Thornton's avatar
Jacob Thornton committed
1438
  };
Johann-S's avatar
build    
Johann-S committed
1439
1440
  var AttachmentMap = {
    TOP: 'top-start',
Mark Otto's avatar
build    
Mark Otto committed
1441
1442
    TOPEND: 'top-end',
    BOTTOM: 'bottom-start',
Mark Otto's avatar
dist    
Mark Otto committed
1443
1444
1445
1446
1447
    BOTTOMEND: 'bottom-end',
    RIGHT: 'right-start',
    RIGHTEND: 'right-end',
    LEFT: 'left-start',
    LEFTEND: 'left-end'
Johann-S's avatar
build    
Johann-S committed
1448
1449
1450
1451
1452
1453
  };
  var Default = {
    offset: 0,
    flip: true
  };
  var DefaultType = {
Mark Otto's avatar
dist    
Mark Otto committed
1454
    offset: '(number|string|function)',
Johann-S's avatar
build    
Johann-S committed
1455
    flip: 'boolean'
Mark Otto's avatar
dist    
Mark Otto committed
1456
1457
1458
1459
1460
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
1461

Mark Otto's avatar
dist    
Mark Otto committed
1462
  };
Jacob Thornton's avatar
Jacob Thornton committed
1463

Mark Otto's avatar
dist    
Mark Otto committed
1464
1465
1466
1467
  var Dropdown =
  /*#__PURE__*/
  function () {
    function Dropdown(element, config) {
Jacob Thornton's avatar
Jacob Thornton committed
1468
      this._element = element;
Johann-S's avatar
build    
Johann-S committed
1469
1470
1471
      this._popper = null;
      this._config = this._getConfig(config);
      this._menu = this._getMenuElement();
Mark Otto's avatar
build    
Mark Otto committed
1472
      this._inNavbar = this._detectNavbar();
Jacob Thornton's avatar
Jacob Thornton committed
1473
1474

      this._addEventListeners();
Mark Otto's avatar
dist    
Mark Otto committed
1475
    } // getters
Jacob Thornton's avatar
Jacob Thornton committed
1476
1477


Mark Otto's avatar
dist    
Mark Otto committed
1478
    var _proto = Dropdown.prototype;
Jacob Thornton's avatar
Jacob Thornton committed
1479

Mark Otto's avatar
dist    
Mark Otto committed
1480
1481
    // public
    _proto.toggle = function toggle() {
Mark Otto's avatar
dist    
Mark Otto committed
1482
      if (this._element.disabled || $$$1(this._element).hasClass(ClassName.DISABLED)) {
Johann-S's avatar
build    
Johann-S committed
1483
        return;
Mark Otto's avatar
grunt    
Mark Otto committed
1484
      }
Jacob Thornton's avatar
Jacob Thornton committed
1485

Johann-S's avatar
build    
Johann-S committed
1486
      var parent = Dropdown._getParentFromElement(this._element);
Mark Otto's avatar
dist    
Mark Otto committed
1487

Mark Otto's avatar
dist    
Mark Otto committed
1488
      var isActive = $$$1(this._menu).hasClass(ClassName.SHOW);
Jacob Thornton's avatar
Jacob Thornton committed
1489

Mark Otto's avatar
grunt    
Mark Otto committed
1490
      Dropdown._clearMenus();
Jacob Thornton's avatar
Jacob Thornton committed
1491

Mark Otto's avatar
grunt    
Mark Otto committed
1492
      if (isActive) {
Johann-S's avatar
build    
Johann-S committed
1493
        return;
Mark Otto's avatar
grunt    
Mark Otto committed
1494
      }
Jacob Thornton's avatar
Jacob Thornton committed
1495

Mark Otto's avatar
grunt    
Mark Otto committed
1496
      var relatedTarget = {
Johann-S's avatar
build    
Johann-S committed
1497
        relatedTarget: this._element
Mark Otto's avatar
grunt    
Mark Otto committed
1498
      };
Mark Otto's avatar
dist    
Mark Otto committed
1499
1500
      var showEvent = $$$1.Event(Event.SHOW, relatedTarget);
      $$$1(parent).trigger(showEvent);
Jacob Thornton's avatar
Jacob Thornton committed
1501

Mark Otto's avatar
grunt    
Mark Otto committed
1502
      if (showEvent.isDefaultPrevented()) {
Johann-S's avatar
build    
Johann-S committed
1503
        return;
Mark Otto's avatar
dist    
Mark Otto committed
1504
      } // Disable totally Popper.js for Dropdown in Navbar
Mark Otto's avatar
dist    
Mark Otto committed
1505
1506


Mark Otto's avatar
dist    
Mark Otto committed
1507
1508
1509
1510
1511
1512
1513
1514
      if (!this._inNavbar) {
        /**
         * Check for Popper dependency
         * Popper - https://popper.js.org
         */
        if (typeof Popper === 'undefined') {
          throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)');
        }
Jacob Thornton's avatar
Jacob Thornton committed
1515

Mark Otto's avatar
dist    
Mark Otto committed
1516
        var element = this._element; // for dropup with alignment we use the parent as popper container
Mark Otto's avatar
dist    
Mark Otto committed
1517

Mark Otto's avatar
dist    
Mark Otto committed
1518
1519
1520
1521
        if ($$$1(parent).hasClass(ClassName.DROPUP)) {
          if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
            element = parent;
          }
Mark Otto's avatar
build    
Mark Otto committed
1522
        }
Johann-S's avatar
build    
Johann-S committed
1523

Mark Otto's avatar
dist    
Mark Otto committed
1524
1525
        this._popper = new Popper(element, this._menu, this._getPopperConfig());
      } // if this is a touch-enabled device we add extra
Mark Otto's avatar
grunt    
Mark Otto committed
1526
1527
1528
      // empty mouseover listeners to the body's immediate children;
      // only needed because of broken event delegation on iOS
      // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
Mark Otto's avatar
dist    
Mark Otto committed
1529

Mark Otto's avatar
dist    
Mark Otto committed
1530

Mark Otto's avatar
dist    
Mark Otto committed
1531
1532
      if ('ontouchstart' in document.documentElement && !$$$1(parent).closest(Selector.NAVBAR_NAV).length) {
        $$$1('body').children().on('mouseover', null, $$$1.noop);
Mark Otto's avatar
grunt    
Mark Otto committed
1533
1534
      }

Johann-S's avatar
build    
Johann-S committed
1535
      this._element.focus();
Mark Otto's avatar
dist    
Mark Otto committed
1536

Johann-S's avatar
build    
Johann-S committed
1537
      this._element.setAttribute('aria-expanded', true);
Jacob Thornton's avatar
Jacob Thornton committed
1538

Mark Otto's avatar
dist    
Mark Otto committed
1539
1540
      $$$1(this._menu).toggleClass(ClassName.SHOW);
      $$$1(parent).toggleClass(ClassName.SHOW).trigger($$$1.Event(Event.SHOWN, relatedTarget));
Mark Otto's avatar
grunt    
Mark Otto committed
1541
    };
Jacob Thornton's avatar
Jacob Thornton committed
1542

Mark Otto's avatar
dist    
Mark Otto committed
1543
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
1544
1545
      $$$1.removeData(this._element, DATA_KEY);
      $$$1(this._element).off(EVENT_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
1546
      this._element = null;
Johann-S's avatar
build    
Johann-S committed
1547
      this._menu = null;
Mark Otto's avatar
dist    
Mark Otto committed
1548

Johann-S's avatar
build    
Johann-S committed
1549
1550
      if (this._popper !== null) {
        this._popper.destroy();
Mark Otto's avatar
dist    
Mark Otto committed
1551

Mark Otto's avatar
dist    
Mark Otto committed
1552
1553
        this._popper = null;
      }
Johann-S's avatar
build    
Johann-S committed
1554
1555
    };

Mark Otto's avatar
dist    
Mark Otto committed
1556
    _proto.update = function update() {
Mark Otto's avatar
build    
Mark Otto committed
1557
      this._inNavbar = this._detectNavbar();
Mark Otto's avatar
dist    
Mark Otto committed
1558

Johann-S's avatar
build    
Johann-S committed
1559
1560
1561
      if (this._popper !== null) {
        this._popper.scheduleUpdate();
      }
Mark Otto's avatar
dist    
Mark Otto committed
1562
    }; // private
Jacob Thornton's avatar
Jacob Thornton committed
1563
1564


Mark Otto's avatar
dist    
Mark Otto committed
1565
    _proto._addEventListeners = function _addEventListeners() {
Mark Otto's avatar
dist    
Mark Otto committed
1566
      var _this = this;
Johann-S's avatar
build    
Johann-S committed
1567

Mark Otto's avatar
dist    
Mark Otto committed
1568
      $$$1(this._element).on(Event.CLICK, function (event) {
Johann-S's avatar
build    
Johann-S committed
1569
1570
        event.preventDefault();
        event.stopPropagation();
Mark Otto's avatar
dist    
Mark Otto committed
1571

Mark Otto's avatar
dist    
Mark Otto committed
1572
        _this.toggle();
Johann-S's avatar
build    
Johann-S committed
1573
1574
1575
      });
    };

Mark Otto's avatar
dist    
Mark Otto committed
1576
    _proto._getConfig = function _getConfig(config) {
Mark Otto's avatar
dist    
Mark Otto committed
1577
      config = $$$1.extend({}, this.constructor.Default, $$$1(this._element).data(), config);
Johann-S's avatar
build    
Johann-S committed
1578
1579
1580
1581
      Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
      return config;
    };

Mark Otto's avatar
dist    
Mark Otto committed
1582
    _proto._getMenuElement = function _getMenuElement() {
Johann-S's avatar
build    
Johann-S committed
1583
1584
      if (!this._menu) {
        var parent = Dropdown._getParentFromElement(this._element);
Mark Otto's avatar
dist    
Mark Otto committed
1585

Mark Otto's avatar
dist    
Mark Otto committed
1586
        this._menu = $$$1(parent).find(Selector.MENU)[0];
Johann-S's avatar
build    
Johann-S committed
1587
      }
Mark Otto's avatar
dist    
Mark Otto committed
1588

Johann-S's avatar
build    
Johann-S committed
1589
      return this._menu;
Mark Otto's avatar
grunt    
Mark Otto committed
1590
    };
Jacob Thornton's avatar
Jacob Thornton committed
1591

Mark Otto's avatar
dist    
Mark Otto committed
1592
    _proto._getPlacement = function _getPlacement() {
Mark Otto's avatar
dist    
Mark Otto committed
1593
      var $parentDropdown = $$$1(this._element).parent();
Mark Otto's avatar
dist    
Mark Otto committed
1594
      var placement = AttachmentMap.BOTTOM; // Handle dropup
Mark Otto's avatar
build    
Mark Otto committed
1595

Mark Otto's avatar
dist    
Mark Otto committed
1596
      if ($parentDropdown.hasClass(ClassName.DROPUP)) {
Mark Otto's avatar
build    
Mark Otto committed
1597
        placement = AttachmentMap.TOP;
Mark Otto's avatar
dist    
Mark Otto committed
1598

Mark Otto's avatar
dist    
Mark Otto committed
1599
        if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
Mark Otto's avatar
build    
Mark Otto committed
1600
1601
          placement = AttachmentMap.TOPEND;
        }
Mark Otto's avatar
dist    
Mark Otto committed
1602
1603
1604
1605
      } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {
        placement = AttachmentMap.RIGHT;
      } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {
        placement = AttachmentMap.LEFT;
Mark Otto's avatar
dist    
Mark Otto committed
1606
      } else if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
Mark Otto's avatar
build    
Mark Otto committed
1607
        placement = AttachmentMap.BOTTOMEND;
Mark Otto's avatar
build    
Mark Otto committed
1608
      }
Mark Otto's avatar
dist    
Mark Otto committed
1609

Mark Otto's avatar
build    
Mark Otto committed
1610
1611
1612
      return placement;
    };

Mark Otto's avatar
dist    
Mark Otto committed
1613
    _proto._detectNavbar = function _detectNavbar() {
Mark Otto's avatar
dist    
Mark Otto committed
1614
      return $$$1(this._element).closest('.navbar').length > 0;
Mark Otto's avatar
build    
Mark Otto committed
1615
1616
    };

Mark Otto's avatar
dist    
Mark Otto committed
1617
    _proto._getPopperConfig = function _getPopperConfig() {
Mark Otto's avatar
dist    
Mark Otto committed
1618
1619
1620
1621
1622
1623
      var _this2 = this;

      var offsetConf = {};

      if (typeof this._config.offset === 'function') {
        offsetConf.fn = function (data) {
Mark Otto's avatar
dist    
Mark Otto committed
1624
          data.offsets = $$$1.extend({}, data.offsets, _this2._config.offset(data.offsets) || {});
Mark Otto's avatar
dist    
Mark Otto committed
1625
1626
1627
1628
1629
1630
          return data;
        };
      } else {
        offsetConf.offset = this._config.offset;
      }

Mark Otto's avatar
build    
Mark Otto committed
1631
1632
1633
      var popperConfig = {
        placement: this._getPlacement(),
        modifiers: {
Mark Otto's avatar
dist    
Mark Otto committed
1634
          offset: offsetConf,
Mark Otto's avatar
build    
Mark Otto committed
1635
1636
1637
          flip: {
            enabled: this._config.flip
          }
Mark Otto's avatar
dist    
Mark Otto committed
1638
        }
Mark Otto's avatar
dist    
Mark Otto committed
1639
      };
Mark Otto's avatar
build    
Mark Otto committed
1640
      return popperConfig;
Mark Otto's avatar
dist    
Mark Otto committed
1641
    }; // static
Mark Otto's avatar
build    
Mark Otto committed
1642

Jacob Thornton's avatar
Jacob Thornton committed
1643

Mark Otto's avatar
grunt    
Mark Otto committed
1644
1645
    Dropdown._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
1646
        var data = $$$1(this).data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
1647
1648

        var _config = typeof config === 'object' ? config : null;
Jacob Thornton's avatar
Jacob Thornton committed
1649

Mark Otto's avatar
grunt    
Mark Otto committed
1650
        if (!data) {
Johann-S's avatar
build    
Johann-S committed
1651
          data = new Dropdown(this, _config);
Mark Otto's avatar
dist    
Mark Otto committed
1652
          $$$1(this).data(DATA_KEY, data);
Jacob Thornton's avatar
Jacob Thornton committed
1653
1654
        }

Mark Otto's avatar
grunt    
Mark Otto committed
1655
        if (typeof config === 'string') {
Mark Otto's avatar
dist    
Mark Otto committed
1656
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
1657
            throw new Error("No method named \"" + config + "\"");
Mark Otto's avatar
grunt    
Mark Otto committed
1658
          }
Mark Otto's avatar
dist    
Mark Otto committed
1659

Johann-S's avatar
build    
Johann-S committed
1660
          data[config]();
Jacob Thornton's avatar
Jacob Thornton committed
1661
        }
Mark Otto's avatar
grunt    
Mark Otto committed
1662
1663
      });
    };
Jacob Thornton's avatar
Jacob Thornton committed
1664

Mark Otto's avatar
grunt    
Mark Otto committed
1665
    Dropdown._clearMenus = function _clearMenus(event) {
Mark Otto's avatar
grunt    
Mark Otto committed
1666
      if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1667
1668
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1669

Mark Otto's avatar
dist    
Mark Otto committed
1670
      var toggles = $$$1.makeArray($$$1(Selector.DATA_TOGGLE));
Mark Otto's avatar
dist    
Mark Otto committed
1671

Mark Otto's avatar
grunt    
Mark Otto committed
1672
1673
      for (var i = 0; i < toggles.length; i++) {
        var parent = Dropdown._getParentFromElement(toggles[i]);
Mark Otto's avatar
dist    
Mark Otto committed
1674

Mark Otto's avatar
dist    
Mark Otto committed
1675
        var context = $$$1(toggles[i]).data(DATA_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
1676
1677
1678
        var relatedTarget = {
          relatedTarget: toggles[i]
        };
Jacob Thornton's avatar
Jacob Thornton committed
1679

Johann-S's avatar
build    
Johann-S committed
1680
1681
1682
1683
1684
        if (!context) {
          continue;
        }

        var dropdownMenu = context._menu;
Mark Otto's avatar
dist    
Mark Otto committed
1685

Mark Otto's avatar
dist    
Mark Otto committed
1686
        if (!$$$1(parent).hasClass(ClassName.SHOW)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1687
1688
          continue;
        }
Jacob Thornton's avatar
Jacob Thornton committed
1689

Mark Otto's avatar
dist    
Mark Otto committed
1690
        if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $$$1.contains(parent, event.target)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1691
1692
          continue;
        }
Jacob Thornton's avatar
Jacob Thornton committed
1693

Mark Otto's avatar
dist    
Mark Otto committed
1694
1695
        var hideEvent = $$$1.Event(Event.HIDE, relatedTarget);
        $$$1(parent).trigger(hideEvent);
Mark Otto's avatar
dist    
Mark Otto committed
1696

Mark Otto's avatar
grunt    
Mark Otto committed
1697
1698
        if (hideEvent.isDefaultPrevented()) {
          continue;
Mark Otto's avatar
dist    
Mark Otto committed
1699
        } // if this is a touch-enabled device we remove the extra
Mark Otto's avatar
grunt    
Mark Otto committed
1700
        // empty mouseover listeners we added for iOS support
Mark Otto's avatar
dist    
Mark Otto committed
1701
1702


Mark Otto's avatar
grunt    
Mark Otto committed
1703
        if ('ontouchstart' in document.documentElement) {
Mark Otto's avatar
dist    
Mark Otto committed
1704
          $$$1('body').children().off('mouseover', null, $$$1.noop);
Mark Otto's avatar
grunt    
Mark Otto committed
1705
1706
        }

Mark Otto's avatar
grunt    
Mark Otto committed
1707
        toggles[i].setAttribute('aria-expanded', 'false');
Mark Otto's avatar
dist    
Mark Otto committed
1708
1709
        $$$1(dropdownMenu).removeClass(ClassName.SHOW);
        $$$1(parent).removeClass(ClassName.SHOW).trigger($$$1.Event(Event.HIDDEN, relatedTarget));
Jacob Thornton's avatar
Jacob Thornton committed
1710
      }
Mark Otto's avatar
grunt    
Mark Otto committed
1711
    };
Jacob Thornton's avatar
Jacob Thornton committed
1712

Mark Otto's avatar
grunt    
Mark Otto committed
1713
    Dropdown._getParentFromElement = function _getParentFromElement(element) {
Mark Otto's avatar
dist    
Mark Otto committed
1714
      var parent;
Mark Otto's avatar
grunt    
Mark Otto committed
1715
      var selector = Util.getSelectorFromElement(element);
Jacob Thornton's avatar
Jacob Thornton committed
1716

Mark Otto's avatar
grunt    
Mark Otto committed
1717
      if (selector) {
Mark Otto's avatar
dist    
Mark Otto committed
1718
        parent = $$$1(selector)[0];
Jacob Thornton's avatar
Jacob Thornton committed
1719
1720
      }

Mark Otto's avatar
grunt    
Mark Otto committed
1721
1722
      return parent || element.parentNode;
    };
Jacob Thornton's avatar
Jacob Thornton committed
1723

Mark Otto's avatar
grunt    
Mark Otto committed
1724
    Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
Mark Otto's avatar
dist    
Mark Otto committed
1725
1726
1727
1728
1729
1730
1731
1732
      // If not input/textarea:
      //  - And not a key in REGEXP_KEYDOWN => not a dropdown command
      // If input/textarea:
      //  - If space key => not a dropdown command
      //  - If key is other than escape
      //    - If key is not up or down => not a dropdown command
      //    - If trigger inside the menu => not a dropdown command
      if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $$$1(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1733
1734
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1735

Mark Otto's avatar
grunt    
Mark Otto committed
1736
1737
      event.preventDefault();
      event.stopPropagation();
Jacob Thornton's avatar
Jacob Thornton committed
1738

Mark Otto's avatar
dist    
Mark Otto committed
1739
      if (this.disabled || $$$1(this).hasClass(ClassName.DISABLED)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1740
1741
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1742

Mark Otto's avatar
grunt    
Mark Otto committed
1743
      var parent = Dropdown._getParentFromElement(this);
Mark Otto's avatar
dist    
Mark Otto committed
1744

Mark Otto's avatar
dist    
Mark Otto committed
1745
      var isActive = $$$1(parent).hasClass(ClassName.SHOW);
Jacob Thornton's avatar
Jacob Thornton committed
1746

Mark Otto's avatar
grunt    
Mark Otto committed
1747
      if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1748
        if (event.which === ESCAPE_KEYCODE) {
Mark Otto's avatar
dist    
Mark Otto committed
1749
1750
          var toggle = $$$1(parent).find(Selector.DATA_TOGGLE)[0];
          $$$1(toggle).trigger('focus');
Jacob Thornton's avatar
Jacob Thornton committed
1751
1752
        }

Mark Otto's avatar
dist    
Mark Otto committed
1753
        $$$1(this).trigger('click');
Mark Otto's avatar
grunt    
Mark Otto committed
1754
1755
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1756

Mark Otto's avatar
dist    
Mark Otto committed
1757
      var items = $$$1(parent).find(Selector.VISIBLE_ITEMS).get();
Jacob Thornton's avatar
Jacob Thornton committed
1758

Mark Otto's avatar
grunt    
Mark Otto committed
1759
1760
1761
      if (!items.length) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1762

Mark Otto's avatar
grunt    
Mark Otto committed
1763
      var index = items.indexOf(event.target);
Jacob Thornton's avatar
Jacob Thornton committed
1764

Mark Otto's avatar
grunt    
Mark Otto committed
1765
1766
1767
1768
      if (event.which === ARROW_UP_KEYCODE && index > 0) {
        // up
        index--;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1769

Mark Otto's avatar
grunt    
Mark Otto committed
1770
1771
1772
1773
      if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
        // down
        index++;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1774

Mark Otto's avatar
grunt    
Mark Otto committed
1775
1776
      if (index < 0) {
        index = 0;
Jacob Thornton's avatar
Jacob Thornton committed
1777
      }
Mark Otto's avatar
grunt    
Mark Otto committed
1778
1779
1780
1781

      items[index].focus();
    };

Mark Otto's avatar
dist    
Mark Otto committed
1782
    createClass(Dropdown, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
1783
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
1784
1785
1786
      get: function get() {
        return VERSION;
      }
Johann-S's avatar
build    
Johann-S committed
1787
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
1788
      key: "Default",
Johann-S's avatar
build    
Johann-S committed
1789
1790
1791
1792
      get: function get() {
        return Default;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
1793
      key: "DefaultType",
Johann-S's avatar
build    
Johann-S committed
1794
1795
1796
      get: function get() {
        return DefaultType;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1797
1798
    }]);
    return Dropdown;
Mark Otto's avatar
grunt    
Mark Otto committed
1799
1800
1801
1802
1803
1804
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
1805

Mark Otto's avatar
dist    
Mark Otto committed
1806

Mark Otto's avatar
dist    
Mark Otto committed
1807
  $$$1(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
Johann-S's avatar
build    
Johann-S committed
1808
1809
    event.preventDefault();
    event.stopPropagation();
Mark Otto's avatar
dist    
Mark Otto committed
1810

Mark Otto's avatar
dist    
Mark Otto committed
1811
    Dropdown._jQueryInterface.call($$$1(this), 'toggle');
Johann-S's avatar
build    
Johann-S committed
1812
  }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
Jacob Thornton's avatar
Jacob Thornton committed
1813
    e.stopPropagation();
Mark Otto's avatar
Mark Otto committed
1814
  });
Jacob Thornton's avatar
Jacob Thornton committed
1815
1816
1817
1818
1819
1820
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
1821
1822
  $$$1.fn[NAME] = Dropdown._jQueryInterface;
  $$$1.fn[NAME].Constructor = Dropdown;
Mark Otto's avatar
dist    
Mark Otto committed
1823

Mark Otto's avatar
dist    
Mark Otto committed
1824
1825
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Jacob Thornton's avatar
Jacob Thornton committed
1826
1827
1828
1829
    return Dropdown._jQueryInterface;
  };

  return Dropdown;
Mark Otto's avatar
dist    
Mark Otto committed
1830
}($, Popper);
Jacob Thornton's avatar
Jacob Thornton committed
1831
1832
1833

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
1834
 * Bootstrap (v4.0.0-beta.2): modal.js
Jacob Thornton's avatar
Jacob Thornton committed
1835
1836
1837
1838
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
1839
var Modal = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
1840
1841
1842
1843
1844
1845
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'modal';
Mark Otto's avatar
Mark Otto committed
1846
  var VERSION = '4.0.0-beta.2';
Jacob Thornton's avatar
Jacob Thornton committed
1847
  var DATA_KEY = 'bs.modal';
Mark Otto's avatar
dist    
Mark Otto committed
1848
  var EVENT_KEY = "." + DATA_KEY;
Jacob Thornton's avatar
Jacob Thornton committed
1849
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
1850
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Jacob Thornton's avatar
Jacob Thornton committed
1851
1852
  var TRANSITION_DURATION = 300;
  var BACKDROP_TRANSITION_DURATION = 150;
Chris Rebert's avatar
grunt    
Chris Rebert committed
1853
  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
Jacob Thornton's avatar
Jacob Thornton committed
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867

  var Default = {
    backdrop: true,
    keyboard: true,
    focus: true,
    show: true
  };
  var DefaultType = {
    backdrop: '(boolean|string)',
    keyboard: 'boolean',
    focus: 'boolean',
    show: 'boolean'
  };
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
    HIDE: "hide" + EVENT_KEY,
    HIDDEN: "hidden" + EVENT_KEY,
    SHOW: "show" + EVENT_KEY,
    SHOWN: "shown" + EVENT_KEY,
    FOCUSIN: "focusin" + EVENT_KEY,
    RESIZE: "resize" + EVENT_KEY,
    CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
    KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY,
    MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY,
    MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY,
    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
Jacob Thornton's avatar
Jacob Thornton committed
1879
1880
1881
1882
1883
1884
  };
  var ClassName = {
    SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
    BACKDROP: 'modal-backdrop',
    OPEN: 'modal-open',
    FADE: 'fade',
Mark Otto's avatar
grunt    
Mark Otto committed
1885
    SHOW: 'show'
Jacob Thornton's avatar
Jacob Thornton committed
1886
1887
1888
1889
1890
  };
  var Selector = {
    DIALOG: '.modal-dialog',
    DATA_TOGGLE: '[data-toggle="modal"]',
    DATA_DISMISS: '[data-dismiss="modal"]',
Mark Otto's avatar
grunt    
Mark Otto committed
1891
    FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
Mark Otto's avatar
dist    
Mark Otto committed
1892
    STICKY_CONTENT: '.sticky-top',
Mark Otto's avatar
grunt    
Mark Otto committed
1893
    NAVBAR_TOGGLER: '.navbar-toggler'
Mark Otto's avatar
dist    
Mark Otto committed
1894
1895
1896
1897
1898
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
1899

Mark Otto's avatar
dist    
Mark Otto committed
1900
  };
Jacob Thornton's avatar
Jacob Thornton committed
1901

Mark Otto's avatar
dist    
Mark Otto committed
1902
1903
1904
1905
  var Modal =
  /*#__PURE__*/
  function () {
    function Modal(element, config) {
Jacob Thornton's avatar
Jacob Thornton committed
1906
1907
      this._config = this._getConfig(config);
      this._element = element;
Mark Otto's avatar
dist    
Mark Otto committed
1908
      this._dialog = $$$1(element).find(Selector.DIALOG)[0];
Jacob Thornton's avatar
Jacob Thornton committed
1909
1910
1911
1912
1913
1914
      this._backdrop = null;
      this._isShown = false;
      this._isBodyOverflowing = false;
      this._ignoreBackdropClick = false;
      this._originalBodyPadding = 0;
      this._scrollbarWidth = 0;
Mark Otto's avatar
dist    
Mark Otto committed
1915
    } // getters
Jacob Thornton's avatar
Jacob Thornton committed
1916
1917


Mark Otto's avatar
dist    
Mark Otto committed
1918
    var _proto = Modal.prototype;
Jacob Thornton's avatar
Jacob Thornton committed
1919

Mark Otto's avatar
dist    
Mark Otto committed
1920
1921
    // public
    _proto.toggle = function toggle(relatedTarget) {
Mark Otto's avatar
grunt    
Mark Otto committed
1922
1923
      return this._isShown ? this.hide() : this.show(relatedTarget);
    };
Jacob Thornton's avatar
Jacob Thornton committed
1924

Mark Otto's avatar
dist    
Mark Otto committed
1925
    _proto.show = function show(relatedTarget) {
Mark Otto's avatar
dist    
Mark Otto committed
1926
      var _this = this;
Jacob Thornton's avatar
Jacob Thornton committed
1927

Mark Otto's avatar
dist    
Mark Otto committed
1928
      if (this._isTransitioning || this._isShown) {
Mark Otto's avatar
grunt    
Mark Otto committed
1929
        return;
Mark Otto's avatar
grunt    
Mark Otto committed
1930
1931
      }

Mark Otto's avatar
dist    
Mark Otto committed
1932
      if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1933
1934
        this._isTransitioning = true;
      }
Mark Otto's avatar
grunt    
Mark Otto committed
1935

Mark Otto's avatar
dist    
Mark Otto committed
1936
      var showEvent = $$$1.Event(Event.SHOW, {
Mark Otto's avatar
grunt    
Mark Otto committed
1937
1938
        relatedTarget: relatedTarget
      });
Mark Otto's avatar
dist    
Mark Otto committed
1939
      $$$1(this._element).trigger(showEvent);
Jacob Thornton's avatar
Jacob Thornton committed
1940

Mark Otto's avatar
grunt    
Mark Otto committed
1941
1942
1943
      if (this._isShown || showEvent.isDefaultPrevented()) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1944

Mark Otto's avatar
grunt    
Mark Otto committed
1945
      this._isShown = true;
Jacob Thornton's avatar
Jacob Thornton committed
1946

Mark Otto's avatar
grunt    
Mark Otto committed
1947
      this._checkScrollbar();
Mark Otto's avatar
dist    
Mark Otto committed
1948

Mark Otto's avatar
grunt    
Mark Otto committed
1949
      this._setScrollbar();
Jacob Thornton's avatar
Jacob Thornton committed
1950

Mark Otto's avatar
dist    
Mark Otto committed
1951
1952
      this._adjustDialog();

Mark Otto's avatar
dist    
Mark Otto committed
1953
      $$$1(document.body).addClass(ClassName.OPEN);
Jacob Thornton's avatar
Jacob Thornton committed
1954

Mark Otto's avatar
grunt    
Mark Otto committed
1955
      this._setEscapeEvent();
Mark Otto's avatar
dist    
Mark Otto committed
1956

Mark Otto's avatar
grunt    
Mark Otto committed
1957
      this._setResizeEvent();
Jacob Thornton's avatar
Jacob Thornton committed
1958

Mark Otto's avatar
dist    
Mark Otto committed
1959
      $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
1960
        return _this.hide(event);
Mark Otto's avatar
grunt    
Mark Otto committed
1961
      });
Mark Otto's avatar
dist    
Mark Otto committed
1962
1963
1964
      $$$1(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
        $$$1(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
          if ($$$1(event.target).is(_this._element)) {
Mark Otto's avatar
dist    
Mark Otto committed
1965
            _this._ignoreBackdropClick = true;
Mark Otto's avatar
grunt    
Mark Otto committed
1966
          }
Jacob Thornton's avatar
Jacob Thornton committed
1967
        });
Mark Otto's avatar
grunt    
Mark Otto committed
1968
1969
      });

Mark Otto's avatar
grunt    
Mark Otto committed
1970
      this._showBackdrop(function () {
Mark Otto's avatar
dist    
Mark Otto committed
1971
        return _this._showElement(relatedTarget);
Mark Otto's avatar
grunt    
Mark Otto committed
1972
      });
Mark Otto's avatar
grunt    
Mark Otto committed
1973
    };
Jacob Thornton's avatar
Jacob Thornton committed
1974

Mark Otto's avatar
dist    
Mark Otto committed
1975
    _proto.hide = function hide(event) {
Mark Otto's avatar
dist    
Mark Otto committed
1976
      var _this2 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
1977

Mark Otto's avatar
grunt    
Mark Otto committed
1978
1979
      if (event) {
        event.preventDefault();
Jacob Thornton's avatar
Jacob Thornton committed
1980
1981
      }

Mark Otto's avatar
grunt    
Mark Otto committed
1982
1983
      if (this._isTransitioning || !this._isShown) {
        return;
Mark Otto's avatar
grunt    
Mark Otto committed
1984
      }
Jacob Thornton's avatar
Jacob Thornton committed
1985

Mark Otto's avatar
dist    
Mark Otto committed
1986
1987
      var hideEvent = $$$1.Event(Event.HIDE);
      $$$1(this._element).trigger(hideEvent);
Jacob Thornton's avatar
Jacob Thornton committed
1988

Mark Otto's avatar
grunt    
Mark Otto committed
1989
1990
1991
      if (!this._isShown || hideEvent.isDefaultPrevented()) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1992

Mark Otto's avatar
grunt    
Mark Otto committed
1993
      this._isShown = false;
Mark Otto's avatar
dist    
Mark Otto committed
1994
      var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
Mark Otto's avatar
dist    
Mark Otto committed
1995
1996
1997
1998

      if (transition) {
        this._isTransitioning = true;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1999

Mark Otto's avatar
grunt    
Mark Otto committed
2000
      this._setEscapeEvent();
Mark Otto's avatar
dist    
Mark Otto committed
2001

Mark Otto's avatar
grunt    
Mark Otto committed
2002
      this._setResizeEvent();
Jacob Thornton's avatar
Jacob Thornton committed
2003

Mark Otto's avatar
dist    
Mark Otto committed
2004
2005
2006
2007
      $$$1(document).off(Event.FOCUSIN);
      $$$1(this._element).removeClass(ClassName.SHOW);
      $$$1(this._element).off(Event.CLICK_DISMISS);
      $$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS);
Jacob Thornton's avatar
Jacob Thornton committed
2008

Mark Otto's avatar
grunt    
Mark Otto committed
2009
      if (transition) {
Mark Otto's avatar
dist    
Mark Otto committed
2010
        $$$1(this._element).one(Util.TRANSITION_END, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
2011
          return _this2._hideModal(event);
Mark Otto's avatar
grunt    
Mark Otto committed
2012
        }).emulateTransitionEnd(TRANSITION_DURATION);
Mark Otto's avatar
grunt    
Mark Otto committed
2013
2014
      } else {
        this._hideModal();
Jacob Thornton's avatar
Jacob Thornton committed
2015
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2016
    };
Jacob Thornton's avatar
Jacob Thornton committed
2017

Mark Otto's avatar
dist    
Mark Otto committed
2018
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
2019
2020
      $$$1.removeData(this._element, DATA_KEY);
      $$$1(window, document, this._element, this._backdrop).off(EVENT_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
2021
2022
2023
2024
2025
2026
2027
2028
2029
      this._config = null;
      this._element = null;
      this._dialog = null;
      this._backdrop = null;
      this._isShown = null;
      this._isBodyOverflowing = null;
      this._ignoreBackdropClick = null;
      this._scrollbarWidth = null;
    };
Jacob Thornton's avatar
Jacob Thornton committed
2030

Mark Otto's avatar
dist    
Mark Otto committed
2031
    _proto.handleUpdate = function handleUpdate() {
Mark Otto's avatar
grunt    
Mark Otto committed
2032
      this._adjustDialog();
Mark Otto's avatar
dist    
Mark Otto committed
2033
    }; // private
Mark Otto's avatar
grunt    
Mark Otto committed
2034

Jacob Thornton's avatar
Jacob Thornton committed
2035

Mark Otto's avatar
dist    
Mark Otto committed
2036
    _proto._getConfig = function _getConfig(config) {
Mark Otto's avatar
dist    
Mark Otto committed
2037
      config = $$$1.extend({}, Default, config);
Mark Otto's avatar
grunt    
Mark Otto committed
2038
2039
2040
      Util.typeCheckConfig(NAME, config, DefaultType);
      return config;
    };
Jacob Thornton's avatar
Jacob Thornton committed
2041

Mark Otto's avatar
dist    
Mark Otto committed
2042
    _proto._showElement = function _showElement(relatedTarget) {
Mark Otto's avatar
dist    
Mark Otto committed
2043
      var _this3 = this;
Jacob Thornton's avatar
Jacob Thornton committed
2044

Mark Otto's avatar
dist    
Mark Otto committed
2045
      var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
Jacob Thornton's avatar
Jacob Thornton committed
2046

Mark Otto's avatar
grunt    
Mark Otto committed
2047
2048
2049
2050
      if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
        // don't move modals dom position
        document.body.appendChild(this._element);
      }
Jacob Thornton's avatar
Jacob Thornton committed
2051

Mark Otto's avatar
grunt    
Mark Otto committed
2052
      this._element.style.display = 'block';
Mark Otto's avatar
dist    
Mark Otto committed
2053

Mark Otto's avatar
grunt    
Mark Otto committed
2054
      this._element.removeAttribute('aria-hidden');
Mark Otto's avatar
dist    
Mark Otto committed
2055

Mark Otto's avatar
grunt    
Mark Otto committed
2056
      this._element.scrollTop = 0;
Jacob Thornton's avatar
Jacob Thornton committed
2057

Mark Otto's avatar
grunt    
Mark Otto committed
2058
2059
      if (transition) {
        Util.reflow(this._element);
Jacob Thornton's avatar
Jacob Thornton committed
2060
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2061

Mark Otto's avatar
dist    
Mark Otto committed
2062
      $$$1(this._element).addClass(ClassName.SHOW);
Mark Otto's avatar
grunt    
Mark Otto committed
2063
2064
2065

      if (this._config.focus) {
        this._enforceFocus();
Jacob Thornton's avatar
Jacob Thornton committed
2066
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2067

Mark Otto's avatar
dist    
Mark Otto committed
2068
      var shownEvent = $$$1.Event(Event.SHOWN, {
Mark Otto's avatar
grunt    
Mark Otto committed
2069
2070
2071
2072
        relatedTarget: relatedTarget
      });

      var transitionComplete = function transitionComplete() {
Mark Otto's avatar
dist    
Mark Otto committed
2073
2074
        if (_this3._config.focus) {
          _this3._element.focus();
Jacob Thornton's avatar
Jacob Thornton committed
2075
        }
Mark Otto's avatar
dist    
Mark Otto committed
2076

Mark Otto's avatar
dist    
Mark Otto committed
2077
        _this3._isTransitioning = false;
Mark Otto's avatar
dist    
Mark Otto committed
2078
        $$$1(_this3._element).trigger(shownEvent);
Mark Otto's avatar
grunt    
Mark Otto committed
2079
2080
2081
      };

      if (transition) {
Mark Otto's avatar
dist    
Mark Otto committed
2082
        $$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
Mark Otto's avatar
grunt    
Mark Otto committed
2083
2084
      } else {
        transitionComplete();
Jacob Thornton's avatar
Jacob Thornton committed
2085
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2086
2087
    };

Mark Otto's avatar
dist    
Mark Otto committed
2088
    _proto._enforceFocus = function _enforceFocus() {
Mark Otto's avatar
dist    
Mark Otto committed
2089
      var _this4 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
2090

Mark Otto's avatar
dist    
Mark Otto committed
2091
      $$$1(document).off(Event.FOCUSIN) // guard against infinite focus loop
Mark Otto's avatar
Mark Otto committed
2092
      .on(Event.FOCUSIN, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
2093
        if (document !== event.target && _this4._element !== event.target && !$$$1(_this4._element).has(event.target).length) {
Mark Otto's avatar
dist    
Mark Otto committed
2094
          _this4._element.focus();
Jacob Thornton's avatar
Jacob Thornton committed
2095
        }
Mark Otto's avatar
grunt    
Mark Otto committed
2096
2097
2098
      });
    };

Mark Otto's avatar
dist    
Mark Otto committed
2099
    _proto._setEscapeEvent = function _setEscapeEvent() {
Mark Otto's avatar
dist    
Mark Otto committed
2100
      var _this5 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
2101
2102

      if (this._isShown && this._config.keyboard) {
Mark Otto's avatar
dist    
Mark Otto committed
2103
        $$$1(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
Mark Otto's avatar
grunt    
Mark Otto committed
2104
          if (event.which === ESCAPE_KEYCODE) {
Mark Otto's avatar
grunt    
Mark Otto committed
2105
            event.preventDefault();
Mark Otto's avatar
dist    
Mark Otto committed
2106

Mark Otto's avatar
dist    
Mark Otto committed
2107
            _this5.hide();
Mark Otto's avatar
grunt    
Mark Otto committed
2108
          }
Jacob Thornton's avatar
Jacob Thornton committed
2109
        });
Mark Otto's avatar
grunt    
Mark Otto committed
2110
      } else if (!this._isShown) {
Mark Otto's avatar
dist    
Mark Otto committed
2111
        $$$1(this._element).off(Event.KEYDOWN_DISMISS);
Jacob Thornton's avatar
Jacob Thornton committed
2112
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2113
2114
    };

Mark Otto's avatar
dist    
Mark Otto committed
2115
    _proto._setResizeEvent = function _setResizeEvent() {
Mark Otto's avatar
dist    
Mark Otto committed
2116
      var _this6 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
2117

Mark Otto's avatar
grunt    
Mark Otto committed
2118
      if (this._isShown) {
Mark Otto's avatar
dist    
Mark Otto committed
2119
        $$$1(window).on(Event.RESIZE, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
2120
          return _this6.handleUpdate(event);
Mark Otto's avatar
grunt    
Mark Otto committed
2121
        });
Mark Otto's avatar
grunt    
Mark Otto committed
2122
      } else {
Mark Otto's avatar
dist    
Mark Otto committed
2123
        $$$1(window).off(Event.RESIZE);
Jacob Thornton's avatar
Jacob Thornton committed
2124
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2125
    };
Jacob Thornton's avatar
Jacob Thornton committed
2126

Mark Otto's avatar
dist    
Mark Otto committed
2127
    _proto._hideModal = function _hideModal() {
Mark Otto's avatar
dist    
Mark Otto committed
2128
      var _this7 = this;
Jacob Thornton's avatar
Jacob Thornton committed
2129

Mark Otto's avatar
grunt    
Mark Otto committed
2130
      this._element.style.display = 'none';
Mark Otto's avatar
dist    
Mark Otto committed
2131

Mark Otto's avatar
grunt    
Mark Otto committed
2132
      this._element.setAttribute('aria-hidden', true);
Mark Otto's avatar
dist    
Mark Otto committed
2133

Mark Otto's avatar
grunt    
Mark Otto committed
2134
      this._isTransitioning = false;
Mark Otto's avatar
dist    
Mark Otto committed
2135

Mark Otto's avatar
grunt    
Mark Otto committed
2136
      this._showBackdrop(function () {
Mark Otto's avatar
dist    
Mark Otto committed
2137
        $$$1(document.body).removeClass(ClassName.OPEN);
Mark Otto's avatar
dist    
Mark Otto committed
2138

Mark Otto's avatar
dist    
Mark Otto committed
2139
        _this7._resetAdjustments();
Mark Otto's avatar
dist    
Mark Otto committed
2140

Mark Otto's avatar
dist    
Mark Otto committed
2141
        _this7._resetScrollbar();
Mark Otto's avatar
dist    
Mark Otto committed
2142

Mark Otto's avatar
dist    
Mark Otto committed
2143
        $$$1(_this7._element).trigger(Event.HIDDEN);
Mark Otto's avatar
grunt    
Mark Otto committed
2144
2145
      });
    };
Jacob Thornton's avatar
Jacob Thornton committed
2146

Mark Otto's avatar
dist    
Mark Otto committed
2147
    _proto._removeBackdrop = function _removeBackdrop() {
Mark Otto's avatar
grunt    
Mark Otto committed
2148
      if (this._backdrop) {
Mark Otto's avatar
dist    
Mark Otto committed
2149
        $$$1(this._backdrop).remove();
Mark Otto's avatar
grunt    
Mark Otto committed
2150
2151
2152
        this._backdrop = null;
      }
    };
Jacob Thornton's avatar
Jacob Thornton committed
2153

Mark Otto's avatar
dist    
Mark Otto committed
2154
    _proto._showBackdrop = function _showBackdrop(callback) {
Mark Otto's avatar
dist    
Mark Otto committed
2155
      var _this8 = this;
Jacob Thornton's avatar
Jacob Thornton committed
2156

Mark Otto's avatar
dist    
Mark Otto committed
2157
      var animate = $$$1(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
Jacob Thornton's avatar
Jacob Thornton committed
2158

Mark Otto's avatar
grunt    
Mark Otto committed
2159
2160
2161
2162
2163
2164
      if (this._isShown && this._config.backdrop) {
        var doAnimate = Util.supportsTransitionEnd() && animate;
        this._backdrop = document.createElement('div');
        this._backdrop.className = ClassName.BACKDROP;

        if (animate) {
Mark Otto's avatar
dist    
Mark Otto committed
2165
          $$$1(this._backdrop).addClass(animate);
Mark Otto's avatar
grunt    
Mark Otto committed
2166
        }
Jacob Thornton's avatar
Jacob Thornton committed
2167

Mark Otto's avatar
dist    
Mark Otto committed
2168
2169
        $$$1(this._backdrop).appendTo(document.body);
        $$$1(this._element).on(Event.CLICK_DISMISS, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
2170
2171
          if (_this8._ignoreBackdropClick) {
            _this8._ignoreBackdropClick = false;
Jacob Thornton's avatar
Jacob Thornton committed
2172
2173
            return;
          }
Mark Otto's avatar
dist    
Mark Otto committed
2174

Mark Otto's avatar
grunt    
Mark Otto committed
2175
          if (event.target !== event.currentTarget) {
Jacob Thornton's avatar
Jacob Thornton committed
2176
2177
            return;
          }
Mark Otto's avatar
dist    
Mark Otto committed
2178

Mark Otto's avatar
dist    
Mark Otto committed
2179
2180
          if (_this8._config.backdrop === 'static') {
            _this8._element.focus();
Mark Otto's avatar
grunt    
Mark Otto committed
2181
          } else {
Mark Otto's avatar
dist    
Mark Otto committed
2182
            _this8.hide();
Mark Otto's avatar
grunt    
Mark Otto committed
2183
2184
          }
        });
Jacob Thornton's avatar
Jacob Thornton committed
2185

Mark Otto's avatar
grunt    
Mark Otto committed
2186
2187
2188
        if (doAnimate) {
          Util.reflow(this._backdrop);
        }
Jacob Thornton's avatar
Jacob Thornton committed
2189

Mark Otto's avatar
dist    
Mark Otto committed
2190
        $$$1(this._backdrop).addClass(ClassName.SHOW);
Jacob Thornton's avatar
Jacob Thornton committed
2191

Mark Otto's avatar
grunt    
Mark Otto committed
2192
2193
2194
2195
2196
        if (!callback) {
          return;
        }

        if (!doAnimate) {
Jacob Thornton's avatar
Jacob Thornton committed
2197
          callback();
Mark Otto's avatar
grunt    
Mark Otto committed
2198
          return;
Jacob Thornton's avatar
Jacob Thornton committed
2199
2200
        }

Mark Otto's avatar
dist    
Mark Otto committed
2201
        $$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
Mark Otto's avatar
grunt    
Mark Otto committed
2202
      } else if (!this._isShown && this._backdrop) {
Mark Otto's avatar
dist    
Mark Otto committed
2203
        $$$1(this._backdrop).removeClass(ClassName.SHOW);
Jacob Thornton's avatar
Jacob Thornton committed
2204

Mark Otto's avatar
grunt    
Mark Otto committed
2205
        var callbackRemove = function callbackRemove() {
Mark Otto's avatar
dist    
Mark Otto committed
2206
          _this8._removeBackdrop();
Mark Otto's avatar
dist    
Mark Otto committed
2207

Mark Otto's avatar
grunt    
Mark Otto committed
2208
2209
2210
2211
          if (callback) {
            callback();
          }
        };
Jacob Thornton's avatar
Jacob Thornton committed
2212

Mark Otto's avatar
dist    
Mark Otto committed
2213
2214
        if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
          $$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
Mark Otto's avatar
grunt    
Mark Otto committed
2215
2216
        } else {
          callbackRemove();
Jacob Thornton's avatar
Jacob Thornton committed
2217
        }
Mark Otto's avatar
grunt    
Mark Otto committed
2218
2219
2220
      } else if (callback) {
        callback();
      }
Mark Otto's avatar
dist    
Mark Otto committed
2221
    }; // ----------------------------------------------------------------------
Mark Otto's avatar
grunt    
Mark Otto committed
2222
2223
2224
2225
    // the following methods are used to handle overflowing modals
    // todo (fat): these should probably be refactored out of modal.js
    // ----------------------------------------------------------------------

Mark Otto's avatar
dist    
Mark Otto committed
2226
2227

    _proto._adjustDialog = function _adjustDialog() {
Mark Otto's avatar
grunt    
Mark Otto committed
2228
2229
2230
      var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;

      if (!this._isBodyOverflowing && isModalOverflowing) {
Mark Otto's avatar
dist    
Mark Otto committed
2231
        this._element.style.paddingLeft = this._scrollbarWidth + "px";
Jacob Thornton's avatar
Jacob Thornton committed
2232
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2233
2234

      if (this._isBodyOverflowing && !isModalOverflowing) {
Mark Otto's avatar
dist    
Mark Otto committed
2235
        this._element.style.paddingRight = this._scrollbarWidth + "px";
Jacob Thornton's avatar
Jacob Thornton committed
2236
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2237
2238
    };

Mark Otto's avatar
dist    
Mark Otto committed
2239
    _proto._resetAdjustments = function _resetAdjustments() {
Mark Otto's avatar
grunt    
Mark Otto committed
2240
2241
2242
2243
      this._element.style.paddingLeft = '';
      this._element.style.paddingRight = '';
    };

Mark Otto's avatar
dist    
Mark Otto committed
2244
    _proto._checkScrollbar = function _checkScrollbar() {
Mark Otto's avatar
dist    
Mark Otto committed
2245
2246
      var rect = document.body.getBoundingClientRect();
      this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
Mark Otto's avatar
grunt    
Mark Otto committed
2247
2248
2249
      this._scrollbarWidth = this._getScrollbarWidth();
    };

Mark Otto's avatar
dist    
Mark Otto committed
2250
    _proto._setScrollbar = function _setScrollbar() {
Mark Otto's avatar
dist    
Mark Otto committed
2251
      var _this9 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
2252
2253

      if (this._isBodyOverflowing) {
Mark Otto's avatar
grunt    
Mark Otto committed
2254
2255
2256
        // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
        //   while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
        // Adjust fixed content padding
Mark Otto's avatar
dist    
Mark Otto committed
2257
2258
2259
2260
        $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
          var actualPadding = $$$1(element)[0].style.paddingRight;
          var calculatedPadding = $$$1(element).css('padding-right');
          $$$1(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
Mark Otto's avatar
dist    
Mark Otto committed
2261
        }); // Adjust sticky content margin
Mark Otto's avatar
dist    
Mark Otto committed
2262

Mark Otto's avatar
dist    
Mark Otto committed
2263
2264
2265
2266
        $$$1(Selector.STICKY_CONTENT).each(function (index, element) {
          var actualMargin = $$$1(element)[0].style.marginRight;
          var calculatedMargin = $$$1(element).css('margin-right');
          $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px");
Mark Otto's avatar
dist    
Mark Otto committed
2267
        }); // Adjust navbar-toggler margin
Mark Otto's avatar
grunt    
Mark Otto committed
2268

Mark Otto's avatar
dist    
Mark Otto committed
2269
2270
2271
2272
        $$$1(Selector.NAVBAR_TOGGLER).each(function (index, element) {
          var actualMargin = $$$1(element)[0].style.marginRight;
          var calculatedMargin = $$$1(element).css('margin-right');
          $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this9._scrollbarWidth + "px");
Mark Otto's avatar
dist    
Mark Otto committed
2273
        }); // Adjust body padding
Mark Otto's avatar
grunt    
Mark Otto committed
2274

Mark Otto's avatar
Mark Otto committed
2275
        var actualPadding = document.body.style.paddingRight;
Mark Otto's avatar
dist    
Mark Otto committed
2276
2277
        var calculatedPadding = $$$1('body').css('padding-right');
        $$$1('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
Jacob Thornton's avatar
Jacob Thornton committed
2278
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2279
    };
Jacob Thornton's avatar
Jacob Thornton committed
2280

Mark Otto's avatar
dist    
Mark Otto committed
2281
    _proto._resetScrollbar = function _resetScrollbar() {
Mark Otto's avatar
grunt    
Mark Otto committed
2282
      // Restore fixed content padding
Mark Otto's avatar
dist    
Mark Otto committed
2283
2284
      $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
        var padding = $$$1(element).data('padding-right');
Mark Otto's avatar
dist    
Mark Otto committed
2285

Mark Otto's avatar
grunt    
Mark Otto committed
2286
        if (typeof padding !== 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
2287
          $$$1(element).css('padding-right', padding).removeData('padding-right');
Mark Otto's avatar
grunt    
Mark Otto committed
2288
        }
Mark Otto's avatar
dist    
Mark Otto committed
2289
      }); // Restore sticky content and navbar-toggler margin
Mark Otto's avatar
grunt    
Mark Otto committed
2290

Mark Otto's avatar
dist    
Mark Otto committed
2291
2292
      $$$1(Selector.STICKY_CONTENT + ", " + Selector.NAVBAR_TOGGLER).each(function (index, element) {
        var margin = $$$1(element).data('margin-right');
Mark Otto's avatar
dist    
Mark Otto committed
2293

Mark Otto's avatar
grunt    
Mark Otto committed
2294
        if (typeof margin !== 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
2295
          $$$1(element).css('margin-right', margin).removeData('margin-right');
Mark Otto's avatar
grunt    
Mark Otto committed
2296
        }
Mark Otto's avatar
dist    
Mark Otto committed
2297
      }); // Restore body padding
Mark Otto's avatar
grunt    
Mark Otto committed
2298

Mark Otto's avatar
dist    
Mark Otto committed
2299
      var padding = $$$1('body').data('padding-right');
Mark Otto's avatar
dist    
Mark Otto committed
2300

Mark Otto's avatar
grunt    
Mark Otto committed
2301
      if (typeof padding !== 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
2302
        $$$1('body').css('padding-right', padding).removeData('padding-right');
Mark Otto's avatar
grunt    
Mark Otto committed
2303
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2304
    };
Jacob Thornton's avatar
Jacob Thornton committed
2305

Mark Otto's avatar
dist    
Mark Otto committed
2306
    _proto._getScrollbarWidth = function _getScrollbarWidth() {
Mark Otto's avatar
grunt    
Mark Otto committed
2307
2308
2309
2310
      // thx d.walsh
      var scrollDiv = document.createElement('div');
      scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
      document.body.appendChild(scrollDiv);
Mark Otto's avatar
grunt    
Mark Otto committed
2311
      var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
Mark Otto's avatar
grunt    
Mark Otto committed
2312
2313
      document.body.removeChild(scrollDiv);
      return scrollbarWidth;
Mark Otto's avatar
dist    
Mark Otto committed
2314
    }; // static
Mark Otto's avatar
grunt    
Mark Otto committed
2315
2316
2317
2318


    Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
2319
        var data = $$$1(this).data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
2320

Mark Otto's avatar
dist    
Mark Otto committed
2321
        var _config = $$$1.extend({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
Mark Otto's avatar
grunt    
Mark Otto committed
2322
2323
2324

        if (!data) {
          data = new Modal(this, _config);
Mark Otto's avatar
dist    
Mark Otto committed
2325
          $$$1(this).data(DATA_KEY, data);
Jacob Thornton's avatar
Jacob Thornton committed
2326
2327
        }

Mark Otto's avatar
grunt    
Mark Otto committed
2328
        if (typeof config === 'string') {
Mark Otto's avatar
dist    
Mark Otto committed
2329
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
2330
            throw new Error("No method named \"" + config + "\"");
Jacob Thornton's avatar
Jacob Thornton committed
2331
          }
Mark Otto's avatar
dist    
Mark Otto committed
2332

Mark Otto's avatar
grunt    
Mark Otto committed
2333
2334
2335
2336
2337
2338
2339
          data[config](relatedTarget);
        } else if (_config.show) {
          data.show(relatedTarget);
        }
      });
    };

Mark Otto's avatar
dist    
Mark Otto committed
2340
    createClass(Modal, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
2341
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
2342
2343
2344
2345
      get: function get() {
        return VERSION;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
2346
      key: "Default",
Jacob Thornton's avatar
Jacob Thornton committed
2347
2348
2349
2350
2351
      get: function get() {
        return Default;
      }
    }]);
    return Modal;
Mark Otto's avatar
grunt    
Mark Otto committed
2352
2353
2354
2355
2356
2357
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
2358

Mark Otto's avatar
dist    
Mark Otto committed
2359

Mark Otto's avatar
dist    
Mark Otto committed
2360
  $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
2361
    var _this10 = this;
Jacob Thornton's avatar
Jacob Thornton committed
2362

Mark Otto's avatar
dist    
Mark Otto committed
2363
    var target;
Jacob Thornton's avatar
Jacob Thornton committed
2364
2365
2366
    var selector = Util.getSelectorFromElement(this);

    if (selector) {
Mark Otto's avatar
dist    
Mark Otto committed
2367
      target = $$$1(selector)[0];
Jacob Thornton's avatar
Jacob Thornton committed
2368
2369
    }

Mark Otto's avatar
dist    
Mark Otto committed
2370
    var config = $$$1(target).data(DATA_KEY) ? 'toggle' : $$$1.extend({}, $$$1(target).data(), $$$1(this).data());
Jacob Thornton's avatar
Jacob Thornton committed
2371

Mark Otto's avatar
grunt    
Mark Otto committed
2372
    if (this.tagName === 'A' || this.tagName === 'AREA') {
Jacob Thornton's avatar
Jacob Thornton committed
2373
2374
2375
      event.preventDefault();
    }

Mark Otto's avatar
dist    
Mark Otto committed
2376
    var $target = $$$1(target).one(Event.SHOW, function (showEvent) {
Jacob Thornton's avatar
Jacob Thornton committed
2377
2378
2379
2380
2381
2382
      if (showEvent.isDefaultPrevented()) {
        // only register focus restorer if modal will actually get shown
        return;
      }

      $target.one(Event.HIDDEN, function () {
Mark Otto's avatar
dist    
Mark Otto committed
2383
        if ($$$1(_this10).is(':visible')) {
Mark Otto's avatar
dist    
Mark Otto committed
2384
          _this10.focus();
Jacob Thornton's avatar
Jacob Thornton committed
2385
2386
2387
2388
        }
      });
    });

Mark Otto's avatar
dist    
Mark Otto committed
2389
    Modal._jQueryInterface.call($$$1(target), config, this);
Mark Otto's avatar
Mark Otto committed
2390
  });
Jacob Thornton's avatar
Jacob Thornton committed
2391
2392
2393
2394
2395
2396
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
2397
2398
  $$$1.fn[NAME] = Modal._jQueryInterface;
  $$$1.fn[NAME].Constructor = Modal;
Mark Otto's avatar
dist    
Mark Otto committed
2399

Mark Otto's avatar
dist    
Mark Otto committed
2400
2401
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Jacob Thornton's avatar
Jacob Thornton committed
2402
2403
2404
2405
    return Modal._jQueryInterface;
  };

  return Modal;
Mark Otto's avatar
dist    
Mark Otto committed
2406
}($);
Jacob Thornton's avatar
Jacob Thornton committed
2407
2408
2409

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
2410
 * Bootstrap (v4.0.0-beta.2): tooltip.js
Jacob Thornton's avatar
Jacob Thornton committed
2411
2412
2413
2414
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
2415
var Tooltip = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
2416
2417
2418
2419
2420
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
Mark Otto's avatar
dist    
Mark Otto committed
2421
  var NAME = 'tooltip';
Mark Otto's avatar
Mark Otto committed
2422
  var VERSION = '4.0.0-beta.2';
Mark Otto's avatar
dist    
Mark Otto committed
2423
  var DATA_KEY = 'bs.tooltip';
Mark Otto's avatar
dist    
Mark Otto committed
2424
  var EVENT_KEY = "." + DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
2425
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Mark Otto's avatar
dist    
Mark Otto committed
2426
2427
  var TRANSITION_DURATION = 150;
  var CLASS_PREFIX = 'bs-tooltip';
Mark Otto's avatar
dist    
Mark Otto committed
2428
  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
Mark Otto's avatar
dist    
Mark Otto committed
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
  var DefaultType = {
    animation: 'boolean',
    template: 'string',
    title: '(string|element|function)',
    trigger: 'string',
    delay: '(number|object)',
    html: 'boolean',
    selector: '(string|boolean)',
    placement: '(string|function)',
    offset: '(number|string)',
    container: '(string|element|boolean)',
    fallbackPlacement: '(string|array)'
  };
  var AttachmentMap = {
    AUTO: 'auto',
    TOP: 'top',
    RIGHT: 'right',
    BOTTOM: 'bottom',
    LEFT: 'left'
  };
Jacob Thornton's avatar
Jacob Thornton committed
2449
  var Default = {
Mark Otto's avatar
dist    
Mark Otto committed
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
    animation: true,
    template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>',
    trigger: 'hover focus',
    title: '',
    delay: 0,
    html: false,
    selector: false,
    placement: 'top',
    offset: 0,
    container: false,
    fallbackPlacement: 'flip'
Jacob Thornton's avatar
Jacob Thornton committed
2461
  };
Mark Otto's avatar
dist    
Mark Otto committed
2462
2463
2464
  var HoverState = {
    SHOW: 'show',
    OUT: 'out'
Jacob Thornton's avatar
Jacob Thornton committed
2465
2466
  };
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
    HIDE: "hide" + EVENT_KEY,
    HIDDEN: "hidden" + EVENT_KEY,
    SHOW: "show" + EVENT_KEY,
    SHOWN: "shown" + EVENT_KEY,
    INSERTED: "inserted" + EVENT_KEY,
    CLICK: "click" + EVENT_KEY,
    FOCUSIN: "focusin" + EVENT_KEY,
    FOCUSOUT: "focusout" + EVENT_KEY,
    MOUSEENTER: "mouseenter" + EVENT_KEY,
    MOUSELEAVE: "mouseleave" + EVENT_KEY
Jacob Thornton's avatar
Jacob Thornton committed
2477
2478
  };
  var ClassName = {
Mark Otto's avatar
dist    
Mark Otto committed
2479
2480
    FADE: 'fade',
    SHOW: 'show'
Jacob Thornton's avatar
Jacob Thornton committed
2481
2482
  };
  var Selector = {
Mark Otto's avatar
dist    
Mark Otto committed
2483
2484
2485
    TOOLTIP: '.tooltip',
    TOOLTIP_INNER: '.tooltip-inner',
    ARROW: '.arrow'
Jacob Thornton's avatar
Jacob Thornton committed
2486
  };
Mark Otto's avatar
dist    
Mark Otto committed
2487
2488
2489
2490
2491
  var Trigger = {
    HOVER: 'hover',
    FOCUS: 'focus',
    CLICK: 'click',
    MANUAL: 'manual'
Mark Otto's avatar
dist    
Mark Otto committed
2492
2493
2494
2495
2496
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
2497

Mark Otto's avatar
dist    
Mark Otto committed
2498
  };
Jacob Thornton's avatar
Jacob Thornton committed
2499

Mark Otto's avatar
dist    
Mark Otto committed
2500
2501
2502
2503
  var Tooltip =
  /*#__PURE__*/
  function () {
    function Tooltip(element, config) {
Mark Otto's avatar
dist    
Mark Otto committed
2504
2505
2506
2507
2508
2509
2510
2511
2512
      /**
       * Check for Popper dependency
       * Popper - https://popper.js.org
       */
      if (typeof Popper === 'undefined') {
        throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)');
      } // private


Mark Otto's avatar
dist    
Mark Otto committed
2513
2514
2515
2516
      this._isEnabled = true;
      this._timeout = 0;
      this._hoverState = '';
      this._activeTrigger = {};
Mark Otto's avatar
dist    
Mark Otto committed
2517
      this._popper = null; // protected
Jacob Thornton's avatar
Jacob Thornton committed
2518

Mark Otto's avatar
dist    
Mark Otto committed
2519
2520
2521
      this.element = element;
      this.config = this._getConfig(config);
      this.tip = null;
Jacob Thornton's avatar
Jacob Thornton committed
2522

Mark Otto's avatar
dist    
Mark Otto committed
2523
      this._setListeners();
Mark Otto's avatar
dist    
Mark Otto committed
2524
    } // getters
Jacob Thornton's avatar
Jacob Thornton committed
2525
2526


Mark Otto's avatar
dist    
Mark Otto committed
2527
    var _proto = Tooltip.prototype;
Jacob Thornton's avatar
Jacob Thornton committed
2528

Mark Otto's avatar
dist    
Mark Otto committed
2529
2530
    // public
    _proto.enable = function enable() {
Mark Otto's avatar
dist    
Mark Otto committed
2531
2532
      this._isEnabled = true;
    };
Jacob Thornton's avatar
Jacob Thornton committed
2533

Mark Otto's avatar
dist    
Mark Otto committed
2534
    _proto.disable = function disable() {
Mark Otto's avatar
dist    
Mark Otto committed
2535
2536
      this._isEnabled = false;
    };
Jacob Thornton's avatar
Jacob Thornton committed
2537

Mark Otto's avatar
dist    
Mark Otto committed
2538
    _proto.toggleEnabled = function toggleEnabled() {
Mark Otto's avatar
dist    
Mark Otto committed
2539
2540
      this._isEnabled = !this._isEnabled;
    };
Jacob Thornton's avatar
Jacob Thornton committed
2541

Mark Otto's avatar
dist    
Mark Otto committed
2542
    _proto.toggle = function toggle(event) {
Mark Otto's avatar
dist    
Mark Otto committed
2543
2544
2545
      if (!this._isEnabled) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
2546

Mark Otto's avatar
dist    
Mark Otto committed
2547
2548
      if (event) {
        var dataKey = this.constructor.DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
2549
        var context = $$$1(event.currentTarget).data(dataKey);
Jacob Thornton's avatar
Jacob Thornton committed
2550

Mark Otto's avatar
dist    
Mark Otto committed
2551
2552
        if (!context) {
          context = new this.constructor(event.currentTarget, this._getDelegateConfig());
Mark Otto's avatar
dist    
Mark Otto committed
2553
          $$$1(event.currentTarget).data(dataKey, context);
Mark Otto's avatar
dist    
Mark Otto committed
2554
        }
Jacob Thornton's avatar
Jacob Thornton committed
2555

Mark Otto's avatar
dist    
Mark Otto committed
2556
        context._activeTrigger.click = !context._activeTrigger.click;
Jacob Thornton's avatar
Jacob Thornton committed
2557

Mark Otto's avatar
dist    
Mark Otto committed
2558
2559
2560
2561
        if (context._isWithActiveTrigger()) {
          context._enter(null, context);
        } else {
          context._leave(null, context);
Mark Otto's avatar
grunt    
Mark Otto committed
2562
        }
Mark Otto's avatar
dist    
Mark Otto committed
2563
      } else {
Mark Otto's avatar
dist    
Mark Otto committed
2564
        if ($$$1(this.getTipElement()).hasClass(ClassName.SHOW)) {
Mark Otto's avatar
dist    
Mark Otto committed
2565
          this._leave(null, this);
Mark Otto's avatar
dist    
Mark Otto committed
2566

Mark Otto's avatar
dist    
Mark Otto committed
2567
          return;
Mark Otto's avatar
grunt    
Mark Otto committed
2568
        }
Jacob Thornton's avatar
Jacob Thornton committed
2569

Mark Otto's avatar
dist    
Mark Otto committed
2570
2571
        this._enter(null, this);
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2572
    };
Jacob Thornton's avatar
Jacob Thornton committed
2573

Mark Otto's avatar
dist    
Mark Otto committed
2574
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
2575
      clearTimeout(this._timeout);
Mark Otto's avatar
dist    
Mark Otto committed
2576
2577
2578
      $$$1.removeData(this.element, this.constructor.DATA_KEY);
      $$$1(this.element).off(this.constructor.EVENT_KEY);
      $$$1(this.element).closest('.modal').off('hide.bs.modal');
Mark Otto's avatar
dist    
Mark Otto committed
2579
2580

      if (this.tip) {
Mark Otto's avatar
dist    
Mark Otto committed
2581
        $$$1(this.tip).remove();
Jacob Thornton's avatar
Jacob Thornton committed
2582
2583
      }

Mark Otto's avatar
dist    
Mark Otto committed
2584
2585
2586
2587
      this._isEnabled = null;
      this._timeout = null;
      this._hoverState = null;
      this._activeTrigger = null;
Mark Otto's avatar
dist    
Mark Otto committed
2588

Mark Otto's avatar
dist    
Mark Otto committed
2589
2590
2591
      if (this._popper !== null) {
        this._popper.destroy();
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2592

Mark Otto's avatar
dist    
Mark Otto committed
2593
2594
2595
2596
      this._popper = null;
      this.element = null;
      this.config = null;
      this.tip = null;
Mark Otto's avatar
grunt    
Mark Otto committed
2597
    };
Jacob Thornton's avatar
Jacob Thornton committed
2598

Mark Otto's avatar
dist    
Mark Otto committed
2599
    _proto.show = function show() {
Mark Otto's avatar
dist    
Mark Otto committed
2600
      var _this = this;
Jacob Thornton's avatar
Jacob Thornton committed
2601

Mark Otto's avatar
dist    
Mark Otto committed
2602
      if ($$$1(this.element).css('display') === 'none') {
Mark Otto's avatar
dist    
Mark Otto committed
2603
2604
        throw new Error('Please use show on visible elements');
      }
Jacob Thornton's avatar
Jacob Thornton committed
2605

Mark Otto's avatar
dist    
Mark Otto committed
2606
      var showEvent = $$$1.Event(this.constructor.Event.SHOW);
Mark Otto's avatar
dist    
Mark Otto committed
2607

Mark Otto's avatar
dist    
Mark Otto committed
2608
      if (this.isWithContent() && this._isEnabled) {
Mark Otto's avatar
dist    
Mark Otto committed
2609
2610
        $$$1(this.element).trigger(showEvent);
        var isInTheDom = $$$1.contains(this.element.ownerDocument.documentElement, this.element);
Jacob Thornton's avatar
Jacob Thornton committed
2611

Mark Otto's avatar
dist    
Mark Otto committed
2612
2613
2614
        if (showEvent.isDefaultPrevented() || !isInTheDom) {
          return;
        }
Jacob Thornton's avatar
Jacob Thornton committed
2615

Mark Otto's avatar
dist    
Mark Otto committed
2616
2617
2618
2619
2620
2621
2622
        var tip = this.getTipElement();
        var tipId = Util.getUID(this.constructor.NAME);
        tip.setAttribute('id', tipId);
        this.element.setAttribute('aria-describedby', tipId);
        this.setContent();

        if (this.config.animation) {
Mark Otto's avatar
dist    
Mark Otto committed
2623
          $$$1(tip).addClass(ClassName.FADE);
Jacob Thornton's avatar
Jacob Thornton committed
2624
        }
Jacob Thornton's avatar
Jacob Thornton committed
2625

Mark Otto's avatar
dist    
Mark Otto committed
2626
        var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
Jacob Thornton's avatar
Jacob Thornton committed
2627

Mark Otto's avatar
dist    
Mark Otto committed
2628
        var attachment = this._getAttachment(placement);
Jacob Thornton's avatar
Jacob Thornton committed
2629

Mark Otto's avatar
dist    
Mark Otto committed
2630
        this.addAttachmentClass(attachment);
Mark Otto's avatar
dist    
Mark Otto committed
2631
2632
        var container = this.config.container === false ? document.body : $$$1(this.config.container);
        $$$1(tip).data(this.constructor.DATA_KEY, this);
Mark Otto's avatar
dist    
Mark Otto committed
2633

Mark Otto's avatar
dist    
Mark Otto committed
2634
2635
        if (!$$$1.contains(this.element.ownerDocument.documentElement, this.tip)) {
          $$$1(tip).appendTo(container);
Jacob Thornton's avatar
Jacob Thornton committed
2636
        }
Mark Otto's avatar
grunt    
Mark Otto committed
2637

Mark Otto's avatar
dist    
Mark Otto committed
2638
        $$$1(this.element).trigger(this.constructor.Event.INSERTED);
Mark Otto's avatar
dist    
Mark Otto committed
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
        this._popper = new Popper(this.element, tip, {
          placement: attachment,
          modifiers: {
            offset: {
              offset: this.config.offset
            },
            flip: {
              behavior: this.config.fallbackPlacement
            },
            arrow: {
              element: Selector.ARROW
            }
          },
          onCreate: function onCreate(data) {
            if (data.originalPlacement !== data.placement) {
              _this._handlePopperPlacementChange(data);
            }
          },
          onUpdate: function onUpdate(data) {
            _this._handlePopperPlacementChange(data);
          }
        });
Mark Otto's avatar
dist    
Mark Otto committed
2661
        $$$1(tip).addClass(ClassName.SHOW); // if this is a touch-enabled device we add extra
Mark Otto's avatar
dist    
Mark Otto committed
2662
2663
2664
        // empty mouseover listeners to the body's immediate children;
        // only needed because of broken event delegation on iOS
        // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
Mark Otto's avatar
dist    
Mark Otto committed
2665

Mark Otto's avatar
dist    
Mark Otto committed
2666
        if ('ontouchstart' in document.documentElement) {
Mark Otto's avatar
dist    
Mark Otto committed
2667
          $$$1('body').children().on('mouseover', null, $$$1.noop);
Mark Otto's avatar
dist    
Mark Otto committed
2668
        }
Mark Otto's avatar
grunt    
Mark Otto committed
2669

Mark Otto's avatar
dist    
Mark Otto committed
2670
2671
2672
2673
        var complete = function complete() {
          if (_this.config.animation) {
            _this._fixTransition();
          }
Mark Otto's avatar
dist    
Mark Otto committed
2674

Mark Otto's avatar
dist    
Mark Otto committed
2675
2676
          var prevHoverState = _this._hoverState;
          _this._hoverState = null;
Mark Otto's avatar
dist    
Mark Otto committed
2677
          $$$1(_this.element).trigger(_this.constructor.Event.SHOWN);
Jacob Thornton's avatar
Jacob Thornton committed
2678

Mark Otto's avatar
dist    
Mark Otto committed
2679
2680
2681
2682
2683
          if (prevHoverState === HoverState.OUT) {
            _this._leave(null, _this);
          }
        };

Mark Otto's avatar
dist    
Mark Otto committed
2684
2685
        if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) {
          $$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
Mark Otto's avatar
dist    
Mark Otto committed
2686
2687
2688
2689
        } else {
          complete();
        }
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2690
    };
Jacob Thornton's avatar
Jacob Thornton committed
2691

Mark Otto's avatar
dist    
Mark Otto committed
2692
    _proto.hide = function hide(callback) {
Mark Otto's avatar
dist    
Mark Otto committed
2693
      var _this2 = this;
Jacob Thornton's avatar
Jacob Thornton committed
2694

Mark Otto's avatar
dist    
Mark Otto committed
2695
      var tip = this.getTipElement();
Mark Otto's avatar
dist    
Mark Otto committed
2696
      var hideEvent = $$$1.Event(this.constructor.Event.HIDE);
Mark Otto's avatar
dist    
Mark Otto committed
2697

Mark Otto's avatar
dist    
Mark Otto committed
2698
2699
2700
2701
      var complete = function complete() {
        if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
          tip.parentNode.removeChild(tip);
        }
Mark Otto's avatar
grunt    
Mark Otto committed
2702

Mark Otto's avatar
dist    
Mark Otto committed
2703
        _this2._cleanTipClass();
Mark Otto's avatar
dist    
Mark Otto committed
2704

Mark Otto's avatar
dist    
Mark Otto committed
2705
        _this2.element.removeAttribute('aria-describedby');
Mark Otto's avatar
dist    
Mark Otto committed
2706

Mark Otto's avatar
dist    
Mark Otto committed
2707
        $$$1(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
Mark Otto's avatar
dist    
Mark Otto committed
2708

Mark Otto's avatar
dist    
Mark Otto committed
2709
2710
        if (_this2._popper !== null) {
          _this2._popper.destroy();
Mark Otto's avatar
grunt    
Mark Otto committed
2711
2712
        }

Mark Otto's avatar
dist    
Mark Otto committed
2713
2714
        if (callback) {
          callback();
Mark Otto's avatar
grunt    
Mark Otto committed
2715
        }
Mark Otto's avatar
dist    
Mark Otto committed
2716
      };
Mark Otto's avatar
grunt    
Mark Otto committed
2717

Mark Otto's avatar
dist    
Mark Otto committed
2718
      $$$1(this.element).trigger(hideEvent);
Mark Otto's avatar
dist    
Mark Otto committed
2719
2720
2721

      if (hideEvent.isDefaultPrevented()) {
        return;
Jacob Thornton's avatar
Jacob Thornton committed
2722
2723
      }

Mark Otto's avatar
dist    
Mark Otto committed
2724
      $$$1(tip).removeClass(ClassName.SHOW); // if this is a touch-enabled device we remove the extra
Mark Otto's avatar
dist    
Mark Otto committed
2725
      // empty mouseover listeners we added for iOS support
Mark Otto's avatar
dist    
Mark Otto committed
2726

Mark Otto's avatar
dist    
Mark Otto committed
2727
      if ('ontouchstart' in document.documentElement) {
Mark Otto's avatar
dist    
Mark Otto committed
2728
        $$$1('body').children().off('mouseover', null, $$$1.noop);
Mark Otto's avatar
dist    
Mark Otto committed
2729
      }
Jacob Thornton's avatar
Jacob Thornton committed
2730

Mark Otto's avatar
dist    
Mark Otto committed
2731
2732
2733
      this._activeTrigger[Trigger.CLICK] = false;
      this._activeTrigger[Trigger.FOCUS] = false;
      this._activeTrigger[Trigger.HOVER] = false;
Jacob Thornton's avatar
Jacob Thornton committed
2734

Mark Otto's avatar
dist    
Mark Otto committed
2735
2736
      if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) {
        $$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
Mark Otto's avatar
dist    
Mark Otto committed
2737
2738
2739
      } else {
        complete();
      }
Jacob Thornton's avatar
Jacob Thornton committed
2740

Mark Otto's avatar
dist    
Mark Otto committed
2741
2742
      this._hoverState = '';
    };
Jacob Thornton's avatar
Jacob Thornton committed
2743

Mark Otto's avatar
dist    
Mark Otto committed
2744
    _proto.update = function update() {
Mark Otto's avatar
dist    
Mark Otto committed
2745
2746
2747
      if (this._popper !== null) {
        this._popper.scheduleUpdate();
      }
Mark Otto's avatar
dist    
Mark Otto committed
2748
    }; // protected
Jacob Thornton's avatar
Jacob Thornton committed
2749
2750


Mark Otto's avatar
dist    
Mark Otto committed
2751
    _proto.isWithContent = function isWithContent() {
Mark Otto's avatar
dist    
Mark Otto committed
2752
2753
      return Boolean(this.getTitle());
    };
Jacob Thornton's avatar
Jacob Thornton committed
2754

Mark Otto's avatar
dist    
Mark Otto committed
2755
    _proto.addAttachmentClass = function addAttachmentClass(attachment) {
Mark Otto's avatar
dist    
Mark Otto committed
2756
      $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
Mark Otto's avatar
dist    
Mark Otto committed
2757
    };
Jacob Thornton's avatar
Jacob Thornton committed
2758

Mark Otto's avatar
dist    
Mark Otto committed
2759
    _proto.getTipElement = function getTipElement() {
Mark Otto's avatar
dist    
Mark Otto committed
2760
      this.tip = this.tip || $$$1(this.config.template)[0];
Mark Otto's avatar
dist    
Mark Otto committed
2761
2762
      return this.tip;
    };
Jacob Thornton's avatar
Jacob Thornton committed
2763

Mark Otto's avatar
dist    
Mark Otto committed
2764
    _proto.setContent = function setContent() {
Mark Otto's avatar
dist    
Mark Otto committed
2765
      var $tip = $$$1(this.getTipElement());
Mark Otto's avatar
dist    
Mark Otto committed
2766
      this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
Mark Otto's avatar
dist    
Mark Otto committed
2767
      $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
Mark Otto's avatar
dist    
Mark Otto committed
2768
    };
Jacob Thornton's avatar
Jacob Thornton committed
2769

Mark Otto's avatar
dist    
Mark Otto committed
2770
    _proto.setElementContent = function setElementContent($element, content) {
Mark Otto's avatar
dist    
Mark Otto committed
2771
      var html = this.config.html;
Mark Otto's avatar
dist    
Mark Otto committed
2772
2773

      if (typeof content === 'object' && (content.nodeType || content.jquery)) {
Mark Otto's avatar
dist    
Mark Otto committed
2774
2775
        // content is a DOM node or a jQuery
        if (html) {
Mark Otto's avatar
dist    
Mark Otto committed
2776
          if (!$$$1(content).parent().is($element)) {
Mark Otto's avatar
dist    
Mark Otto committed
2777
2778
2779
            $element.empty().append(content);
          }
        } else {
Mark Otto's avatar
dist    
Mark Otto committed
2780
          $element.text($$$1(content).text());
Mark Otto's avatar
dist    
Mark Otto committed
2781
2782
2783
2784
2785
        }
      } else {
        $element[html ? 'html' : 'text'](content);
      }
    };
Jacob Thornton's avatar
Jacob Thornton committed
2786

Mark Otto's avatar
dist    
Mark Otto committed
2787
    _proto.getTitle = function getTitle() {
Mark Otto's avatar
dist    
Mark Otto committed
2788
      var title = this.element.getAttribute('data-original-title');
Jacob Thornton's avatar
Jacob Thornton committed
2789

Mark Otto's avatar
dist    
Mark Otto committed
2790
2791
2792
      if (!title) {
        title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
      }
Jacob Thornton's avatar
Jacob Thornton committed
2793

Mark Otto's avatar
dist    
Mark Otto committed
2794
      return title;
Mark Otto's avatar
dist    
Mark Otto committed
2795
    }; // private
Jacob Thornton's avatar
Jacob Thornton committed
2796
2797


Mark Otto's avatar
dist    
Mark Otto committed
2798
    _proto._getAttachment = function _getAttachment(placement) {
Mark Otto's avatar
dist    
Mark Otto committed
2799
2800
      return AttachmentMap[placement.toUpperCase()];
    };
Jacob Thornton's avatar
Jacob Thornton committed
2801

Mark Otto's avatar
dist    
Mark Otto committed
2802
    _proto._setListeners = function _setListeners() {
Mark Otto's avatar
dist    
Mark Otto committed
2803
      var _this3 = this;
Jacob Thornton's avatar
Jacob Thornton committed
2804

Mark Otto's avatar
dist    
Mark Otto committed
2805
2806
2807
      var triggers = this.config.trigger.split(' ');
      triggers.forEach(function (trigger) {
        if (trigger === 'click') {
Mark Otto's avatar
dist    
Mark Otto committed
2808
          $$$1(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
2809
2810
2811
2812
2813
            return _this3.toggle(event);
          });
        } else if (trigger !== Trigger.MANUAL) {
          var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN;
          var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT;
Mark Otto's avatar
dist    
Mark Otto committed
2814
          $$$1(_this3.element).on(eventIn, _this3.config.selector, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
2815
2816
2817
2818
2819
            return _this3._enter(event);
          }).on(eventOut, _this3.config.selector, function (event) {
            return _this3._leave(event);
          });
        }
Jacob Thornton's avatar
Jacob Thornton committed
2820

Mark Otto's avatar
dist    
Mark Otto committed
2821
        $$$1(_this3.element).closest('.modal').on('hide.bs.modal', function () {
Mark Otto's avatar
dist    
Mark Otto committed
2822
2823
          return _this3.hide();
        });
Mark Otto's avatar
grunt    
Mark Otto committed
2824
      });
Jacob Thornton's avatar
Jacob Thornton committed
2825

Mark Otto's avatar
dist    
Mark Otto committed
2826
      if (this.config.selector) {
Mark Otto's avatar
dist    
Mark Otto committed
2827
        this.config = $$$1.extend({}, this.config, {
Mark Otto's avatar
dist    
Mark Otto committed
2828
2829
2830
2831
2832
2833
2834
          trigger: 'manual',
          selector: ''
        });
      } else {
        this._fixTitle();
      }
    };
Jacob Thornton's avatar
Jacob Thornton committed
2835

Mark Otto's avatar
dist    
Mark Otto committed
2836
2837
2838
    _proto._fixTitle = function _fixTitle() {
      var titleType = typeof this.element.getAttribute('data-original-title');

Mark Otto's avatar
dist    
Mark Otto committed
2839
2840
2841
      if (this.element.getAttribute('title') || titleType !== 'string') {
        this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
        this.element.setAttribute('title', '');
Mark Otto's avatar
grunt    
Mark Otto committed
2842
      }
Mark Otto's avatar
dist    
Mark Otto committed
2843
    };
Jacob Thornton's avatar
Jacob Thornton committed
2844

Mark Otto's avatar
dist    
Mark Otto committed
2845
    _proto._enter = function _enter(event, context) {
Mark Otto's avatar
dist    
Mark Otto committed
2846
      var dataKey = this.constructor.DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
2847
      context = context || $$$1(event.currentTarget).data(dataKey);
Jacob Thornton's avatar
Jacob Thornton committed
2848

Mark Otto's avatar
dist    
Mark Otto committed
2849
2850
      if (!context) {
        context = new this.constructor(event.currentTarget, this._getDelegateConfig());
Mark Otto's avatar
dist    
Mark Otto committed
2851
        $$$1(event.currentTarget).data(dataKey, context);
Mark Otto's avatar
grunt    
Mark Otto committed
2852
      }
Jacob Thornton's avatar
Jacob Thornton committed
2853

Mark Otto's avatar
dist    
Mark Otto committed
2854
2855
2856
      if (event) {
        context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
      }
Jacob Thornton's avatar
Jacob Thornton committed
2857

Mark Otto's avatar
dist    
Mark Otto committed
2858
      if ($$$1(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
Mark Otto's avatar
dist    
Mark Otto committed
2859
2860
2861
        context._hoverState = HoverState.SHOW;
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
2862

Mark Otto's avatar
dist    
Mark Otto committed
2863
2864
      clearTimeout(context._timeout);
      context._hoverState = HoverState.SHOW;
Jacob Thornton's avatar
Jacob Thornton committed
2865

Mark Otto's avatar
dist    
Mark Otto committed
2866
2867
2868
      if (!context.config.delay || !context.config.delay.show) {
        context.show();
        return;
Jacob Thornton's avatar
Jacob Thornton committed
2869
2870
      }

Mark Otto's avatar
dist    
Mark Otto committed
2871
2872
2873
2874
2875
      context._timeout = setTimeout(function () {
        if (context._hoverState === HoverState.SHOW) {
          context.show();
        }
      }, context.config.delay.show);
Mark Otto's avatar
grunt    
Mark Otto committed
2876
    };
Jacob Thornton's avatar
Jacob Thornton committed
2877

Mark Otto's avatar
dist    
Mark Otto committed
2878
    _proto._leave = function _leave(event, context) {
Mark Otto's avatar
dist    
Mark Otto committed
2879
      var dataKey = this.constructor.DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
2880
      context = context || $$$1(event.currentTarget).data(dataKey);
Mark Otto's avatar
grunt    
Mark Otto committed
2881

Mark Otto's avatar
dist    
Mark Otto committed
2882
2883
      if (!context) {
        context = new this.constructor(event.currentTarget, this._getDelegateConfig());
Mark Otto's avatar
dist    
Mark Otto committed
2884
        $$$1(event.currentTarget).data(dataKey, context);
Mark Otto's avatar
dist    
Mark Otto committed
2885
2886
      }

Mark Otto's avatar
dist    
Mark Otto committed
2887
2888
      if (event) {
        context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
Jacob Thornton's avatar
Jacob Thornton committed
2889
2890
      }

Mark Otto's avatar
dist    
Mark Otto committed
2891
2892
      if (context._isWithActiveTrigger()) {
        return;
Mark Otto's avatar
grunt    
Mark Otto committed
2893
      }
Jacob Thornton's avatar
Jacob Thornton committed
2894

Mark Otto's avatar
dist    
Mark Otto committed
2895
2896
      clearTimeout(context._timeout);
      context._hoverState = HoverState.OUT;
Jacob Thornton's avatar
Jacob Thornton committed
2897

Mark Otto's avatar
dist    
Mark Otto committed
2898
2899
2900
      if (!context.config.delay || !context.config.delay.hide) {
        context.hide();
        return;
Mark Otto's avatar
grunt    
Mark Otto committed
2901
      }
Jacob Thornton's avatar
Jacob Thornton committed
2902

Mark Otto's avatar
dist    
Mark Otto committed
2903
2904
2905
2906
2907
2908
      context._timeout = setTimeout(function () {
        if (context._hoverState === HoverState.OUT) {
          context.hide();
        }
      }, context.config.delay.hide);
    };
Jacob Thornton's avatar
Jacob Thornton committed
2909

Mark Otto's avatar
dist    
Mark Otto committed
2910
    _proto._isWithActiveTrigger = function _isWithActiveTrigger() {
Mark Otto's avatar
dist    
Mark Otto committed
2911
2912
2913
2914
      for (var trigger in this._activeTrigger) {
        if (this._activeTrigger[trigger]) {
          return true;
        }
Mark Otto's avatar
grunt    
Mark Otto committed
2915
      }
Jacob Thornton's avatar
Jacob Thornton committed
2916

Mark Otto's avatar
dist    
Mark Otto committed
2917
2918
      return false;
    };
Jacob Thornton's avatar
Jacob Thornton committed
2919

Mark Otto's avatar
dist    
Mark Otto committed
2920
    _proto._getConfig = function _getConfig(config) {
Mark Otto's avatar
dist    
Mark Otto committed
2921
      config = $$$1.extend({}, this.constructor.Default, $$$1(this.element).data(), config);
Jacob Thornton's avatar
Jacob Thornton committed
2922

Mark Otto's avatar
dist    
Mark Otto committed
2923
      if (typeof config.delay === 'number') {
Mark Otto's avatar
dist    
Mark Otto committed
2924
2925
2926
2927
        config.delay = {
          show: config.delay,
          hide: config.delay
        };
Mark Otto's avatar
grunt    
Mark Otto committed
2928
2929
      }

Mark Otto's avatar
dist    
Mark Otto committed
2930
      if (typeof config.title === 'number') {
Mark Otto's avatar
dist    
Mark Otto committed
2931
        config.title = config.title.toString();
Jacob Thornton's avatar
Jacob Thornton committed
2932
2933
      }

Mark Otto's avatar
dist    
Mark Otto committed
2934
      if (typeof config.content === 'number') {
Mark Otto's avatar
dist    
Mark Otto committed
2935
2936
        config.content = config.content.toString();
      }
Jacob Thornton's avatar
Jacob Thornton committed
2937

Mark Otto's avatar
dist    
Mark Otto committed
2938
2939
2940
2941
      Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
      return config;
    };

Mark Otto's avatar
dist    
Mark Otto committed
2942
    _proto._getDelegateConfig = function _getDelegateConfig() {
Mark Otto's avatar
dist    
Mark Otto committed
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
      var config = {};

      if (this.config) {
        for (var key in this.config) {
          if (this.constructor.Default[key] !== this.config[key]) {
            config[key] = this.config[key];
          }
        }
      }

      return config;
    };

Mark Otto's avatar
dist    
Mark Otto committed
2956
    _proto._cleanTipClass = function _cleanTipClass() {
Mark Otto's avatar
dist    
Mark Otto committed
2957
      var $tip = $$$1(this.getTipElement());
Mark Otto's avatar
dist    
Mark Otto committed
2958
      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
Mark Otto's avatar
dist    
Mark Otto committed
2959

Mark Otto's avatar
dist    
Mark Otto committed
2960
2961
2962
2963
2964
      if (tabClass !== null && tabClass.length > 0) {
        $tip.removeClass(tabClass.join(''));
      }
    };

Mark Otto's avatar
dist    
Mark Otto committed
2965
    _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(data) {
Mark Otto's avatar
dist    
Mark Otto committed
2966
      this._cleanTipClass();
Mark Otto's avatar
dist    
Mark Otto committed
2967

Mark Otto's avatar
dist    
Mark Otto committed
2968
2969
2970
      this.addAttachmentClass(this._getAttachment(data.placement));
    };

Mark Otto's avatar
dist    
Mark Otto committed
2971
    _proto._fixTransition = function _fixTransition() {
Mark Otto's avatar
dist    
Mark Otto committed
2972
2973
      var tip = this.getTipElement();
      var initConfigAnimation = this.config.animation;
Mark Otto's avatar
dist    
Mark Otto committed
2974

Mark Otto's avatar
dist    
Mark Otto committed
2975
2976
2977
      if (tip.getAttribute('x-placement') !== null) {
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
2978

Mark Otto's avatar
dist    
Mark Otto committed
2979
      $$$1(tip).removeClass(ClassName.FADE);
Mark Otto's avatar
dist    
Mark Otto committed
2980
2981
2982
2983
      this.config.animation = false;
      this.hide();
      this.show();
      this.config.animation = initConfigAnimation;
Mark Otto's avatar
dist    
Mark Otto committed
2984
    }; // static
Mark Otto's avatar
dist    
Mark Otto committed
2985
2986
2987


    Tooltip._jQueryInterface = function _jQueryInterface(config) {
Mark Otto's avatar
grunt    
Mark Otto committed
2988
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
2989
        var data = $$$1(this).data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
2990
2991

        var _config = typeof config === 'object' && config;
Mark Otto's avatar
dist    
Mark Otto committed
2992
2993
2994
2995

        if (!data && /dispose|hide/.test(config)) {
          return;
        }
Jacob Thornton's avatar
Jacob Thornton committed
2996

Mark Otto's avatar
grunt    
Mark Otto committed
2997
        if (!data) {
Mark Otto's avatar
dist    
Mark Otto committed
2998
          data = new Tooltip(this, _config);
Mark Otto's avatar
dist    
Mark Otto committed
2999
          $$$1(this).data(DATA_KEY, data);
Mark Otto's avatar
grunt    
Mark Otto committed
3000
        }
Jacob Thornton's avatar
Jacob Thornton committed
3001

Mark Otto's avatar
grunt    
Mark Otto committed
3002
        if (typeof config === 'string') {
Mark Otto's avatar
dist    
Mark Otto committed
3003
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
3004
            throw new Error("No method named \"" + config + "\"");
Jacob Thornton's avatar
Jacob Thornton committed
3005
          }
Mark Otto's avatar
dist    
Mark Otto committed
3006

Mark Otto's avatar
grunt    
Mark Otto committed
3007
3008
3009
3010
3011
          data[config]();
        }
      });
    };

Mark Otto's avatar
dist    
Mark Otto committed
3012
    createClass(Tooltip, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
3013
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
3014
3015
3016
      get: function get() {
        return VERSION;
      }
Mark Otto's avatar
dist    
Mark Otto committed
3017
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3018
      key: "Default",
Mark Otto's avatar
dist    
Mark Otto committed
3019
3020
3021
3022
      get: function get() {
        return Default;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3023
      key: "NAME",
Mark Otto's avatar
dist    
Mark Otto committed
3024
3025
3026
3027
      get: function get() {
        return NAME;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3028
      key: "DATA_KEY",
Mark Otto's avatar
dist    
Mark Otto committed
3029
3030
3031
3032
      get: function get() {
        return DATA_KEY;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3033
      key: "Event",
Mark Otto's avatar
dist    
Mark Otto committed
3034
3035
3036
3037
      get: function get() {
        return Event;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3038
      key: "EVENT_KEY",
Mark Otto's avatar
dist    
Mark Otto committed
3039
3040
3041
3042
      get: function get() {
        return EVENT_KEY;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3043
      key: "DefaultType",
Mark Otto's avatar
dist    
Mark Otto committed
3044
3045
3046
      get: function get() {
        return DefaultType;
      }
Jacob Thornton's avatar
Jacob Thornton committed
3047
    }]);
Mark Otto's avatar
dist    
Mark Otto committed
3048
    return Tooltip;
Mark Otto's avatar
grunt    
Mark Otto committed
3049
  }();
Jacob Thornton's avatar
Jacob Thornton committed
3050
3051
3052
3053
3054
3055
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
3056

Mark Otto's avatar
dist    
Mark Otto committed
3057
3058
  $$$1.fn[NAME] = Tooltip._jQueryInterface;
  $$$1.fn[NAME].Constructor = Tooltip;
Mark Otto's avatar
dist    
Mark Otto committed
3059

Mark Otto's avatar
dist    
Mark Otto committed
3060
3061
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Mark Otto's avatar
dist    
Mark Otto committed
3062
    return Tooltip._jQueryInterface;
Jacob Thornton's avatar
Jacob Thornton committed
3063
3064
  };

Mark Otto's avatar
dist    
Mark Otto committed
3065
  return Tooltip;
Mark Otto's avatar
dist    
Mark Otto committed
3066
}($, Popper);
XhmikosR's avatar
XhmikosR committed
3067

Jacob Thornton's avatar
Jacob Thornton committed
3068
3069
/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
3070
 * Bootstrap (v4.0.0-beta.2): popover.js
Jacob Thornton's avatar
Jacob Thornton committed
3071
3072
3073
3074
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
3075
var Popover = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
3076
3077
3078
3079
3080
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
Mark Otto's avatar
dist    
Mark Otto committed
3081
  var NAME = 'popover';
Mark Otto's avatar
Mark Otto committed
3082
  var VERSION = '4.0.0-beta.2';
Mark Otto's avatar
dist    
Mark Otto committed
3083
  var DATA_KEY = 'bs.popover';
Mark Otto's avatar
dist    
Mark Otto committed
3084
  var EVENT_KEY = "." + DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
3085
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Mark Otto's avatar
dist    
Mark Otto committed
3086
  var CLASS_PREFIX = 'bs-popover';
Mark Otto's avatar
dist    
Mark Otto committed
3087
  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
Mark Otto's avatar
dist    
Mark Otto committed
3088
  var Default = $$$1.extend({}, Tooltip.Default, {
Mark Otto's avatar
dist    
Mark Otto committed
3089
3090
3091
3092
3093
    placement: 'right',
    trigger: 'click',
    content: '',
    template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
  });
Mark Otto's avatar
dist    
Mark Otto committed
3094
  var DefaultType = $$$1.extend({}, Tooltip.DefaultType, {
Mark Otto's avatar
dist    
Mark Otto committed
3095
3096
3097
3098
3099
    content: '(string|element|function)'
  });
  var ClassName = {
    FADE: 'fade',
    SHOW: 'show'
Jacob Thornton's avatar
Jacob Thornton committed
3100
  };
Mark Otto's avatar
dist    
Mark Otto committed
3101
3102
3103
  var Selector = {
    TITLE: '.popover-header',
    CONTENT: '.popover-body'
Jacob Thornton's avatar
Jacob Thornton committed
3104
3105
  };
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
    HIDE: "hide" + EVENT_KEY,
    HIDDEN: "hidden" + EVENT_KEY,
    SHOW: "show" + EVENT_KEY,
    SHOWN: "shown" + EVENT_KEY,
    INSERTED: "inserted" + EVENT_KEY,
    CLICK: "click" + EVENT_KEY,
    FOCUSIN: "focusin" + EVENT_KEY,
    FOCUSOUT: "focusout" + EVENT_KEY,
    MOUSEENTER: "mouseenter" + EVENT_KEY,
    MOUSELEAVE: "mouseleave" + EVENT_KEY
Mark Otto's avatar
dist    
Mark Otto committed
3116
3117
3118
3119
3120
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
3121

Mark Otto's avatar
dist    
Mark Otto committed
3122
  };
Mark Otto's avatar
dist    
Mark Otto committed
3123
3124
3125
3126
3127

  var Popover =
  /*#__PURE__*/
  function (_Tooltip) {
    inheritsLoose(Popover, _Tooltip);
Jacob Thornton's avatar
Jacob Thornton committed
3128

Mark Otto's avatar
dist    
Mark Otto committed
3129
    function Popover() {
Mark Otto's avatar
dist    
Mark Otto committed
3130
      return _Tooltip.apply(this, arguments) || this;
Jacob Thornton's avatar
Jacob Thornton committed
3131
3132
    }

Mark Otto's avatar
dist    
Mark Otto committed
3133
    var _proto = Popover.prototype;
Jacob Thornton's avatar
Jacob Thornton committed
3134

Mark Otto's avatar
dist    
Mark Otto committed
3135
3136
    // overrides
    _proto.isWithContent = function isWithContent() {
Mark Otto's avatar
dist    
Mark Otto committed
3137
      return this.getTitle() || this._getContent();
Mark Otto's avatar
grunt    
Mark Otto committed
3138
    };
Jacob Thornton's avatar
Jacob Thornton committed
3139

Mark Otto's avatar
dist    
Mark Otto committed
3140
    _proto.addAttachmentClass = function addAttachmentClass(attachment) {
Mark Otto's avatar
dist    
Mark Otto committed
3141
      $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
Mark Otto's avatar
grunt    
Mark Otto committed
3142
    };
Jacob Thornton's avatar
Jacob Thornton committed
3143

Mark Otto's avatar
dist    
Mark Otto committed
3144
    _proto.getTipElement = function getTipElement() {
Mark Otto's avatar
dist    
Mark Otto committed
3145
      this.tip = this.tip || $$$1(this.config.template)[0];
Mark Otto's avatar
dist    
Mark Otto committed
3146
      return this.tip;
Mark Otto's avatar
grunt    
Mark Otto committed
3147
3148
    };

Mark Otto's avatar
dist    
Mark Otto committed
3149
    _proto.setContent = function setContent() {
Mark Otto's avatar
dist    
Mark Otto committed
3150
      var $tip = $$$1(this.getTipElement()); // we use append for html objects to maintain js events
Jacob Thornton's avatar
Jacob Thornton committed
3151

Mark Otto's avatar
dist    
Mark Otto committed
3152
3153
      this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
      this.setElementContent($tip.find(Selector.CONTENT), this._getContent());
Mark Otto's avatar
dist    
Mark Otto committed
3154
3155
      $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
    }; // private
Jacob Thornton's avatar
Jacob Thornton committed
3156

Jacob Thornton's avatar
Jacob Thornton committed
3157

Mark Otto's avatar
dist    
Mark Otto committed
3158
    _proto._getContent = function _getContent() {
Mark Otto's avatar
dist    
Mark Otto committed
3159
      return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content);
Mark Otto's avatar
grunt    
Mark Otto committed
3160
    };
Jacob Thornton's avatar
Jacob Thornton committed
3161

Mark Otto's avatar
dist    
Mark Otto committed
3162
    _proto._cleanTipClass = function _cleanTipClass() {
Mark Otto's avatar
dist    
Mark Otto committed
3163
      var $tip = $$$1(this.getTipElement());
Mark Otto's avatar
dist    
Mark Otto committed
3164
      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
Mark Otto's avatar
dist    
Mark Otto committed
3165

Mark Otto's avatar
dist    
Mark Otto committed
3166
3167
      if (tabClass !== null && tabClass.length > 0) {
        $tip.removeClass(tabClass.join(''));
Johann-S's avatar
build    
Johann-S committed
3168
      }
Mark Otto's avatar
dist    
Mark Otto committed
3169
    }; // static
Jacob Thornton's avatar
Jacob Thornton committed
3170
3171


Mark Otto's avatar
dist    
Mark Otto committed
3172
3173
    Popover._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
3174
        var data = $$$1(this).data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
3175
3176

        var _config = typeof config === 'object' ? config : null;
Jacob Thornton's avatar
Jacob Thornton committed
3177

Mark Otto's avatar
dist    
Mark Otto committed
3178
        if (!data && /destroy|hide/.test(config)) {
Mark Otto's avatar
grunt    
Mark Otto committed
3179
3180
          return;
        }
Jacob Thornton's avatar
Jacob Thornton committed
3181

Mark Otto's avatar
dist    
Mark Otto committed
3182
3183
        if (!data) {
          data = new Popover(this, _config);
Mark Otto's avatar
dist    
Mark Otto committed
3184
          $$$1(this).data(DATA_KEY, data);
Mark Otto's avatar
grunt    
Mark Otto committed
3185
        }
Jacob Thornton's avatar
Jacob Thornton committed
3186

Mark Otto's avatar
dist    
Mark Otto committed
3187
3188
        if (typeof config === 'string') {
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
3189
            throw new Error("No method named \"" + config + "\"");
Johann-S's avatar
build    
Johann-S committed
3190
          }
Mark Otto's avatar
dist    
Mark Otto committed
3191

Mark Otto's avatar
dist    
Mark Otto committed
3192
          data[config]();
Mark Otto's avatar
build    
Mark Otto committed
3193
        }
Mark Otto's avatar
dist    
Mark Otto committed
3194
3195
      });
    };
Mark Otto's avatar
build    
Mark Otto committed
3196

Mark Otto's avatar
dist    
Mark Otto committed
3197
    createClass(Popover, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
3198
      key: "VERSION",
Mark Otto's avatar
dist    
Mark Otto committed
3199
3200
3201
      // getters
      get: function get() {
        return VERSION;
Mark Otto's avatar
grunt    
Mark Otto committed
3202
      }
Mark Otto's avatar
dist    
Mark Otto committed
3203
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3204
      key: "Default",
Mark Otto's avatar
dist    
Mark Otto committed
3205
3206
3207
3208
      get: function get() {
        return Default;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3209
      key: "NAME",
Mark Otto's avatar
dist    
Mark Otto committed
3210
3211
3212
3213
      get: function get() {
        return NAME;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3214
      key: "DATA_KEY",
Mark Otto's avatar
dist    
Mark Otto committed
3215
3216
3217
3218
      get: function get() {
        return DATA_KEY;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3219
      key: "Event",
Mark Otto's avatar
dist    
Mark Otto committed
3220
3221
3222
3223
      get: function get() {
        return Event;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3224
      key: "EVENT_KEY",
Mark Otto's avatar
dist    
Mark Otto committed
3225
3226
3227
3228
      get: function get() {
        return EVENT_KEY;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3229
      key: "DefaultType",
Mark Otto's avatar
dist    
Mark Otto committed
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
      get: function get() {
        return DefaultType;
      }
    }]);
    return Popover;
  }(Tooltip);
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
3241

Mark Otto's avatar
dist    
Mark Otto committed
3242

Mark Otto's avatar
dist    
Mark Otto committed
3243
3244
  $$$1.fn[NAME] = Popover._jQueryInterface;
  $$$1.fn[NAME].Constructor = Popover;
Mark Otto's avatar
dist    
Mark Otto committed
3245

Mark Otto's avatar
dist    
Mark Otto committed
3246
3247
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Mark Otto's avatar
dist    
Mark Otto committed
3248
3249
    return Popover._jQueryInterface;
  };
Jacob Thornton's avatar
Jacob Thornton committed
3250

Mark Otto's avatar
dist    
Mark Otto committed
3251
  return Popover;
Mark Otto's avatar
dist    
Mark Otto committed
3252
}($);
Jacob Thornton's avatar
Jacob Thornton committed
3253

Mark Otto's avatar
dist    
Mark Otto committed
3254
3255
/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
3256
 * Bootstrap (v4.0.0-beta.2): scrollspy.js
Mark Otto's avatar
dist    
Mark Otto committed
3257
3258
3259
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */
Jacob Thornton's avatar
Jacob Thornton committed
3260

Mark Otto's avatar
dist    
Mark Otto committed
3261
var ScrollSpy = function ($$$1) {
Mark Otto's avatar
dist    
Mark Otto committed
3262
3263
3264
3265
3266
3267
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'scrollspy';
Mark Otto's avatar
Mark Otto committed
3268
  var VERSION = '4.0.0-beta.2';
Mark Otto's avatar
dist    
Mark Otto committed
3269
  var DATA_KEY = 'bs.scrollspy';
Mark Otto's avatar
dist    
Mark Otto committed
3270
  var EVENT_KEY = "." + DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
3271
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
3272
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Mark Otto's avatar
dist    
Mark Otto committed
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
  var Default = {
    offset: 10,
    method: 'auto',
    target: ''
  };
  var DefaultType = {
    offset: 'number',
    method: 'string',
    target: '(string|element)'
  };
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
3284
3285
3286
    ACTIVATE: "activate" + EVENT_KEY,
    SCROLL: "scroll" + EVENT_KEY,
    LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY
Mark Otto's avatar
dist    
Mark Otto committed
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
  };
  var ClassName = {
    DROPDOWN_ITEM: 'dropdown-item',
    DROPDOWN_MENU: 'dropdown-menu',
    ACTIVE: 'active'
  };
  var Selector = {
    DATA_SPY: '[data-spy="scroll"]',
    ACTIVE: '.active',
    NAV_LIST_GROUP: '.nav, .list-group',
    NAV_LINKS: '.nav-link',
Mark Otto's avatar
dist    
Mark Otto committed
3298
    NAV_ITEMS: '.nav-item',
Mark Otto's avatar
dist    
Mark Otto committed
3299
3300
3301
3302
3303
3304
3305
3306
    LIST_ITEMS: '.list-group-item',
    DROPDOWN: '.dropdown',
    DROPDOWN_ITEMS: '.dropdown-item',
    DROPDOWN_TOGGLE: '.dropdown-toggle'
  };
  var OffsetMethod = {
    OFFSET: 'offset',
    POSITION: 'position'
Mark Otto's avatar
dist    
Mark Otto committed
3307
3308
3309
3310
3311
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Mark Otto's avatar
grunt    
Mark Otto committed
3312

Mark Otto's avatar
dist    
Mark Otto committed
3313
  };
Mark Otto's avatar
dist    
Mark Otto committed
3314
3315
3316
3317

  var ScrollSpy =
  /*#__PURE__*/
  function () {
Mark Otto's avatar
dist    
Mark Otto committed
3318
3319
    function ScrollSpy(element, config) {
      var _this = this;
Mark Otto's avatar
grunt    
Mark Otto committed
3320

Mark Otto's avatar
dist    
Mark Otto committed
3321
3322
3323
      this._element = element;
      this._scrollElement = element.tagName === 'BODY' ? window : element;
      this._config = this._getConfig(config);
Mark Otto's avatar
dist    
Mark Otto committed
3324
      this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS);
Mark Otto's avatar
dist    
Mark Otto committed
3325
3326
3327
3328
      this._offsets = [];
      this._targets = [];
      this._activeTarget = null;
      this._scrollHeight = 0;
Mark Otto's avatar
dist    
Mark Otto committed
3329
      $$$1(this._scrollElement).on(Event.SCROLL, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
3330
3331
3332
        return _this._process(event);
      });
      this.refresh();
Mark Otto's avatar
dist    
Mark Otto committed
3333

Mark Otto's avatar
dist    
Mark Otto committed
3334
      this._process();
Mark Otto's avatar
dist    
Mark Otto committed
3335
    } // getters
Jacob Thornton's avatar
Jacob Thornton committed
3336
3337


Mark Otto's avatar
dist    
Mark Otto committed
3338
    var _proto = ScrollSpy.prototype;
Jacob Thornton's avatar
Jacob Thornton committed
3339

Mark Otto's avatar
dist    
Mark Otto committed
3340
3341
    // public
    _proto.refresh = function refresh() {
Mark Otto's avatar
dist    
Mark Otto committed
3342
      var _this2 = this;
Jacob Thornton's avatar
Jacob Thornton committed
3343

Mark Otto's avatar
dist    
Mark Otto committed
3344
3345
3346
3347
3348
3349
      var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
      var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
      var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
      this._offsets = [];
      this._targets = [];
      this._scrollHeight = this._getScrollHeight();
Mark Otto's avatar
dist    
Mark Otto committed
3350
      var targets = $$$1.makeArray($$$1(this._selector));
Mark Otto's avatar
dist    
Mark Otto committed
3351
      targets.map(function (element) {
Mark Otto's avatar
dist    
Mark Otto committed
3352
        var target;
Mark Otto's avatar
dist    
Mark Otto committed
3353
        var targetSelector = Util.getSelectorFromElement(element);
Mark Otto's avatar
grunt    
Mark Otto committed
3354

Mark Otto's avatar
dist    
Mark Otto committed
3355
        if (targetSelector) {
Mark Otto's avatar
dist    
Mark Otto committed
3356
          target = $$$1(targetSelector)[0];
Mark Otto's avatar
dist    
Mark Otto committed
3357
        }
Jacob Thornton's avatar
Jacob Thornton committed
3358

Mark Otto's avatar
dist    
Mark Otto committed
3359
3360
        if (target) {
          var targetBCR = target.getBoundingClientRect();
Mark Otto's avatar
dist    
Mark Otto committed
3361

Mark Otto's avatar
dist    
Mark Otto committed
3362
3363
          if (targetBCR.width || targetBCR.height) {
            // todo (fat): remove sketch reliance on jQuery position/offset
Mark Otto's avatar
dist    
Mark Otto committed
3364
            return [$$$1(target)[offsetMethod]().top + offsetBase, targetSelector];
Mark Otto's avatar
dist    
Mark Otto committed
3365
3366
          }
        }
Mark Otto's avatar
dist    
Mark Otto committed
3367

Mark Otto's avatar
dist    
Mark Otto committed
3368
3369
3370
3371
3372
3373
3374
        return null;
      }).filter(function (item) {
        return item;
      }).sort(function (a, b) {
        return a[0] - b[0];
      }).forEach(function (item) {
        _this2._offsets.push(item[0]);
Mark Otto's avatar
dist    
Mark Otto committed
3375

Mark Otto's avatar
dist    
Mark Otto committed
3376
3377
        _this2._targets.push(item[1]);
      });
Mark Otto's avatar
grunt    
Mark Otto committed
3378
    };
Jacob Thornton's avatar
Jacob Thornton committed
3379

Mark Otto's avatar
dist    
Mark Otto committed
3380
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
3381
3382
      $$$1.removeData(this._element, DATA_KEY);
      $$$1(this._scrollElement).off(EVENT_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
3383
3384
3385
3386
3387
3388
3389
3390
      this._element = null;
      this._scrollElement = null;
      this._config = null;
      this._selector = null;
      this._offsets = null;
      this._targets = null;
      this._activeTarget = null;
      this._scrollHeight = null;
Mark Otto's avatar
dist    
Mark Otto committed
3391
    }; // private
Jacob Thornton's avatar
Jacob Thornton committed
3392
3393


Mark Otto's avatar
dist    
Mark Otto committed
3394
    _proto._getConfig = function _getConfig(config) {
Mark Otto's avatar
dist    
Mark Otto committed
3395
      config = $$$1.extend({}, Default, config);
Jacob Thornton's avatar
Jacob Thornton committed
3396

Mark Otto's avatar
dist    
Mark Otto committed
3397
      if (typeof config.target !== 'string') {
Mark Otto's avatar
dist    
Mark Otto committed
3398
        var id = $$$1(config.target).attr('id');
Mark Otto's avatar
dist    
Mark Otto committed
3399

Mark Otto's avatar
dist    
Mark Otto committed
3400
3401
        if (!id) {
          id = Util.getUID(NAME);
Mark Otto's avatar
dist    
Mark Otto committed
3402
          $$$1(config.target).attr('id', id);
Mark Otto's avatar
dist    
Mark Otto committed
3403
        }
Mark Otto's avatar
dist    
Mark Otto committed
3404
3405

        config.target = "#" + id;
Mark Otto's avatar
grunt    
Mark Otto committed
3406
3407
      }

Mark Otto's avatar
dist    
Mark Otto committed
3408
3409
3410
      Util.typeCheckConfig(NAME, config, DefaultType);
      return config;
    };
Jacob Thornton's avatar
Jacob Thornton committed
3411

Mark Otto's avatar
dist    
Mark Otto committed
3412
    _proto._getScrollTop = function _getScrollTop() {
Mark Otto's avatar
dist    
Mark Otto committed
3413
3414
      return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
    };
Mark Otto's avatar
grunt    
Mark Otto committed
3415

Mark Otto's avatar
dist    
Mark Otto committed
3416
    _proto._getScrollHeight = function _getScrollHeight() {
Mark Otto's avatar
dist    
Mark Otto committed
3417
      return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
Mark Otto's avatar
grunt    
Mark Otto committed
3418
    };
Jacob Thornton's avatar
Jacob Thornton committed
3419

Mark Otto's avatar
dist    
Mark Otto committed
3420
    _proto._getOffsetHeight = function _getOffsetHeight() {
Mark Otto's avatar
dist    
Mark Otto committed
3421
3422
      return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
    };
Jacob Thornton's avatar
Jacob Thornton committed
3423

Mark Otto's avatar
dist    
Mark Otto committed
3424
    _proto._process = function _process() {
Mark Otto's avatar
dist    
Mark Otto committed
3425
      var scrollTop = this._getScrollTop() + this._config.offset;
Mark Otto's avatar
dist    
Mark Otto committed
3426

Mark Otto's avatar
dist    
Mark Otto committed
3427
      var scrollHeight = this._getScrollHeight();
Mark Otto's avatar
dist    
Mark Otto committed
3428

Mark Otto's avatar
dist    
Mark Otto committed
3429
      var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
Jacob Thornton's avatar
Jacob Thornton committed
3430

Mark Otto's avatar
dist    
Mark Otto committed
3431
3432
      if (this._scrollHeight !== scrollHeight) {
        this.refresh();
Mark Otto's avatar
grunt    
Mark Otto committed
3433
      }
Jacob Thornton's avatar
Jacob Thornton committed
3434

Mark Otto's avatar
dist    
Mark Otto committed
3435
3436
      if (scrollTop >= maxScroll) {
        var target = this._targets[this._targets.length - 1];
Jacob Thornton's avatar
Jacob Thornton committed
3437

Mark Otto's avatar
dist    
Mark Otto committed
3438
3439
3440
        if (this._activeTarget !== target) {
          this._activate(target);
        }
Mark Otto's avatar
dist    
Mark Otto committed
3441

Mark Otto's avatar
grunt    
Mark Otto committed
3442
3443
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
3444

Mark Otto's avatar
dist    
Mark Otto committed
3445
3446
      if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
        this._activeTarget = null;
Mark Otto's avatar
dist    
Mark Otto committed
3447

Mark Otto's avatar
dist    
Mark Otto committed
3448
        this._clear();
Mark Otto's avatar
dist    
Mark Otto committed
3449

Mark Otto's avatar
grunt    
Mark Otto committed
3450
3451
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
3452

Mark Otto's avatar
dist    
Mark Otto committed
3453
3454
      for (var i = this._offsets.length; i--;) {
        var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
Jacob Thornton's avatar
Jacob Thornton committed
3455

Mark Otto's avatar
dist    
Mark Otto committed
3456
3457
        if (isActiveTarget) {
          this._activate(this._targets[i]);
Jacob Thornton's avatar
Jacob Thornton committed
3458
3459
        }
      }
Mark Otto's avatar
grunt    
Mark Otto committed
3460
    };
Jacob Thornton's avatar
Jacob Thornton committed
3461

Mark Otto's avatar
dist    
Mark Otto committed
3462
    _proto._activate = function _activate(target) {
Mark Otto's avatar
dist    
Mark Otto committed
3463
      this._activeTarget = target;
Mark Otto's avatar
grunt    
Mark Otto committed
3464

Mark Otto's avatar
dist    
Mark Otto committed
3465
      this._clear();
Mark Otto's avatar
grunt    
Mark Otto committed
3466

Mark Otto's avatar
dist    
Mark Otto committed
3467
3468
3469
      var queries = this._selector.split(','); // eslint-disable-next-line arrow-body-style


Mark Otto's avatar
dist    
Mark Otto committed
3470
      queries = queries.map(function (selector) {
Mark Otto's avatar
dist    
Mark Otto committed
3471
        return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]");
Mark Otto's avatar
dist    
Mark Otto committed
3472
      });
Mark Otto's avatar
dist    
Mark Otto committed
3473
      var $link = $$$1(queries.join(','));
Jacob Thornton's avatar
Jacob Thornton committed
3474

Mark Otto's avatar
dist    
Mark Otto committed
3475
3476
3477
3478
3479
      if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
        $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
        $link.addClass(ClassName.ACTIVE);
      } else {
        // Set triggered link as active
Mark Otto's avatar
dist    
Mark Otto committed
3480
        $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active
Mark Otto's avatar
dist    
Mark Otto committed
3481
        // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
Mark Otto's avatar
dist    
Mark Otto committed
3482
3483
3484
3485

        $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE); // Handle special case when .nav-link is inside .nav-item

        $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
Johann-S's avatar
build    
Johann-S committed
3486
3487
      }

Mark Otto's avatar
dist    
Mark Otto committed
3488
      $$$1(this._scrollElement).trigger(Event.ACTIVATE, {
Mark Otto's avatar
dist    
Mark Otto committed
3489
3490
        relatedTarget: target
      });
Johann-S's avatar
build    
Johann-S committed
3491
3492
    };

Mark Otto's avatar
dist    
Mark Otto committed
3493
    _proto._clear = function _clear() {
Mark Otto's avatar
dist    
Mark Otto committed
3494
      $$$1(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
Mark Otto's avatar
dist    
Mark Otto committed
3495
    }; // static
Johann-S's avatar
build    
Johann-S committed
3496

Jacob Thornton's avatar
Jacob Thornton committed
3497

Mark Otto's avatar
dist    
Mark Otto committed
3498
    ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
Mark Otto's avatar
grunt    
Mark Otto committed
3499
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
3500
        var data = $$$1(this).data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
3501
3502

        var _config = typeof config === 'object' && config;
Jacob Thornton's avatar
Jacob Thornton committed
3503

Mark Otto's avatar
grunt    
Mark Otto committed
3504
        if (!data) {
Mark Otto's avatar
dist    
Mark Otto committed
3505
          data = new ScrollSpy(this, _config);
Mark Otto's avatar
dist    
Mark Otto committed
3506
          $$$1(this).data(DATA_KEY, data);
Mark Otto's avatar
grunt    
Mark Otto committed
3507
3508
3509
        }

        if (typeof config === 'string') {
Mark Otto's avatar
dist    
Mark Otto committed
3510
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
3511
            throw new Error("No method named \"" + config + "\"");
Jacob Thornton's avatar
Jacob Thornton committed
3512
          }
Mark Otto's avatar
dist    
Mark Otto committed
3513

Mark Otto's avatar
grunt    
Mark Otto committed
3514
3515
3516
3517
3518
          data[config]();
        }
      });
    };

Mark Otto's avatar
dist    
Mark Otto committed
3519
    createClass(ScrollSpy, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
3520
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
3521
3522
3523
3524
      get: function get() {
        return VERSION;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3525
      key: "Default",
Jacob Thornton's avatar
Jacob Thornton committed
3526
3527
3528
3529
      get: function get() {
        return Default;
      }
    }]);
Mark Otto's avatar
dist    
Mark Otto committed
3530
    return ScrollSpy;
Mark Otto's avatar
grunt    
Mark Otto committed
3531
  }();
Mark Otto's avatar
dist    
Mark Otto committed
3532
3533
3534
3535
3536
3537
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
3538

Mark Otto's avatar
dist    
Mark Otto committed
3539
3540
  $$$1(window).on(Event.LOAD_DATA_API, function () {
    var scrollSpys = $$$1.makeArray($$$1(Selector.DATA_SPY));
Mark Otto's avatar
dist    
Mark Otto committed
3541
3542

    for (var i = scrollSpys.length; i--;) {
Mark Otto's avatar
dist    
Mark Otto committed
3543
      var $spy = $$$1(scrollSpys[i]);
Mark Otto's avatar
dist    
Mark Otto committed
3544

Mark Otto's avatar
dist    
Mark Otto committed
3545
3546
3547
      ScrollSpy._jQueryInterface.call($spy, $spy.data());
    }
  });
Mark Otto's avatar
grunt    
Mark Otto committed
3548
3549
3550
3551
3552
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
3553

Mark Otto's avatar
dist    
Mark Otto committed
3554
3555
  $$$1.fn[NAME] = ScrollSpy._jQueryInterface;
  $$$1.fn[NAME].Constructor = ScrollSpy;
Mark Otto's avatar
dist    
Mark Otto committed
3556

Mark Otto's avatar
dist    
Mark Otto committed
3557
3558
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Mark Otto's avatar
dist    
Mark Otto committed
3559
    return ScrollSpy._jQueryInterface;
Jacob Thornton's avatar
Jacob Thornton committed
3560
3561
  };

Mark Otto's avatar
dist    
Mark Otto committed
3562
  return ScrollSpy;
Mark Otto's avatar
dist    
Mark Otto committed
3563
}($);
Jacob Thornton's avatar
Jacob Thornton committed
3564
3565
3566

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
3567
 * Bootstrap (v4.0.0-beta.2): tab.js
Jacob Thornton's avatar
Jacob Thornton committed
3568
3569
3570
3571
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
3572
var Tab = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
3573
3574
3575
3576
3577
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
Mark Otto's avatar
dist    
Mark Otto committed
3578
  var NAME = 'tab';
Mark Otto's avatar
Mark Otto committed
3579
  var VERSION = '4.0.0-beta.2';
Mark Otto's avatar
dist    
Mark Otto committed
3580
  var DATA_KEY = 'bs.tab';
Mark Otto's avatar
dist    
Mark Otto committed
3581
  var EVENT_KEY = "." + DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
3582
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
3583
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Mark Otto's avatar
dist    
Mark Otto committed
3584
3585
  var TRANSITION_DURATION = 150;
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
3586
3587
3588
3589
3590
    HIDE: "hide" + EVENT_KEY,
    HIDDEN: "hidden" + EVENT_KEY,
    SHOW: "show" + EVENT_KEY,
    SHOWN: "shown" + EVENT_KEY,
    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
Mark Otto's avatar
dist    
Mark Otto committed
3591
  };
Jacob Thornton's avatar
Jacob Thornton committed
3592
  var ClassName = {
Mark Otto's avatar
dist    
Mark Otto committed
3593
3594
3595
    DROPDOWN_MENU: 'dropdown-menu',
    ACTIVE: 'active',
    DISABLED: 'disabled',
Jacob Thornton's avatar
Jacob Thornton committed
3596
    FADE: 'fade',
Mark Otto's avatar
grunt    
Mark Otto committed
3597
    SHOW: 'show'
Jacob Thornton's avatar
Jacob Thornton committed
3598
3599
  };
  var Selector = {
Mark Otto's avatar
dist    
Mark Otto committed
3600
3601
3602
3603
3604
3605
3606
    DROPDOWN: '.dropdown',
    NAV_LIST_GROUP: '.nav, .list-group',
    ACTIVE: '.active',
    ACTIVE_UL: '> li > .active',
    DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
    DROPDOWN_TOGGLE: '.dropdown-toggle',
    DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
Mark Otto's avatar
dist    
Mark Otto committed
3607
3608
3609
3610
3611
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
3612

Mark Otto's avatar
dist    
Mark Otto committed
3613
  };
Jacob Thornton's avatar
Jacob Thornton committed
3614

Mark Otto's avatar
dist    
Mark Otto committed
3615
3616
3617
3618
  var Tab =
  /*#__PURE__*/
  function () {
    function Tab(element) {
Mark Otto's avatar
dist    
Mark Otto committed
3619
      this._element = element;
Mark Otto's avatar
dist    
Mark Otto committed
3620
    } // getters
Jacob Thornton's avatar
Jacob Thornton committed
3621
3622


Mark Otto's avatar
dist    
Mark Otto committed
3623
    var _proto = Tab.prototype;
Jacob Thornton's avatar
Jacob Thornton committed
3624

Mark Otto's avatar
dist    
Mark Otto committed
3625
3626
    // public
    _proto.show = function show() {
Mark Otto's avatar
dist    
Mark Otto committed
3627
      var _this = this;
Johann-S's avatar
build    
Johann-S committed
3628

Mark Otto's avatar
dist    
Mark Otto committed
3629
      if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $$$1(this._element).hasClass(ClassName.ACTIVE) || $$$1(this._element).hasClass(ClassName.DISABLED)) {
Mark Otto's avatar
dist    
Mark Otto committed
3630
3631
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
3632

Mark Otto's avatar
dist    
Mark Otto committed
3633
3634
      var target;
      var previous;
Mark Otto's avatar
dist    
Mark Otto committed
3635
      var listElement = $$$1(this._element).closest(Selector.NAV_LIST_GROUP)[0];
Mark Otto's avatar
dist    
Mark Otto committed
3636
      var selector = Util.getSelectorFromElement(this._element);
Jacob Thornton's avatar
Jacob Thornton committed
3637

Mark Otto's avatar
dist    
Mark Otto committed
3638
3639
      if (listElement) {
        var itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE;
Mark Otto's avatar
dist    
Mark Otto committed
3640
        previous = $$$1.makeArray($$$1(listElement).find(itemSelector));
Mark Otto's avatar
dist    
Mark Otto committed
3641
3642
        previous = previous[previous.length - 1];
      }
Jacob Thornton's avatar
Jacob Thornton committed
3643

Mark Otto's avatar
dist    
Mark Otto committed
3644
      var hideEvent = $$$1.Event(Event.HIDE, {
Mark Otto's avatar
dist    
Mark Otto committed
3645
3646
        relatedTarget: this._element
      });
Mark Otto's avatar
dist    
Mark Otto committed
3647
      var showEvent = $$$1.Event(Event.SHOW, {
Mark Otto's avatar
dist    
Mark Otto committed
3648
3649
3650
3651
        relatedTarget: previous
      });

      if (previous) {
Mark Otto's avatar
dist    
Mark Otto committed
3652
        $$$1(previous).trigger(hideEvent);
Mark Otto's avatar
dist    
Mark Otto committed
3653
3654
      }

Mark Otto's avatar
dist    
Mark Otto committed
3655
      $$$1(this._element).trigger(showEvent);
Mark Otto's avatar
dist    
Mark Otto committed
3656
3657
3658
3659
3660
3661

      if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
        return;
      }

      if (selector) {
Mark Otto's avatar
dist    
Mark Otto committed
3662
        target = $$$1(selector)[0];
Mark Otto's avatar
dist    
Mark Otto committed
3663
3664
3665
3666
3667
      }

      this._activate(this._element, listElement);

      var complete = function complete() {
Mark Otto's avatar
dist    
Mark Otto committed
3668
        var hiddenEvent = $$$1.Event(Event.HIDDEN, {
Mark Otto's avatar
dist    
Mark Otto committed
3669
3670
          relatedTarget: _this._element
        });
Mark Otto's avatar
dist    
Mark Otto committed
3671
        var shownEvent = $$$1.Event(Event.SHOWN, {
Mark Otto's avatar
dist    
Mark Otto committed
3672
3673
          relatedTarget: previous
        });
Mark Otto's avatar
dist    
Mark Otto committed
3674
3675
        $$$1(previous).trigger(hiddenEvent);
        $$$1(_this._element).trigger(shownEvent);
Mark Otto's avatar
dist    
Mark Otto committed
3676
3677
3678
3679
3680
3681
3682
3683
3684
      };

      if (target) {
        this._activate(target, target.parentNode, complete);
      } else {
        complete();
      }
    };

Mark Otto's avatar
dist    
Mark Otto committed
3685
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
3686
      $$$1.removeData(this._element, DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
3687
      this._element = null;
Mark Otto's avatar
dist    
Mark Otto committed
3688
    }; // private
Jacob Thornton's avatar
Jacob Thornton committed
3689
3690


Mark Otto's avatar
dist    
Mark Otto committed
3691
    _proto._activate = function _activate(element, container, callback) {
Mark Otto's avatar
dist    
Mark Otto committed
3692
3693
      var _this2 = this;

Mark Otto's avatar
dist    
Mark Otto committed
3694
3695
      var activeElements;

Mark Otto's avatar
dist    
Mark Otto committed
3696
      if (container.nodeName === 'UL') {
Mark Otto's avatar
dist    
Mark Otto committed
3697
        activeElements = $$$1(container).find(Selector.ACTIVE_UL);
Mark Otto's avatar
dist    
Mark Otto committed
3698
      } else {
Mark Otto's avatar
dist    
Mark Otto committed
3699
        activeElements = $$$1(container).children(Selector.ACTIVE);
Mark Otto's avatar
dist    
Mark Otto committed
3700
3701
3702
      }

      var active = activeElements[0];
Mark Otto's avatar
dist    
Mark Otto committed
3703
      var isTransitioning = callback && Util.supportsTransitionEnd() && active && $$$1(active).hasClass(ClassName.FADE);
Mark Otto's avatar
dist    
Mark Otto committed
3704
3705
3706
3707
3708
3709

      var complete = function complete() {
        return _this2._transitionComplete(element, active, isTransitioning, callback);
      };

      if (active && isTransitioning) {
Mark Otto's avatar
dist    
Mark Otto committed
3710
        $$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
Mark Otto's avatar
dist    
Mark Otto committed
3711
3712
3713
3714
3715
      } else {
        complete();
      }

      if (active) {
Mark Otto's avatar
dist    
Mark Otto committed
3716
        $$$1(active).removeClass(ClassName.SHOW);
Mark Otto's avatar
dist    
Mark Otto committed
3717
      }
Mark Otto's avatar
grunt    
Mark Otto committed
3718
    };
Jacob Thornton's avatar
Jacob Thornton committed
3719

Mark Otto's avatar
dist    
Mark Otto committed
3720
    _proto._transitionComplete = function _transitionComplete(element, active, isTransitioning, callback) {
Mark Otto's avatar
dist    
Mark Otto committed
3721
      if (active) {
Mark Otto's avatar
dist    
Mark Otto committed
3722
3723
        $$$1(active).removeClass(ClassName.ACTIVE);
        var dropdownChild = $$$1(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
Mark Otto's avatar
dist    
Mark Otto committed
3724
3725

        if (dropdownChild) {
Mark Otto's avatar
dist    
Mark Otto committed
3726
          $$$1(dropdownChild).removeClass(ClassName.ACTIVE);
Mark Otto's avatar
dist    
Mark Otto committed
3727
3728
        }

Mark Otto's avatar
dist    
Mark Otto committed
3729
3730
3731
        if (active.getAttribute('role') === 'tab') {
          active.setAttribute('aria-selected', false);
        }
Mark Otto's avatar
dist    
Mark Otto committed
3732
3733
      }

Mark Otto's avatar
dist    
Mark Otto committed
3734
      $$$1(element).addClass(ClassName.ACTIVE);
Mark Otto's avatar
dist    
Mark Otto committed
3735
3736
3737
3738

      if (element.getAttribute('role') === 'tab') {
        element.setAttribute('aria-selected', true);
      }
Mark Otto's avatar
dist    
Mark Otto committed
3739
3740
3741

      if (isTransitioning) {
        Util.reflow(element);
Mark Otto's avatar
dist    
Mark Otto committed
3742
        $$$1(element).addClass(ClassName.SHOW);
Mark Otto's avatar
dist    
Mark Otto committed
3743
      } else {
Mark Otto's avatar
dist    
Mark Otto committed
3744
        $$$1(element).removeClass(ClassName.FADE);
Mark Otto's avatar
dist    
Mark Otto committed
3745
3746
      }

Mark Otto's avatar
dist    
Mark Otto committed
3747
3748
      if (element.parentNode && $$$1(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
        var dropdownElement = $$$1(element).closest(Selector.DROPDOWN)[0];
Mark Otto's avatar
dist    
Mark Otto committed
3749

Mark Otto's avatar
dist    
Mark Otto committed
3750
        if (dropdownElement) {
Mark Otto's avatar
dist    
Mark Otto committed
3751
          $$$1(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
Mark Otto's avatar
dist    
Mark Otto committed
3752
3753
3754
3755
3756
3757
3758
        }

        element.setAttribute('aria-expanded', true);
      }

      if (callback) {
        callback();
Johann-S's avatar
build    
Johann-S committed
3759
      }
Mark Otto's avatar
dist    
Mark Otto committed
3760
    }; // static
Johann-S's avatar
build    
Johann-S committed
3761

Jacob Thornton's avatar
Jacob Thornton committed
3762

Mark Otto's avatar
dist    
Mark Otto committed
3763
    Tab._jQueryInterface = function _jQueryInterface(config) {
Mark Otto's avatar
grunt    
Mark Otto committed
3764
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
3765
        var $this = $$$1(this);
Mark Otto's avatar
dist    
Mark Otto committed
3766
        var data = $this.data(DATA_KEY);
Jacob Thornton's avatar
Jacob Thornton committed
3767

Mark Otto's avatar
grunt    
Mark Otto committed
3768
        if (!data) {
Mark Otto's avatar
dist    
Mark Otto committed
3769
3770
          data = new Tab(this);
          $this.data(DATA_KEY, data);
Mark Otto's avatar
grunt    
Mark Otto committed
3771
        }
Jacob Thornton's avatar
Jacob Thornton committed
3772

Mark Otto's avatar
grunt    
Mark Otto committed
3773
        if (typeof config === 'string') {
Mark Otto's avatar
dist    
Mark Otto committed
3774
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
3775
            throw new Error("No method named \"" + config + "\"");
Mark Otto's avatar
grunt    
Mark Otto committed
3776
          }
Mark Otto's avatar
dist    
Mark Otto committed
3777

Mark Otto's avatar
grunt    
Mark Otto committed
3778
3779
3780
3781
3782
          data[config]();
        }
      });
    };

Mark Otto's avatar
dist    
Mark Otto committed
3783
    createClass(Tab, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
3784
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
3785
3786
3787
3788
      get: function get() {
        return VERSION;
      }
    }]);
Mark Otto's avatar
dist    
Mark Otto committed
3789
3790
3791
3792
3793
3794
3795
3796
    return Tab;
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
3797

Mark Otto's avatar
dist    
Mark Otto committed
3798
  $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
3799
    event.preventDefault();
Mark Otto's avatar
dist    
Mark Otto committed
3800

Mark Otto's avatar
dist    
Mark Otto committed
3801
    Tab._jQueryInterface.call($$$1(this), 'show');
Mark Otto's avatar
dist    
Mark Otto committed
3802
  });
Mark Otto's avatar
grunt    
Mark Otto committed
3803
3804
3805
3806
3807
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
3808

Mark Otto's avatar
dist    
Mark Otto committed
3809
3810
  $$$1.fn[NAME] = Tab._jQueryInterface;
  $$$1.fn[NAME].Constructor = Tab;
Mark Otto's avatar
dist    
Mark Otto committed
3811

Mark Otto's avatar
dist    
Mark Otto committed
3812
3813
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Mark Otto's avatar
dist    
Mark Otto committed
3814
    return Tab._jQueryInterface;
Jacob Thornton's avatar
Jacob Thornton committed
3815
3816
  };

Mark Otto's avatar
dist    
Mark Otto committed
3817
  return Tab;
Mark Otto's avatar
dist    
Mark Otto committed
3818
}($);
Mark Otto's avatar
grunt    
Mark Otto committed
3819

Mark Otto's avatar
dist    
Mark Otto committed
3820
3821
3822
3823
3824
3825
3826
/**
 * --------------------------------------------------------------------------
 * Bootstrap (v4.0.0-alpha.6): index.js
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
3827
3828
(function ($$$1) {
  if (typeof $$$1 === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
3829
3830
3831
    throw new Error('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
  }

Mark Otto's avatar
dist    
Mark Otto committed
3832
  var version = $$$1.fn.jquery.split(' ')[0].split('.');
Mark Otto's avatar
dist    
Mark Otto committed
3833
3834
3835
3836
3837
3838
3839
3840
  var minMajor = 1;
  var ltMajor = 2;
  var minMinor = 9;
  var minPatch = 1;
  var maxMajor = 4;

  if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
    throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
Mark Otto's avatar
dist    
Mark Otto committed
3841
  }
Mark Otto's avatar
dist    
Mark Otto committed
3842
})($);
Mark Otto's avatar
build    
Mark Otto committed
3843

Mark Otto's avatar
dist    
Mark Otto committed
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
exports.Util = Util;
exports.Alert = Alert;
exports.Button = Button;
exports.Carousel = Carousel;
exports.Collapse = Collapse;
exports.Dropdown = Dropdown;
exports.Modal = Modal;
exports.Popover = Popover;
exports.Scrollspy = ScrollSpy;
exports.Tab = Tab;
exports.Tooltip = Tooltip;

return exports;

Mark Otto's avatar
dist    
Mark Otto committed
3858
}({},jQuery,Popper));
Mark Otto's avatar
dist    
Mark Otto committed
3859
//# sourceMappingURL=bootstrap.js.map