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

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

Mark Otto's avatar
Mark Otto committed
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function _defineProperties(target, props) {
  for (var i = 0; i < props.length; i++) {
    var descriptor = props[i];
    descriptor.enumerable = descriptor.enumerable || false;
    descriptor.configurable = true;
    if ("value" in descriptor) descriptor.writable = true;
    Object.defineProperty(target, descriptor.key, descriptor);
  }
}

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

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

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

    return target;
  };

  return _extends.apply(this, arguments);
}

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

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

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

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

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

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

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

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

  function transitionEndEmulator(duration) {
    var _this = this;

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

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

    if (Util.supportsTransitionEnd()) {
Mark Otto's avatar
dist    
Mark Otto committed
119
      $$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
Jacob Thornton's avatar
Jacob Thornton committed
120
121
122
123
124
125
126
127
128
    }
  }
  /**
   * --------------------------------------------------------------------------
   * Public Util Api
   * --------------------------------------------------------------------------
   */


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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

Jacob Thornton's avatar
Jacob Thornton committed
253

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
362
var Button = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
363
364
365
366
367
368
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'button';
Mark Otto's avatar
Mark Otto committed
369
  var VERSION = '4.0.0';
Jacob Thornton's avatar
Jacob Thornton committed
370
  var DATA_KEY = 'bs.button';
Mark Otto's avatar
dist    
Mark Otto committed
371
  var EVENT_KEY = "." + DATA_KEY;
Jacob Thornton's avatar
Jacob Thornton committed
372
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
373
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Jacob Thornton's avatar
Jacob Thornton committed
374
375
376
377
378
379
380
381
382
383
384
385
386
  var ClassName = {
    ACTIVE: 'active',
    BUTTON: 'btn',
    FOCUS: 'focus'
  };
  var Selector = {
    DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
    DATA_TOGGLE: '[data-toggle="buttons"]',
    INPUT: 'input',
    ACTIVE: '.active',
    BUTTON: '.btn'
  };
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
387
388
    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
    FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY)
Mark Otto's avatar
dist    
Mark Otto committed
389
390
391
392
393
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
394

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

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


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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
487

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

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

Mark Otto's avatar
dist    
Mark Otto committed
496
    Button._jQueryInterface.call($$$1(button), 'toggle');
Jacob Thornton's avatar
Jacob Thornton committed
497
  }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
498
499
    var button = $$$1(event.target).closest(Selector.BUTTON)[0];
    $$$1(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
Mark Otto's avatar
Mark Otto committed
500
  });
Jacob Thornton's avatar
Jacob Thornton committed
501
502
503
504
505
506
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

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

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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
543
  var MILLISECONDS_MULTIPLIER = 1000;
Jacob Thornton's avatar
Jacob Thornton committed
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
  var Default = {
    interval: 5000,
    keyboard: true,
    slide: false,
    pause: 'hover',
    wrap: true
  };
  var DefaultType = {
    interval: '(number|boolean)',
    keyboard: 'boolean',
    slide: '(boolean|string)',
    pause: '(string|boolean)',
    wrap: 'boolean'
  };
  var Direction = {
    NEXT: 'next',
Mark Otto's avatar
grunt    
Mark Otto committed
560
561
562
    PREV: 'prev',
    LEFT: 'left',
    RIGHT: 'right'
Jacob Thornton's avatar
Jacob Thornton committed
563
564
  };
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
565
566
567
568
569
570
571
572
    SLIDE: "slide" + EVENT_KEY,
    SLID: "slid" + EVENT_KEY,
    KEYDOWN: "keydown" + EVENT_KEY,
    MOUSEENTER: "mouseenter" + EVENT_KEY,
    MOUSELEAVE: "mouseleave" + EVENT_KEY,
    TOUCHEND: "touchend" + EVENT_KEY,
    LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY,
    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
Jacob Thornton's avatar
Jacob Thornton committed
573
574
575
576
577
  };
  var ClassName = {
    CAROUSEL: 'carousel',
    ACTIVE: 'active',
    SLIDE: 'slide',
Mark Otto's avatar
grunt    
Mark Otto committed
578
579
580
581
    RIGHT: 'carousel-item-right',
    LEFT: 'carousel-item-left',
    NEXT: 'carousel-item-next',
    PREV: 'carousel-item-prev',
Jacob Thornton's avatar
Jacob Thornton committed
582
583
584
585
586
587
    ITEM: 'carousel-item'
  };
  var Selector = {
    ACTIVE: '.active',
    ACTIVE_ITEM: '.active.carousel-item',
    ITEM: '.carousel-item',
Mark Otto's avatar
grunt    
Mark Otto committed
588
    NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
Jacob Thornton's avatar
Jacob Thornton committed
589
590
591
    INDICATORS: '.carousel-indicators',
    DATA_SLIDE: '[data-slide], [data-slide-to]',
    DATA_RIDE: '[data-ride="carousel"]'
Mark Otto's avatar
dist    
Mark Otto committed
592
593
594
595
596
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
597

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
700
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
701
702
      $$$1(this._element).off(EVENT_KEY);
      $$$1.removeData(this._element, DATA_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
703
704
705
706
707
708
709
710
      this._items = null;
      this._config = null;
      this._element = null;
      this._interval = null;
      this._isPaused = null;
      this._isSliding = null;
      this._activeElement = null;
      this._indicatorsElement = null;
Mark Otto's avatar
dist    
Mark Otto committed
711
    }; // Private
Jacob Thornton's avatar
Jacob Thornton committed
712
713


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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      event.preventDefault();
    };

Mark Otto's avatar
Mark Otto committed
987
    _createClass(Carousel, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
988
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
989
990
991
992
      get: function get() {
        return VERSION;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
993
      key: "Default",
Jacob Thornton's avatar
Jacob Thornton committed
994
995
996
997
998
      get: function get() {
        return Default;
      }
    }]);
    return Carousel;
Mark Otto's avatar
grunt    
Mark Otto committed
999
1000
1001
1002
1003
1004
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
1005
1006


Mark Otto's avatar
dist    
Mark Otto committed
1007
1008
1009
1010
  $$$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
1011

Jacob Thornton's avatar
Jacob Thornton committed
1012
1013
      Carousel._jQueryInterface.call($carousel, $carousel.data());
    });
Mark Otto's avatar
Mark Otto committed
1014
  });
Jacob Thornton's avatar
Jacob Thornton committed
1015
1016
1017
1018
1019
1020
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
1021
1022
  $$$1.fn[NAME] = Carousel._jQueryInterface;
  $$$1.fn[NAME].Constructor = Carousel;
Mark Otto's avatar
dist    
Mark Otto committed
1023

Mark Otto's avatar
dist    
Mark Otto committed
1024
1025
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Jacob Thornton's avatar
Jacob Thornton committed
1026
1027
1028
1029
    return Carousel._jQueryInterface;
  };

  return Carousel;
Mark Otto's avatar
dist    
Mark Otto committed
1030
}($);
Jacob Thornton's avatar
Jacob Thornton committed
1031
1032
1033

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
1034
 * Bootstrap (v4.0.0): collapse.js
Jacob Thornton's avatar
Jacob Thornton committed
1035
1036
1037
1038
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
1039
var Collapse = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
1040
1041
1042
1043
1044
1045
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'collapse';
Mark Otto's avatar
Mark Otto committed
1046
  var VERSION = '4.0.0';
Jacob Thornton's avatar
Jacob Thornton committed
1047
  var DATA_KEY = 'bs.collapse';
Mark Otto's avatar
dist    
Mark Otto committed
1048
  var EVENT_KEY = "." + DATA_KEY;
Jacob Thornton's avatar
Jacob Thornton committed
1049
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
1050
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Jacob Thornton's avatar
Jacob Thornton committed
1051
1052
1053
1054
1055
1056
1057
  var TRANSITION_DURATION = 600;
  var Default = {
    toggle: true,
    parent: ''
  };
  var DefaultType = {
    toggle: 'boolean',
Mark Otto's avatar
dist    
Mark Otto committed
1058
    parent: '(string|element)'
Jacob Thornton's avatar
Jacob Thornton committed
1059
1060
  };
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
1061
1062
1063
1064
1065
    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
1066
1067
  };
  var ClassName = {
Mark Otto's avatar
grunt    
Mark Otto committed
1068
    SHOW: 'show',
Jacob Thornton's avatar
Jacob Thornton committed
1069
1070
1071
1072
1073
1074
1075
1076
1077
    COLLAPSE: 'collapse',
    COLLAPSING: 'collapsing',
    COLLAPSED: 'collapsed'
  };
  var Dimension = {
    WIDTH: 'width',
    HEIGHT: 'height'
  };
  var Selector = {
Johann-S's avatar
build    
Johann-S committed
1078
1079
    ACTIVES: '.show, .collapsing',
    DATA_TOGGLE: '[data-toggle="collapse"]'
Mark Otto's avatar
dist    
Mark Otto committed
1080
1081
1082
1083
1084
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
1085

Mark Otto's avatar
dist    
Mark Otto committed
1086
  };
Jacob Thornton's avatar
Jacob Thornton committed
1087

Mark Otto's avatar
dist    
Mark Otto committed
1088
1089
1090
1091
  var Collapse =
  /*#__PURE__*/
  function () {
    function Collapse(element, config) {
Jacob Thornton's avatar
Jacob Thornton committed
1092
1093
1094
      this._isTransitioning = false;
      this._element = element;
      this._config = this._getConfig(config);
Mark Otto's avatar
dist    
Mark Otto committed
1095
1096
      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
1097

Mark Otto's avatar
build    
Mark Otto committed
1098
1099
1100
      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
1101

Mark Otto's avatar
dist    
Mark Otto committed
1102
        if (selector !== null && $$$1(selector).filter(element).length > 0) {
Mark Otto's avatar
dist    
Mark Otto committed
1103
1104
          this._selector = selector;

Mark Otto's avatar
build    
Mark Otto committed
1105
1106
1107
          this._triggerArray.push(elem);
        }
      }
Johann-S's avatar
build    
Johann-S committed
1108

Jacob Thornton's avatar
Jacob Thornton committed
1109
1110
1111
1112
1113
1114
1115
1116
1117
      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
1118
    } // Getters
Jacob Thornton's avatar
Jacob Thornton committed
1119
1120


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

Mark Otto's avatar
dist    
Mark Otto committed
1123
    // Public
Mark Otto's avatar
dist    
Mark Otto committed
1124
    _proto.toggle = function toggle() {
Mark Otto's avatar
dist    
Mark Otto committed
1125
      if ($$$1(this._element).hasClass(ClassName.SHOW)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1126
1127
1128
        this.hide();
      } else {
        this.show();
Jacob Thornton's avatar
Jacob Thornton committed
1129
      }
Mark Otto's avatar
grunt    
Mark Otto committed
1130
    };
Jacob Thornton's avatar
Jacob Thornton committed
1131

Mark Otto's avatar
dist    
Mark Otto committed
1132
    _proto.show = function show() {
Mark Otto's avatar
dist    
Mark Otto committed
1133
      var _this = this;
Jacob Thornton's avatar
Jacob Thornton committed
1134

Mark Otto's avatar
dist    
Mark Otto committed
1135
      if (this._isTransitioning || $$$1(this._element).hasClass(ClassName.SHOW)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1136
1137
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1138

Mark Otto's avatar
dist    
Mark Otto committed
1139
1140
      var actives;
      var activesData;
Jacob Thornton's avatar
Jacob Thornton committed
1141

Mark Otto's avatar
grunt    
Mark Otto committed
1142
      if (this._parent) {
Mark Otto's avatar
dist    
Mark Otto committed
1143
        actives = $$$1.makeArray($$$1(this._parent).find(Selector.ACTIVES).filter("[data-parent=\"" + this._config.parent + "\"]"));
Mark Otto's avatar
dist    
Mark Otto committed
1144

Mark Otto's avatar
dist    
Mark Otto committed
1145
        if (actives.length === 0) {
Mark Otto's avatar
grunt    
Mark Otto committed
1146
          actives = null;
Jacob Thornton's avatar
Jacob Thornton committed
1147
        }
Mark Otto's avatar
grunt    
Mark Otto committed
1148
      }
Jacob Thornton's avatar
Jacob Thornton committed
1149

Mark Otto's avatar
grunt    
Mark Otto committed
1150
      if (actives) {
Mark Otto's avatar
dist    
Mark Otto committed
1151
        activesData = $$$1(actives).not(this._selector).data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
1152

Mark Otto's avatar
grunt    
Mark Otto committed
1153
        if (activesData && activesData._isTransitioning) {
Jacob Thornton's avatar
Jacob Thornton committed
1154
1155
          return;
        }
Mark Otto's avatar
grunt    
Mark Otto committed
1156
      }
Jacob Thornton's avatar
Jacob Thornton committed
1157

Mark Otto's avatar
dist    
Mark Otto committed
1158
1159
      var startEvent = $$$1.Event(Event.SHOW);
      $$$1(this._element).trigger(startEvent);
Mark Otto's avatar
dist    
Mark Otto committed
1160

Mark Otto's avatar
grunt    
Mark Otto committed
1161
1162
1163
1164
1165
      if (startEvent.isDefaultPrevented()) {
        return;
      }

      if (actives) {
Mark Otto's avatar
dist    
Mark Otto committed
1166
        Collapse._jQueryInterface.call($$$1(actives).not(this._selector), 'hide');
Mark Otto's avatar
dist    
Mark Otto committed
1167

Mark Otto's avatar
grunt    
Mark Otto committed
1168
        if (!activesData) {
Mark Otto's avatar
dist    
Mark Otto committed
1169
          $$$1(actives).data(DATA_KEY, null);
Jacob Thornton's avatar
Jacob Thornton committed
1170
        }
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
      var dimension = this._getDimension();
Jacob Thornton's avatar
Jacob Thornton committed
1174

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

Mark Otto's avatar
dist    
Mark Otto committed
1178
      if (this._triggerArray.length > 0) {
Mark Otto's avatar
dist    
Mark Otto committed
1179
        $$$1(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
Mark Otto's avatar
grunt    
Mark Otto committed
1180
      }
Jacob Thornton's avatar
Jacob Thornton committed
1181

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
1190
        $$$1(_this._element).trigger(Event.SHOWN);
Mark Otto's avatar
grunt    
Mark Otto committed
1191
      };
Jacob Thornton's avatar
Jacob Thornton committed
1192

Mark Otto's avatar
grunt    
Mark Otto committed
1193
1194
1195
1196
      if (!Util.supportsTransitionEnd()) {
        complete();
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1197

Mark Otto's avatar
grunt    
Mark Otto committed
1198
      var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
Mark Otto's avatar
dist    
Mark Otto committed
1199
      var scrollSize = "scroll" + capitalizedDimension;
Mark Otto's avatar
dist    
Mark Otto committed
1200
      $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
Mark Otto's avatar
dist    
Mark Otto committed
1201
      this._element.style[dimension] = this._element[scrollSize] + "px";
Mark Otto's avatar
grunt    
Mark Otto committed
1202
    };
Jacob Thornton's avatar
Jacob Thornton committed
1203

Mark Otto's avatar
dist    
Mark Otto committed
1204
    _proto.hide = function hide() {
Mark Otto's avatar
dist    
Mark Otto committed
1205
      var _this2 = this;
Jacob Thornton's avatar
Jacob Thornton committed
1206

Mark Otto's avatar
dist    
Mark Otto committed
1207
      if (this._isTransitioning || !$$$1(this._element).hasClass(ClassName.SHOW)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1208
1209
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1210

Mark Otto's avatar
dist    
Mark Otto committed
1211
1212
      var startEvent = $$$1.Event(Event.HIDE);
      $$$1(this._element).trigger(startEvent);
Mark Otto's avatar
dist    
Mark Otto committed
1213

Mark Otto's avatar
grunt    
Mark Otto committed
1214
1215
1216
      if (startEvent.isDefaultPrevented()) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1217

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

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

Mark Otto's avatar
dist    
Mark Otto committed
1224
      if (this._triggerArray.length > 0) {
Mark Otto's avatar
build    
Mark Otto committed
1225
1226
1227
        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
1228

Mark Otto's avatar
build    
Mark Otto committed
1229
          if (selector !== null) {
Mark Otto's avatar
dist    
Mark Otto committed
1230
            var $elem = $$$1(selector);
Mark Otto's avatar
dist    
Mark Otto committed
1231

Mark Otto's avatar
build    
Mark Otto committed
1232
            if (!$elem.hasClass(ClassName.SHOW)) {
Mark Otto's avatar
dist    
Mark Otto committed
1233
              $$$1(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
Mark Otto's avatar
build    
Mark Otto committed
1234
1235
1236
            }
          }
        }
Mark Otto's avatar
grunt    
Mark Otto committed
1237
      }
Jacob Thornton's avatar
Jacob Thornton committed
1238

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

Mark Otto's avatar
grunt    
Mark Otto committed
1241
      var complete = function complete() {
Mark Otto's avatar
dist    
Mark Otto committed
1242
        _this2.setTransitioning(false);
Mark Otto's avatar
dist    
Mark Otto committed
1243

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
1249
1250
1251
      if (!Util.supportsTransitionEnd()) {
        complete();
        return;
Jacob Thornton's avatar
Jacob Thornton committed
1252
1253
      }

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

Mark Otto's avatar
dist    
Mark Otto committed
1257
    _proto.setTransitioning = function setTransitioning(isTransitioning) {
Mark Otto's avatar
grunt    
Mark Otto committed
1258
1259
      this._isTransitioning = isTransitioning;
    };
Jacob Thornton's avatar
Jacob Thornton committed
1260

Mark Otto's avatar
dist    
Mark Otto committed
1261
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
1262
      $$$1.removeData(this._element, DATA_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
1263
1264
1265
1266
1267
      this._config = null;
      this._parent = null;
      this._element = null;
      this._triggerArray = null;
      this._isTransitioning = null;
Mark Otto's avatar
dist    
Mark Otto committed
1268
    }; // Private
Jacob Thornton's avatar
Jacob Thornton committed
1269
1270


Mark Otto's avatar
dist    
Mark Otto committed
1271
    _proto._getConfig = function _getConfig(config) {
Mark Otto's avatar
dist    
Mark Otto committed
1272
      config = _extends({}, Default, config);
Mark Otto's avatar
dist    
Mark Otto committed
1273
      config.toggle = Boolean(config.toggle); // Coerce string values
Mark Otto's avatar
dist    
Mark Otto committed
1274

Mark Otto's avatar
Mark Otto committed
1275
      Util.typeCheckConfig(NAME, config, DefaultType);
Mark Otto's avatar
grunt    
Mark Otto committed
1276
1277
1278
      return config;
    };

Mark Otto's avatar
dist    
Mark Otto committed
1279
    _proto._getDimension = function _getDimension() {
Mark Otto's avatar
dist    
Mark Otto committed
1280
      var hasWidth = $$$1(this._element).hasClass(Dimension.WIDTH);
Mark Otto's avatar
grunt    
Mark Otto committed
1281
1282
1283
      return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
    };

Mark Otto's avatar
dist    
Mark Otto committed
1284
    _proto._getParent = function _getParent() {
Mark Otto's avatar
dist    
Mark Otto committed
1285
      var _this3 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
1286

Mark Otto's avatar
dist    
Mark Otto committed
1287
      var parent = null;
Mark Otto's avatar
grunt    
Mark Otto committed
1288

Mark Otto's avatar
dist    
Mark Otto committed
1289
      if (Util.isElement(this._config.parent)) {
Mark Otto's avatar
dist    
Mark Otto committed
1290
        parent = this._config.parent; // It's a jQuery object
Mark Otto's avatar
dist    
Mark Otto committed
1291
1292
1293
1294
1295

        if (typeof this._config.parent.jquery !== 'undefined') {
          parent = this._config.parent[0];
        }
      } else {
Mark Otto's avatar
dist    
Mark Otto committed
1296
        parent = $$$1(this._config.parent)[0];
Mark Otto's avatar
dist    
Mark Otto committed
1297
1298
1299
      }

      var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
Mark Otto's avatar
dist    
Mark Otto committed
1300
      $$$1(parent).find(selector).each(function (i, element) {
Mark Otto's avatar
dist    
Mark Otto committed
1301
        _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
Mark Otto's avatar
grunt    
Mark Otto committed
1302
1303
1304
1305
      });
      return parent;
    };

Mark Otto's avatar
dist    
Mark Otto committed
1306
    _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
Mark Otto's avatar
grunt    
Mark Otto committed
1307
      if (element) {
Mark Otto's avatar
dist    
Mark Otto committed
1308
        var isOpen = $$$1(element).hasClass(ClassName.SHOW);
Mark Otto's avatar
grunt    
Mark Otto committed
1309

Mark Otto's avatar
dist    
Mark Otto committed
1310
        if (triggerArray.length > 0) {
Mark Otto's avatar
dist    
Mark Otto committed
1311
          $$$1(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
Jacob Thornton's avatar
Jacob Thornton committed
1312
1313
        }
      }
Mark Otto's avatar
dist    
Mark Otto committed
1314
    }; // Static
Jacob Thornton's avatar
Jacob Thornton committed
1315
1316


Mark Otto's avatar
grunt    
Mark Otto committed
1317
1318
    Collapse._getTargetFromElement = function _getTargetFromElement(element) {
      var selector = Util.getSelectorFromElement(element);
Mark Otto's avatar
dist    
Mark Otto committed
1319
      return selector ? $$$1(selector)[0] : null;
Mark Otto's avatar
grunt    
Mark Otto committed
1320
    };
Jacob Thornton's avatar
Jacob Thornton committed
1321

Mark Otto's avatar
grunt    
Mark Otto committed
1322
1323
    Collapse._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
1324
        var $this = $$$1(this);
Mark Otto's avatar
grunt    
Mark Otto committed
1325
        var data = $this.data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
1326

Mark Otto's avatar
dist    
Mark Otto committed
1327
        var _config = _extends({}, Default, $this.data(), typeof config === 'object' && config);
Jacob Thornton's avatar
Jacob Thornton committed
1328

Mark Otto's avatar
grunt    
Mark Otto committed
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
        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
1339
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
1340
            throw new TypeError("No method named \"" + config + "\"");
Jacob Thornton's avatar
Jacob Thornton committed
1341
          }
Mark Otto's avatar
dist    
Mark Otto committed
1342

Mark Otto's avatar
grunt    
Mark Otto committed
1343
1344
1345
1346
1347
          data[config]();
        }
      });
    };

Mark Otto's avatar
Mark Otto committed
1348
    _createClass(Collapse, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
1349
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
1350
1351
1352
1353
      get: function get() {
        return VERSION;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
1354
      key: "Default",
Jacob Thornton's avatar
Jacob Thornton committed
1355
1356
1357
1358
1359
      get: function get() {
        return Default;
      }
    }]);
    return Collapse;
Mark Otto's avatar
grunt    
Mark Otto committed
1360
1361
1362
1363
1364
1365
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
1366

Mark Otto's avatar
dist    
Mark Otto committed
1367

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

Mark Otto's avatar
dist    
Mark Otto committed
1374
    var $trigger = $$$1(this);
Mark Otto's avatar
build    
Mark Otto committed
1375
    var selector = Util.getSelectorFromElement(this);
Mark Otto's avatar
dist    
Mark Otto committed
1376
1377
    $$$1(selector).each(function () {
      var $target = $$$1(this);
Mark Otto's avatar
build    
Mark Otto committed
1378
1379
      var data = $target.data(DATA_KEY);
      var config = data ? 'toggle' : $trigger.data();
Mark Otto's avatar
dist    
Mark Otto committed
1380

Mark Otto's avatar
build    
Mark Otto committed
1381
1382
      Collapse._jQueryInterface.call($target, config);
    });
Mark Otto's avatar
Mark Otto committed
1383
  });
Jacob Thornton's avatar
Jacob Thornton committed
1384
1385
1386
1387
1388
1389
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
1390
1391
  $$$1.fn[NAME] = Collapse._jQueryInterface;
  $$$1.fn[NAME].Constructor = Collapse;
Mark Otto's avatar
dist    
Mark Otto committed
1392

Mark Otto's avatar
dist    
Mark Otto committed
1393
1394
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Jacob Thornton's avatar
Jacob Thornton committed
1395
1396
1397
1398
    return Collapse._jQueryInterface;
  };

  return Collapse;
Mark Otto's avatar
dist    
Mark Otto committed
1399
}($);
Jacob Thornton's avatar
Jacob Thornton committed
1400
1401
1402

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
1403
 * Bootstrap (v4.0.0): dropdown.js
Jacob Thornton's avatar
Jacob Thornton committed
1404
1405
1406
1407
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
1408
var Dropdown = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
1409
1410
1411
1412
1413
1414
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'dropdown';
Mark Otto's avatar
Mark Otto committed
1415
  var VERSION = '4.0.0';
Jacob Thornton's avatar
Jacob Thornton committed
1416
  var DATA_KEY = 'bs.dropdown';
Mark Otto's avatar
dist    
Mark Otto committed
1417
  var EVENT_KEY = "." + DATA_KEY;
Jacob Thornton's avatar
Jacob Thornton committed
1418
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
1419
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Chris Rebert's avatar
grunt    
Chris Rebert committed
1420
  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
Mark Otto's avatar
dist    
Mark Otto committed
1421

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

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

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

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

Chris Rebert's avatar
grunt    
Chris Rebert committed
1430
  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
1431

Mark Otto's avatar
dist    
Mark Otto committed
1432
  var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
Jacob Thornton's avatar
Jacob Thornton committed
1433
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
1434
1435
1436
1437
1438
1439
1440
1441
    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
1442
1443
1444
  };
  var ClassName = {
    DISABLED: 'disabled',
Mark Otto's avatar
build    
Mark Otto committed
1445
1446
    SHOW: 'show',
    DROPUP: 'dropup',
Mark Otto's avatar
dist    
Mark Otto committed
1447
1448
    DROPRIGHT: 'dropright',
    DROPLEFT: 'dropleft',
Mark Otto's avatar
build    
Mark Otto committed
1449
    MENURIGHT: 'dropdown-menu-right',
Mark Otto's avatar
dist    
Mark Otto committed
1450
1451
    MENULEFT: 'dropdown-menu-left',
    POSITION_STATIC: 'position-static'
Jacob Thornton's avatar
Jacob Thornton committed
1452
1453
1454
1455
  };
  var Selector = {
    DATA_TOGGLE: '[data-toggle="dropdown"]',
    FORM_CHILD: '.dropdown form',
Mark Otto's avatar
grunt    
Mark Otto committed
1456
    MENU: '.dropdown-menu',
Jacob Thornton's avatar
Jacob Thornton committed
1457
    NAVBAR_NAV: '.navbar-nav',
Mark Otto's avatar
grunt    
Mark Otto committed
1458
    VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)'
Jacob Thornton's avatar
Jacob Thornton committed
1459
  };
Johann-S's avatar
build    
Johann-S committed
1460
1461
  var AttachmentMap = {
    TOP: 'top-start',
Mark Otto's avatar
build    
Mark Otto committed
1462
1463
    TOPEND: 'top-end',
    BOTTOM: 'bottom-start',
Mark Otto's avatar
dist    
Mark Otto committed
1464
1465
1466
1467
1468
    BOTTOMEND: 'bottom-end',
    RIGHT: 'right-start',
    RIGHTEND: 'right-end',
    LEFT: 'left-start',
    LEFTEND: 'left-end'
Johann-S's avatar
build    
Johann-S committed
1469
1470
1471
  };
  var Default = {
    offset: 0,
Mark Otto's avatar
dist    
Mark Otto committed
1472
    flip: true,
Mark Otto's avatar
dist    
Mark Otto committed
1473
    boundary: 'scrollParent',
Mark Otto's avatar
dist    
Mark Otto committed
1474
1475
    reference: 'toggle',
    display: 'dynamic'
Johann-S's avatar
build    
Johann-S committed
1476
1477
  };
  var DefaultType = {
Mark Otto's avatar
dist    
Mark Otto committed
1478
    offset: '(number|string|function)',
Mark Otto's avatar
dist    
Mark Otto committed
1479
    flip: 'boolean',
Mark Otto's avatar
dist    
Mark Otto committed
1480
    boundary: '(string|element)',
Mark Otto's avatar
dist    
Mark Otto committed
1481
1482
    reference: '(string|element)',
    display: 'string'
Mark Otto's avatar
dist    
Mark Otto committed
1483
1484
1485
1486
1487
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
1488

Mark Otto's avatar
dist    
Mark Otto committed
1489
  };
Jacob Thornton's avatar
Jacob Thornton committed
1490

Mark Otto's avatar
dist    
Mark Otto committed
1491
1492
1493
1494
  var Dropdown =
  /*#__PURE__*/
  function () {
    function Dropdown(element, config) {
Jacob Thornton's avatar
Jacob Thornton committed
1495
      this._element = element;
Johann-S's avatar
build    
Johann-S committed
1496
1497
1498
      this._popper = null;
      this._config = this._getConfig(config);
      this._menu = this._getMenuElement();
Mark Otto's avatar
build    
Mark Otto committed
1499
      this._inNavbar = this._detectNavbar();
Jacob Thornton's avatar
Jacob Thornton committed
1500
1501

      this._addEventListeners();
Mark Otto's avatar
dist    
Mark Otto committed
1502
    } // Getters
Jacob Thornton's avatar
Jacob Thornton committed
1503
1504


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

Mark Otto's avatar
dist    
Mark Otto committed
1507
    // Public
Mark Otto's avatar
dist    
Mark Otto committed
1508
    _proto.toggle = function toggle() {
Mark Otto's avatar
dist    
Mark Otto committed
1509
      if (this._element.disabled || $$$1(this._element).hasClass(ClassName.DISABLED)) {
Johann-S's avatar
build    
Johann-S committed
1510
        return;
Mark Otto's avatar
grunt    
Mark Otto committed
1511
      }
Jacob Thornton's avatar
Jacob Thornton committed
1512

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
1517
      Dropdown._clearMenus();
Jacob Thornton's avatar
Jacob Thornton committed
1518

Mark Otto's avatar
grunt    
Mark Otto committed
1519
      if (isActive) {
Johann-S's avatar
build    
Johann-S committed
1520
        return;
Mark Otto's avatar
grunt    
Mark Otto committed
1521
      }
Jacob Thornton's avatar
Jacob Thornton committed
1522

Mark Otto's avatar
grunt    
Mark Otto committed
1523
      var relatedTarget = {
Johann-S's avatar
build    
Johann-S committed
1524
        relatedTarget: this._element
Mark Otto's avatar
grunt    
Mark Otto committed
1525
      };
Mark Otto's avatar
dist    
Mark Otto committed
1526
1527
      var showEvent = $$$1.Event(Event.SHOW, relatedTarget);
      $$$1(parent).trigger(showEvent);
Jacob Thornton's avatar
Jacob Thornton committed
1528

Mark Otto's avatar
grunt    
Mark Otto committed
1529
      if (showEvent.isDefaultPrevented()) {
Johann-S's avatar
build    
Johann-S committed
1530
        return;
Mark Otto's avatar
dist    
Mark Otto committed
1531
      } // Disable totally Popper.js for Dropdown in Navbar
Mark Otto's avatar
dist    
Mark Otto committed
1532
1533


Mark Otto's avatar
dist    
Mark Otto committed
1534
1535
1536
1537
1538
1539
      if (!this._inNavbar) {
        /**
         * Check for Popper dependency
         * Popper - https://popper.js.org
         */
        if (typeof Popper === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
1540
          throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
Mark Otto's avatar
dist    
Mark Otto committed
1541
        }
Jacob Thornton's avatar
Jacob Thornton committed
1542

Mark Otto's avatar
dist    
Mark Otto committed
1543
1544
1545
1546
1547
1548
        var referenceElement = this._element;

        if (this._config.reference === 'parent') {
          referenceElement = parent;
        } else if (Util.isElement(this._config.reference)) {
          referenceElement = this._config.reference; // Check if it's jQuery element
Mark Otto's avatar
dist    
Mark Otto committed
1549

Mark Otto's avatar
dist    
Mark Otto committed
1550
1551
          if (typeof this._config.reference.jquery !== 'undefined') {
            referenceElement = this._config.reference[0];
Mark Otto's avatar
dist    
Mark Otto committed
1552
          }
Mark Otto's avatar
dist    
Mark Otto committed
1553
1554
1555
1556
1557
1558
1559
        } // If boundary is not `scrollParent`, then set position to `static`
        // to allow the menu to "escape" the scroll parent's boundaries
        // https://github.com/twbs/bootstrap/issues/24251


        if (this._config.boundary !== 'scrollParent') {
          $$$1(parent).addClass(ClassName.POSITION_STATIC);
Mark Otto's avatar
build    
Mark Otto committed
1560
        }
Johann-S's avatar
build    
Johann-S committed
1561

Mark Otto's avatar
dist    
Mark Otto committed
1562
        this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
Mark Otto's avatar
dist    
Mark Otto committed
1563
      } // If this is a touch-enabled device we add extra
Mark Otto's avatar
grunt    
Mark Otto committed
1564
1565
1566
      // 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
1567

Mark Otto's avatar
dist    
Mark Otto committed
1568

Mark Otto's avatar
dist    
Mark Otto committed
1569
      if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) {
Mark Otto's avatar
dist    
Mark Otto committed
1570
        $$$1(document.body).children().on('mouseover', null, $$$1.noop);
Mark Otto's avatar
grunt    
Mark Otto committed
1571
1572
      }

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

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

Mark Otto's avatar
dist    
Mark Otto committed
1577
1578
      $$$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
1579
    };
Jacob Thornton's avatar
Jacob Thornton committed
1580

Mark Otto's avatar
dist    
Mark Otto committed
1581
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
1582
1583
      $$$1.removeData(this._element, DATA_KEY);
      $$$1(this._element).off(EVENT_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
1584
      this._element = null;
Johann-S's avatar
build    
Johann-S committed
1585
      this._menu = null;
Mark Otto's avatar
dist    
Mark Otto committed
1586

Johann-S's avatar
build    
Johann-S committed
1587
1588
      if (this._popper !== null) {
        this._popper.destroy();
Mark Otto's avatar
dist    
Mark Otto committed
1589

Mark Otto's avatar
dist    
Mark Otto committed
1590
1591
        this._popper = null;
      }
Johann-S's avatar
build    
Johann-S committed
1592
1593
    };

Mark Otto's avatar
dist    
Mark Otto committed
1594
    _proto.update = function update() {
Mark Otto's avatar
build    
Mark Otto committed
1595
      this._inNavbar = this._detectNavbar();
Mark Otto's avatar
dist    
Mark Otto committed
1596

Johann-S's avatar
build    
Johann-S committed
1597
1598
1599
      if (this._popper !== null) {
        this._popper.scheduleUpdate();
      }
Mark Otto's avatar
dist    
Mark Otto committed
1600
    }; // Private
Jacob Thornton's avatar
Jacob Thornton committed
1601
1602


Mark Otto's avatar
dist    
Mark Otto committed
1603
    _proto._addEventListeners = function _addEventListeners() {
Mark Otto's avatar
dist    
Mark Otto committed
1604
      var _this = this;
Johann-S's avatar
build    
Johann-S committed
1605

Mark Otto's avatar
dist    
Mark Otto committed
1606
      $$$1(this._element).on(Event.CLICK, function (event) {
Johann-S's avatar
build    
Johann-S committed
1607
1608
        event.preventDefault();
        event.stopPropagation();
Mark Otto's avatar
dist    
Mark Otto committed
1609

Mark Otto's avatar
dist    
Mark Otto committed
1610
        _this.toggle();
Johann-S's avatar
build    
Johann-S committed
1611
1612
1613
      });
    };

Mark Otto's avatar
dist    
Mark Otto committed
1614
    _proto._getConfig = function _getConfig(config) {
Mark Otto's avatar
dist    
Mark Otto committed
1615
      config = _extends({}, this.constructor.Default, $$$1(this._element).data(), config);
Johann-S's avatar
build    
Johann-S committed
1616
1617
1618
1619
      Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
      return config;
    };

Mark Otto's avatar
dist    
Mark Otto committed
1620
    _proto._getMenuElement = function _getMenuElement() {
Johann-S's avatar
build    
Johann-S committed
1621
1622
      if (!this._menu) {
        var parent = Dropdown._getParentFromElement(this._element);
Mark Otto's avatar
dist    
Mark Otto committed
1623

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

Johann-S's avatar
build    
Johann-S committed
1627
      return this._menu;
Mark Otto's avatar
grunt    
Mark Otto committed
1628
    };
Jacob Thornton's avatar
Jacob Thornton committed
1629

Mark Otto's avatar
dist    
Mark Otto committed
1630
    _proto._getPlacement = function _getPlacement() {
Mark Otto's avatar
dist    
Mark Otto committed
1631
      var $parentDropdown = $$$1(this._element).parent();
Mark Otto's avatar
dist    
Mark Otto committed
1632
      var placement = AttachmentMap.BOTTOM; // Handle dropup
Mark Otto's avatar
build    
Mark Otto committed
1633

Mark Otto's avatar
dist    
Mark Otto committed
1634
      if ($parentDropdown.hasClass(ClassName.DROPUP)) {
Mark Otto's avatar
build    
Mark Otto committed
1635
        placement = AttachmentMap.TOP;
Mark Otto's avatar
dist    
Mark Otto committed
1636

Mark Otto's avatar
dist    
Mark Otto committed
1637
        if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
Mark Otto's avatar
build    
Mark Otto committed
1638
1639
          placement = AttachmentMap.TOPEND;
        }
Mark Otto's avatar
dist    
Mark Otto committed
1640
1641
1642
1643
      } 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
1644
      } else if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
Mark Otto's avatar
build    
Mark Otto committed
1645
        placement = AttachmentMap.BOTTOMEND;
Mark Otto's avatar
build    
Mark Otto committed
1646
      }
Mark Otto's avatar
dist    
Mark Otto committed
1647

Mark Otto's avatar
build    
Mark Otto committed
1648
1649
1650
      return placement;
    };

Mark Otto's avatar
dist    
Mark Otto committed
1651
    _proto._detectNavbar = function _detectNavbar() {
Mark Otto's avatar
dist    
Mark Otto committed
1652
      return $$$1(this._element).closest('.navbar').length > 0;
Mark Otto's avatar
build    
Mark Otto committed
1653
1654
    };

Mark Otto's avatar
dist    
Mark Otto committed
1655
    _proto._getPopperConfig = function _getPopperConfig() {
Mark Otto's avatar
dist    
Mark Otto committed
1656
1657
1658
1659
1660
1661
      var _this2 = this;

      var offsetConf = {};

      if (typeof this._config.offset === 'function') {
        offsetConf.fn = function (data) {
Mark Otto's avatar
dist    
Mark Otto committed
1662
          data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets) || {});
Mark Otto's avatar
dist    
Mark Otto committed
1663
1664
1665
1666
1667
1668
          return data;
        };
      } else {
        offsetConf.offset = this._config.offset;
      }

Mark Otto's avatar
build    
Mark Otto committed
1669
1670
1671
      var popperConfig = {
        placement: this._getPlacement(),
        modifiers: {
Mark Otto's avatar
dist    
Mark Otto committed
1672
          offset: offsetConf,
Mark Otto's avatar
build    
Mark Otto committed
1673
1674
          flip: {
            enabled: this._config.flip
Mark Otto's avatar
dist    
Mark Otto committed
1675
1676
1677
          },
          preventOverflow: {
            boundariesElement: this._config.boundary
Mark Otto's avatar
build    
Mark Otto committed
1678
          }
Mark Otto's avatar
dist    
Mark Otto committed
1679
1680
        } // Disable Popper.js if we have a static display

Mark Otto's avatar
dist    
Mark Otto committed
1681
      };
Mark Otto's avatar
dist    
Mark Otto committed
1682
1683
1684
1685
1686
1687
1688

      if (this._config.display === 'static') {
        popperConfig.modifiers.applyStyle = {
          enabled: false
        };
      }

Mark Otto's avatar
build    
Mark Otto committed
1689
      return popperConfig;
Mark Otto's avatar
dist    
Mark Otto committed
1690
    }; // Static
Mark Otto's avatar
build    
Mark Otto committed
1691

Jacob Thornton's avatar
Jacob Thornton committed
1692

Mark Otto's avatar
grunt    
Mark Otto committed
1693
1694
    Dropdown._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
1695
        var data = $$$1(this).data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
1696
1697

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

Mark Otto's avatar
grunt    
Mark Otto committed
1699
        if (!data) {
Johann-S's avatar
build    
Johann-S committed
1700
          data = new Dropdown(this, _config);
Mark Otto's avatar
dist    
Mark Otto committed
1701
          $$$1(this).data(DATA_KEY, data);
Jacob Thornton's avatar
Jacob Thornton committed
1702
1703
        }

Mark Otto's avatar
grunt    
Mark Otto committed
1704
        if (typeof config === 'string') {
Mark Otto's avatar
dist    
Mark Otto committed
1705
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
1706
            throw new TypeError("No method named \"" + config + "\"");
Mark Otto's avatar
grunt    
Mark Otto committed
1707
          }
Mark Otto's avatar
dist    
Mark Otto committed
1708

Johann-S's avatar
build    
Johann-S committed
1709
          data[config]();
Jacob Thornton's avatar
Jacob Thornton committed
1710
        }
Mark Otto's avatar
grunt    
Mark Otto committed
1711
1712
      });
    };
Jacob Thornton's avatar
Jacob Thornton committed
1713

Mark Otto's avatar
grunt    
Mark Otto committed
1714
    Dropdown._clearMenus = function _clearMenus(event) {
Mark Otto's avatar
grunt    
Mark Otto committed
1715
      if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1716
1717
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1718

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

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

Mark Otto's avatar
dist    
Mark Otto committed
1724
        var context = $$$1(toggles[i]).data(DATA_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
1725
1726
1727
        var relatedTarget = {
          relatedTarget: toggles[i]
        };
Jacob Thornton's avatar
Jacob Thornton committed
1728

Johann-S's avatar
build    
Johann-S committed
1729
1730
1731
1732
1733
        if (!context) {
          continue;
        }

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

Mark Otto's avatar
dist    
Mark Otto committed
1735
        if (!$$$1(parent).hasClass(ClassName.SHOW)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1736
1737
          continue;
        }
Jacob Thornton's avatar
Jacob Thornton committed
1738

Mark Otto's avatar
dist    
Mark Otto committed
1739
        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
1740
1741
          continue;
        }
Jacob Thornton's avatar
Jacob Thornton committed
1742

Mark Otto's avatar
dist    
Mark Otto committed
1743
1744
        var hideEvent = $$$1.Event(Event.HIDE, relatedTarget);
        $$$1(parent).trigger(hideEvent);
Mark Otto's avatar
dist    
Mark Otto committed
1745

Mark Otto's avatar
grunt    
Mark Otto committed
1746
1747
        if (hideEvent.isDefaultPrevented()) {
          continue;
Mark Otto's avatar
dist    
Mark Otto committed
1748
        } // If this is a touch-enabled device we remove the extra
Mark Otto's avatar
grunt    
Mark Otto committed
1749
        // empty mouseover listeners we added for iOS support
Mark Otto's avatar
dist    
Mark Otto committed
1750
1751


Mark Otto's avatar
grunt    
Mark Otto committed
1752
        if ('ontouchstart' in document.documentElement) {
Mark Otto's avatar
dist    
Mark Otto committed
1753
          $$$1(document.body).children().off('mouseover', null, $$$1.noop);
Mark Otto's avatar
grunt    
Mark Otto committed
1754
1755
        }

Mark Otto's avatar
grunt    
Mark Otto committed
1756
        toggles[i].setAttribute('aria-expanded', 'false');
Mark Otto's avatar
dist    
Mark Otto committed
1757
1758
        $$$1(dropdownMenu).removeClass(ClassName.SHOW);
        $$$1(parent).removeClass(ClassName.SHOW).trigger($$$1.Event(Event.HIDDEN, relatedTarget));
Jacob Thornton's avatar
Jacob Thornton committed
1759
      }
Mark Otto's avatar
grunt    
Mark Otto committed
1760
    };
Jacob Thornton's avatar
Jacob Thornton committed
1761

Mark Otto's avatar
grunt    
Mark Otto committed
1762
    Dropdown._getParentFromElement = function _getParentFromElement(element) {
Mark Otto's avatar
dist    
Mark Otto committed
1763
      var parent;
Mark Otto's avatar
grunt    
Mark Otto committed
1764
      var selector = Util.getSelectorFromElement(element);
Jacob Thornton's avatar
Jacob Thornton committed
1765

Mark Otto's avatar
grunt    
Mark Otto committed
1766
      if (selector) {
Mark Otto's avatar
dist    
Mark Otto committed
1767
        parent = $$$1(selector)[0];
Jacob Thornton's avatar
Jacob Thornton committed
1768
1769
      }

Mark Otto's avatar
grunt    
Mark Otto committed
1770
      return parent || element.parentNode;
Mark Otto's avatar
dist    
Mark Otto committed
1771
1772
    }; // eslint-disable-next-line complexity

Jacob Thornton's avatar
Jacob Thornton committed
1773

Mark Otto's avatar
grunt    
Mark Otto committed
1774
    Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
Mark Otto's avatar
dist    
Mark Otto committed
1775
1776
1777
1778
1779
1780
1781
1782
      // 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
1783
1784
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1785

Mark Otto's avatar
grunt    
Mark Otto committed
1786
1787
      event.preventDefault();
      event.stopPropagation();
Jacob Thornton's avatar
Jacob Thornton committed
1788

Mark Otto's avatar
dist    
Mark Otto committed
1789
      if (this.disabled || $$$1(this).hasClass(ClassName.DISABLED)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1790
1791
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1792

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
1797
      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
1798
        if (event.which === ESCAPE_KEYCODE) {
Mark Otto's avatar
dist    
Mark Otto committed
1799
1800
          var toggle = $$$1(parent).find(Selector.DATA_TOGGLE)[0];
          $$$1(toggle).trigger('focus');
Jacob Thornton's avatar
Jacob Thornton committed
1801
1802
        }

Mark Otto's avatar
dist    
Mark Otto committed
1803
        $$$1(this).trigger('click');
Mark Otto's avatar
grunt    
Mark Otto committed
1804
1805
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1806

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

Mark Otto's avatar
dist    
Mark Otto committed
1809
      if (items.length === 0) {
Mark Otto's avatar
grunt    
Mark Otto committed
1810
1811
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1812

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

Mark Otto's avatar
grunt    
Mark Otto committed
1815
      if (event.which === ARROW_UP_KEYCODE && index > 0) {
Mark Otto's avatar
dist    
Mark Otto committed
1816
        // Up
Mark Otto's avatar
grunt    
Mark Otto committed
1817
1818
        index--;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1819

Mark Otto's avatar
grunt    
Mark Otto committed
1820
      if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
Mark Otto's avatar
dist    
Mark Otto committed
1821
        // Down
Mark Otto's avatar
grunt    
Mark Otto committed
1822
1823
        index++;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1824

Mark Otto's avatar
grunt    
Mark Otto committed
1825
1826
      if (index < 0) {
        index = 0;
Jacob Thornton's avatar
Jacob Thornton committed
1827
      }
Mark Otto's avatar
grunt    
Mark Otto committed
1828
1829
1830
1831

      items[index].focus();
    };

Mark Otto's avatar
Mark Otto committed
1832
    _createClass(Dropdown, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
1833
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
1834
1835
1836
      get: function get() {
        return VERSION;
      }
Johann-S's avatar
build    
Johann-S committed
1837
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
1838
      key: "Default",
Johann-S's avatar
build    
Johann-S committed
1839
1840
1841
1842
      get: function get() {
        return Default;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
1843
      key: "DefaultType",
Johann-S's avatar
build    
Johann-S committed
1844
1845
1846
      get: function get() {
        return DefaultType;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1847
1848
    }]);
    return Dropdown;
Mark Otto's avatar
grunt    
Mark Otto committed
1849
1850
1851
1852
1853
1854
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
1855

Mark Otto's avatar
dist    
Mark Otto committed
1856

Mark Otto's avatar
dist    
Mark Otto committed
1857
  $$$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
1858
1859
    event.preventDefault();
    event.stopPropagation();
Mark Otto's avatar
dist    
Mark Otto committed
1860

Mark Otto's avatar
dist    
Mark Otto committed
1861
    Dropdown._jQueryInterface.call($$$1(this), 'toggle');
Johann-S's avatar
build    
Johann-S committed
1862
  }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
Jacob Thornton's avatar
Jacob Thornton committed
1863
    e.stopPropagation();
Mark Otto's avatar
Mark Otto committed
1864
  });
Jacob Thornton's avatar
Jacob Thornton committed
1865
1866
1867
1868
1869
1870
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
1871
1872
  $$$1.fn[NAME] = Dropdown._jQueryInterface;
  $$$1.fn[NAME].Constructor = Dropdown;
Mark Otto's avatar
dist    
Mark Otto committed
1873

Mark Otto's avatar
dist    
Mark Otto committed
1874
1875
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Jacob Thornton's avatar
Jacob Thornton committed
1876
1877
1878
1879
    return Dropdown._jQueryInterface;
  };

  return Dropdown;
Mark Otto's avatar
dist    
Mark Otto committed
1880
}($, Popper);
Jacob Thornton's avatar
Jacob Thornton committed
1881
1882
1883

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
1884
 * Bootstrap (v4.0.0): modal.js
Jacob Thornton's avatar
Jacob Thornton committed
1885
1886
1887
1888
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
1889
var Modal = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
1890
1891
1892
1893
1894
1895
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'modal';
Mark Otto's avatar
Mark Otto committed
1896
  var VERSION = '4.0.0';
Jacob Thornton's avatar
Jacob Thornton committed
1897
  var DATA_KEY = 'bs.modal';
Mark Otto's avatar
dist    
Mark Otto committed
1898
  var EVENT_KEY = "." + DATA_KEY;
Jacob Thornton's avatar
Jacob Thornton committed
1899
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
1900
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Jacob Thornton's avatar
Jacob Thornton committed
1901
1902
  var TRANSITION_DURATION = 300;
  var BACKDROP_TRANSITION_DURATION = 150;
Chris Rebert's avatar
grunt    
Chris Rebert committed
1903
  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
Jacob Thornton's avatar
Jacob Thornton committed
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917

  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
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
    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
1929
1930
1931
1932
1933
1934
  };
  var ClassName = {
    SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
    BACKDROP: 'modal-backdrop',
    OPEN: 'modal-open',
    FADE: 'fade',
Mark Otto's avatar
grunt    
Mark Otto committed
1935
    SHOW: 'show'
Jacob Thornton's avatar
Jacob Thornton committed
1936
1937
1938
1939
1940
  };
  var Selector = {
    DIALOG: '.modal-dialog',
    DATA_TOGGLE: '[data-toggle="modal"]',
    DATA_DISMISS: '[data-dismiss="modal"]',
Mark Otto's avatar
grunt    
Mark Otto committed
1941
    FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
Mark Otto's avatar
dist    
Mark Otto committed
1942
    STICKY_CONTENT: '.sticky-top',
Mark Otto's avatar
grunt    
Mark Otto committed
1943
    NAVBAR_TOGGLER: '.navbar-toggler'
Mark Otto's avatar
dist    
Mark Otto committed
1944
1945
1946
1947
1948
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
1949

Mark Otto's avatar
dist    
Mark Otto committed
1950
  };
Jacob Thornton's avatar
Jacob Thornton committed
1951

Mark Otto's avatar
dist    
Mark Otto committed
1952
1953
1954
1955
  var Modal =
  /*#__PURE__*/
  function () {
    function Modal(element, config) {
Jacob Thornton's avatar
Jacob Thornton committed
1956
1957
      this._config = this._getConfig(config);
      this._element = element;
Mark Otto's avatar
dist    
Mark Otto committed
1958
      this._dialog = $$$1(element).find(Selector.DIALOG)[0];
Jacob Thornton's avatar
Jacob Thornton committed
1959
1960
1961
1962
1963
1964
      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
1965
    } // Getters
Jacob Thornton's avatar
Jacob Thornton committed
1966
1967


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

Mark Otto's avatar
dist    
Mark Otto committed
1970
    // Public
Mark Otto's avatar
dist    
Mark Otto committed
1971
    _proto.toggle = function toggle(relatedTarget) {
Mark Otto's avatar
grunt    
Mark Otto committed
1972
1973
      return this._isShown ? this.hide() : this.show(relatedTarget);
    };
Jacob Thornton's avatar
Jacob Thornton committed
1974

Mark Otto's avatar
dist    
Mark Otto committed
1975
    _proto.show = function show(relatedTarget) {
Mark Otto's avatar
dist    
Mark Otto committed
1976
      var _this = this;
Jacob Thornton's avatar
Jacob Thornton committed
1977

Mark Otto's avatar
dist    
Mark Otto committed
1978
      if (this._isTransitioning || this._isShown) {
Mark Otto's avatar
grunt    
Mark Otto committed
1979
        return;
Mark Otto's avatar
grunt    
Mark Otto committed
1980
1981
      }

Mark Otto's avatar
dist    
Mark Otto committed
1982
      if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1983
1984
        this._isTransitioning = true;
      }
Mark Otto's avatar
grunt    
Mark Otto committed
1985

Mark Otto's avatar
dist    
Mark Otto committed
1986
      var showEvent = $$$1.Event(Event.SHOW, {
Mark Otto's avatar
grunt    
Mark Otto committed
1987
1988
        relatedTarget: relatedTarget
      });
Mark Otto's avatar
dist    
Mark Otto committed
1989
      $$$1(this._element).trigger(showEvent);
Jacob Thornton's avatar
Jacob Thornton committed
1990

Mark Otto's avatar
grunt    
Mark Otto committed
1991
1992
1993
      if (this._isShown || showEvent.isDefaultPrevented()) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1994

Mark Otto's avatar
grunt    
Mark Otto committed
1995
      this._isShown = true;
Jacob Thornton's avatar
Jacob Thornton committed
1996

Mark Otto's avatar
grunt    
Mark Otto committed
1997
      this._checkScrollbar();
Mark Otto's avatar
dist    
Mark Otto committed
1998

Mark Otto's avatar
grunt    
Mark Otto committed
1999
      this._setScrollbar();
Jacob Thornton's avatar
Jacob Thornton committed
2000

Mark Otto's avatar
dist    
Mark Otto committed
2001
2002
      this._adjustDialog();

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

Mark Otto's avatar
grunt    
Mark Otto committed
2005
      this._setEscapeEvent();
Mark Otto's avatar
dist    
Mark Otto committed
2006

Mark Otto's avatar
grunt    
Mark Otto committed
2007
      this._setResizeEvent();
Jacob Thornton's avatar
Jacob Thornton committed
2008

Mark Otto's avatar
dist    
Mark Otto committed
2009
      $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
2010
        return _this.hide(event);
Mark Otto's avatar
grunt    
Mark Otto committed
2011
      });
Mark Otto's avatar
dist    
Mark Otto committed
2012
2013
2014
      $$$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
2015
            _this._ignoreBackdropClick = true;
Mark Otto's avatar
grunt    
Mark Otto committed
2016
          }
Jacob Thornton's avatar
Jacob Thornton committed
2017
        });
Mark Otto's avatar
grunt    
Mark Otto committed
2018
2019
      });

Mark Otto's avatar
grunt    
Mark Otto committed
2020
      this._showBackdrop(function () {
Mark Otto's avatar
dist    
Mark Otto committed
2021
        return _this._showElement(relatedTarget);
Mark Otto's avatar
grunt    
Mark Otto committed
2022
      });
Mark Otto's avatar
grunt    
Mark Otto committed
2023
    };
Jacob Thornton's avatar
Jacob Thornton committed
2024

Mark Otto's avatar
dist    
Mark Otto committed
2025
    _proto.hide = function hide(event) {
Mark Otto's avatar
dist    
Mark Otto committed
2026
      var _this2 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
2027

Mark Otto's avatar
grunt    
Mark Otto committed
2028
2029
      if (event) {
        event.preventDefault();
Jacob Thornton's avatar
Jacob Thornton committed
2030
2031
      }

Mark Otto's avatar
grunt    
Mark Otto committed
2032
2033
      if (this._isTransitioning || !this._isShown) {
        return;
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
2037
      var hideEvent = $$$1.Event(Event.HIDE);
      $$$1(this._element).trigger(hideEvent);
Jacob Thornton's avatar
Jacob Thornton committed
2038

Mark Otto's avatar
grunt    
Mark Otto committed
2039
2040
2041
      if (!this._isShown || hideEvent.isDefaultPrevented()) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
2042

Mark Otto's avatar
grunt    
Mark Otto committed
2043
      this._isShown = false;
Mark Otto's avatar
dist    
Mark Otto committed
2044
      var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
Mark Otto's avatar
dist    
Mark Otto committed
2045
2046
2047
2048

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

Mark Otto's avatar
grunt    
Mark Otto committed
2050
      this._setEscapeEvent();
Mark Otto's avatar
dist    
Mark Otto committed
2051

Mark Otto's avatar
grunt    
Mark Otto committed
2052
      this._setResizeEvent();
Jacob Thornton's avatar
Jacob Thornton committed
2053

Mark Otto's avatar
dist    
Mark Otto committed
2054
2055
2056
2057
      $$$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
2058

Mark Otto's avatar
grunt    
Mark Otto committed
2059
      if (transition) {
Mark Otto's avatar
dist    
Mark Otto committed
2060
        $$$1(this._element).one(Util.TRANSITION_END, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
2061
          return _this2._hideModal(event);
Mark Otto's avatar
grunt    
Mark Otto committed
2062
        }).emulateTransitionEnd(TRANSITION_DURATION);
Mark Otto's avatar
grunt    
Mark Otto committed
2063
2064
      } else {
        this._hideModal();
Jacob Thornton's avatar
Jacob Thornton committed
2065
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2066
    };
Jacob Thornton's avatar
Jacob Thornton committed
2067

Mark Otto's avatar
dist    
Mark Otto committed
2068
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
2069
2070
      $$$1.removeData(this._element, DATA_KEY);
      $$$1(window, document, this._element, this._backdrop).off(EVENT_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
2071
2072
2073
2074
2075
2076
2077
2078
2079
      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
2080

Mark Otto's avatar
dist    
Mark Otto committed
2081
    _proto.handleUpdate = function handleUpdate() {
Mark Otto's avatar
grunt    
Mark Otto committed
2082
      this._adjustDialog();
Mark Otto's avatar
dist    
Mark Otto committed
2083
    }; // Private
Mark Otto's avatar
grunt    
Mark Otto committed
2084

Jacob Thornton's avatar
Jacob Thornton committed
2085

Mark Otto's avatar
dist    
Mark Otto committed
2086
    _proto._getConfig = function _getConfig(config) {
Mark Otto's avatar
dist    
Mark Otto committed
2087
      config = _extends({}, Default, config);
Mark Otto's avatar
grunt    
Mark Otto committed
2088
2089
2090
      Util.typeCheckConfig(NAME, config, DefaultType);
      return config;
    };
Jacob Thornton's avatar
Jacob Thornton committed
2091

Mark Otto's avatar
dist    
Mark Otto committed
2092
    _proto._showElement = function _showElement(relatedTarget) {
Mark Otto's avatar
dist    
Mark Otto committed
2093
      var _this3 = this;
Jacob Thornton's avatar
Jacob Thornton committed
2094

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

Mark Otto's avatar
grunt    
Mark Otto committed
2097
      if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
Mark Otto's avatar
dist    
Mark Otto committed
2098
        // Don't move modal's DOM position
Mark Otto's avatar
grunt    
Mark Otto committed
2099
2100
        document.body.appendChild(this._element);
      }
Jacob Thornton's avatar
Jacob Thornton committed
2101

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

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
2108
2109
      if (transition) {
        Util.reflow(this._element);
Jacob Thornton's avatar
Jacob Thornton committed
2110
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2111

Mark Otto's avatar
dist    
Mark Otto committed
2112
      $$$1(this._element).addClass(ClassName.SHOW);
Mark Otto's avatar
grunt    
Mark Otto committed
2113
2114
2115

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

Mark Otto's avatar
dist    
Mark Otto committed
2118
      var shownEvent = $$$1.Event(Event.SHOWN, {
Mark Otto's avatar
grunt    
Mark Otto committed
2119
2120
2121
2122
        relatedTarget: relatedTarget
      });

      var transitionComplete = function transitionComplete() {
Mark Otto's avatar
dist    
Mark Otto committed
2123
2124
        if (_this3._config.focus) {
          _this3._element.focus();
Jacob Thornton's avatar
Jacob Thornton committed
2125
        }
Mark Otto's avatar
dist    
Mark Otto committed
2126

Mark Otto's avatar
dist    
Mark Otto committed
2127
        _this3._isTransitioning = false;
Mark Otto's avatar
dist    
Mark Otto committed
2128
        $$$1(_this3._element).trigger(shownEvent);
Mark Otto's avatar
grunt    
Mark Otto committed
2129
2130
2131
      };

      if (transition) {
Mark Otto's avatar
dist    
Mark Otto committed
2132
        $$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
Mark Otto's avatar
grunt    
Mark Otto committed
2133
2134
      } else {
        transitionComplete();
Jacob Thornton's avatar
Jacob Thornton committed
2135
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2136
2137
    };

Mark Otto's avatar
dist    
Mark Otto committed
2138
    _proto._enforceFocus = function _enforceFocus() {
Mark Otto's avatar
dist    
Mark Otto committed
2139
      var _this4 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
2140

Mark Otto's avatar
dist    
Mark Otto committed
2141
      $$$1(document).off(Event.FOCUSIN) // Guard against infinite focus loop
Mark Otto's avatar
Mark Otto committed
2142
      .on(Event.FOCUSIN, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
2143
        if (document !== event.target && _this4._element !== event.target && $$$1(_this4._element).has(event.target).length === 0) {
Mark Otto's avatar
dist    
Mark Otto committed
2144
          _this4._element.focus();
Jacob Thornton's avatar
Jacob Thornton committed
2145
        }
Mark Otto's avatar
grunt    
Mark Otto committed
2146
2147
2148
      });
    };

Mark Otto's avatar
dist    
Mark Otto committed
2149
    _proto._setEscapeEvent = function _setEscapeEvent() {
Mark Otto's avatar
dist    
Mark Otto committed
2150
      var _this5 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
2151
2152

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

Mark Otto's avatar
dist    
Mark Otto committed
2157
            _this5.hide();
Mark Otto's avatar
grunt    
Mark Otto committed
2158
          }
Jacob Thornton's avatar
Jacob Thornton committed
2159
        });
Mark Otto's avatar
grunt    
Mark Otto committed
2160
      } else if (!this._isShown) {
Mark Otto's avatar
dist    
Mark Otto committed
2161
        $$$1(this._element).off(Event.KEYDOWN_DISMISS);
Jacob Thornton's avatar
Jacob Thornton committed
2162
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2163
2164
    };

Mark Otto's avatar
dist    
Mark Otto committed
2165
    _proto._setResizeEvent = function _setResizeEvent() {
Mark Otto's avatar
dist    
Mark Otto committed
2166
      var _this6 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
2167

Mark Otto's avatar
grunt    
Mark Otto committed
2168
      if (this._isShown) {
Mark Otto's avatar
dist    
Mark Otto committed
2169
        $$$1(window).on(Event.RESIZE, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
2170
          return _this6.handleUpdate(event);
Mark Otto's avatar
grunt    
Mark Otto committed
2171
        });
Mark Otto's avatar
grunt    
Mark Otto committed
2172
      } else {
Mark Otto's avatar
dist    
Mark Otto committed
2173
        $$$1(window).off(Event.RESIZE);
Jacob Thornton's avatar
Jacob Thornton committed
2174
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2175
    };
Jacob Thornton's avatar
Jacob Thornton committed
2176

Mark Otto's avatar
dist    
Mark Otto committed
2177
    _proto._hideModal = function _hideModal() {
Mark Otto's avatar
dist    
Mark Otto committed
2178
      var _this7 = this;
Jacob Thornton's avatar
Jacob Thornton committed
2179

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
2184
      this._isTransitioning = false;
Mark Otto's avatar
dist    
Mark Otto committed
2185

Mark Otto's avatar
grunt    
Mark Otto committed
2186
      this._showBackdrop(function () {
Mark Otto's avatar
dist    
Mark Otto committed
2187
        $$$1(document.body).removeClass(ClassName.OPEN);
Mark Otto's avatar
dist    
Mark Otto committed
2188

Mark Otto's avatar
dist    
Mark Otto committed
2189
        _this7._resetAdjustments();
Mark Otto's avatar
dist    
Mark Otto committed
2190

Mark Otto's avatar
dist    
Mark Otto committed
2191
        _this7._resetScrollbar();
Mark Otto's avatar
dist    
Mark Otto committed
2192

Mark Otto's avatar
dist    
Mark Otto committed
2193
        $$$1(_this7._element).trigger(Event.HIDDEN);
Mark Otto's avatar
grunt    
Mark Otto committed
2194
2195
      });
    };
Jacob Thornton's avatar
Jacob Thornton committed
2196

Mark Otto's avatar
dist    
Mark Otto committed
2197
    _proto._removeBackdrop = function _removeBackdrop() {
Mark Otto's avatar
grunt    
Mark Otto committed
2198
      if (this._backdrop) {
Mark Otto's avatar
dist    
Mark Otto committed
2199
        $$$1(this._backdrop).remove();
Mark Otto's avatar
grunt    
Mark Otto committed
2200
2201
2202
        this._backdrop = null;
      }
    };
Jacob Thornton's avatar
Jacob Thornton committed
2203

Mark Otto's avatar
dist    
Mark Otto committed
2204
    _proto._showBackdrop = function _showBackdrop(callback) {
Mark Otto's avatar
dist    
Mark Otto committed
2205
      var _this8 = this;
Jacob Thornton's avatar
Jacob Thornton committed
2206

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

Mark Otto's avatar
grunt    
Mark Otto committed
2209
2210
2211
2212
2213
2214
      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
2215
          $$$1(this._backdrop).addClass(animate);
Mark Otto's avatar
grunt    
Mark Otto committed
2216
        }
Jacob Thornton's avatar
Jacob Thornton committed
2217

Mark Otto's avatar
dist    
Mark Otto committed
2218
2219
        $$$1(this._backdrop).appendTo(document.body);
        $$$1(this._element).on(Event.CLICK_DISMISS, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
2220
2221
          if (_this8._ignoreBackdropClick) {
            _this8._ignoreBackdropClick = false;
Jacob Thornton's avatar
Jacob Thornton committed
2222
2223
            return;
          }
Mark Otto's avatar
dist    
Mark Otto committed
2224

Mark Otto's avatar
grunt    
Mark Otto committed
2225
          if (event.target !== event.currentTarget) {
Jacob Thornton's avatar
Jacob Thornton committed
2226
2227
            return;
          }
Mark Otto's avatar
dist    
Mark Otto committed
2228

Mark Otto's avatar
dist    
Mark Otto committed
2229
2230
          if (_this8._config.backdrop === 'static') {
            _this8._element.focus();
Mark Otto's avatar
grunt    
Mark Otto committed
2231
          } else {
Mark Otto's avatar
dist    
Mark Otto committed
2232
            _this8.hide();
Mark Otto's avatar
grunt    
Mark Otto committed
2233
2234
          }
        });
Jacob Thornton's avatar
Jacob Thornton committed
2235

Mark Otto's avatar
grunt    
Mark Otto committed
2236
2237
2238
        if (doAnimate) {
          Util.reflow(this._backdrop);
        }
Jacob Thornton's avatar
Jacob Thornton committed
2239

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

Mark Otto's avatar
grunt    
Mark Otto committed
2242
2243
2244
2245
2246
        if (!callback) {
          return;
        }

        if (!doAnimate) {
Jacob Thornton's avatar
Jacob Thornton committed
2247
          callback();
Mark Otto's avatar
grunt    
Mark Otto committed
2248
          return;
Jacob Thornton's avatar
Jacob Thornton committed
2249
2250
        }

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

Mark Otto's avatar
grunt    
Mark Otto committed
2255
        var callbackRemove = function callbackRemove() {
Mark Otto's avatar
dist    
Mark Otto committed
2256
          _this8._removeBackdrop();
Mark Otto's avatar
dist    
Mark Otto committed
2257

Mark Otto's avatar
grunt    
Mark Otto committed
2258
2259
2260
2261
          if (callback) {
            callback();
          }
        };
Jacob Thornton's avatar
Jacob Thornton committed
2262

Mark Otto's avatar
dist    
Mark Otto committed
2263
2264
        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
2265
2266
        } else {
          callbackRemove();
Jacob Thornton's avatar
Jacob Thornton committed
2267
        }
Mark Otto's avatar
grunt    
Mark Otto committed
2268
2269
2270
      } else if (callback) {
        callback();
      }
Mark Otto's avatar
dist    
Mark Otto committed
2271
    }; // ----------------------------------------------------------------------
Mark Otto's avatar
grunt    
Mark Otto committed
2272
2273
2274
2275
    // 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
2276
2277

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

      if (!this._isBodyOverflowing && isModalOverflowing) {
Mark Otto's avatar
dist    
Mark Otto committed
2281
        this._element.style.paddingLeft = this._scrollbarWidth + "px";
Jacob Thornton's avatar
Jacob Thornton committed
2282
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2283
2284

      if (this._isBodyOverflowing && !isModalOverflowing) {
Mark Otto's avatar
dist    
Mark Otto committed
2285
        this._element.style.paddingRight = this._scrollbarWidth + "px";
Jacob Thornton's avatar
Jacob Thornton committed
2286
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2287
2288
    };

Mark Otto's avatar
dist    
Mark Otto committed
2289
    _proto._resetAdjustments = function _resetAdjustments() {
Mark Otto's avatar
grunt    
Mark Otto committed
2290
2291
2292
2293
      this._element.style.paddingLeft = '';
      this._element.style.paddingRight = '';
    };

Mark Otto's avatar
dist    
Mark Otto committed
2294
    _proto._checkScrollbar = function _checkScrollbar() {
Mark Otto's avatar
dist    
Mark Otto committed
2295
2296
      var rect = document.body.getBoundingClientRect();
      this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
Mark Otto's avatar
grunt    
Mark Otto committed
2297
2298
2299
      this._scrollbarWidth = this._getScrollbarWidth();
    };

Mark Otto's avatar
dist    
Mark Otto committed
2300
    _proto._setScrollbar = function _setScrollbar() {
Mark Otto's avatar
dist    
Mark Otto committed
2301
      var _this9 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
2302
2303

      if (this._isBodyOverflowing) {
Mark Otto's avatar
grunt    
Mark Otto committed
2304
2305
2306
        // 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
2307
2308
2309
2310
        $$$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
2311
        }); // Adjust sticky content margin
Mark Otto's avatar
dist    
Mark Otto committed
2312

Mark Otto's avatar
dist    
Mark Otto committed
2313
2314
2315
2316
        $$$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
2317
        }); // Adjust navbar-toggler margin
Mark Otto's avatar
grunt    
Mark Otto committed
2318

Mark Otto's avatar
dist    
Mark Otto committed
2319
2320
2321
2322
        $$$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
2323
        }); // Adjust body padding
Mark Otto's avatar
grunt    
Mark Otto committed
2324

Mark Otto's avatar
Mark Otto committed
2325
        var actualPadding = document.body.style.paddingRight;
Mark Otto's avatar
dist    
Mark Otto committed
2326
2327
        var calculatedPadding = $$$1(document.body).css('padding-right');
        $$$1(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
Jacob Thornton's avatar
Jacob Thornton committed
2328
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2329
    };
Jacob Thornton's avatar
Jacob Thornton committed
2330

Mark Otto's avatar
dist    
Mark Otto committed
2331
    _proto._resetScrollbar = function _resetScrollbar() {
Mark Otto's avatar
grunt    
Mark Otto committed
2332
      // Restore fixed content padding
Mark Otto's avatar
dist    
Mark Otto committed
2333
2334
      $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
        var padding = $$$1(element).data('padding-right');
Mark Otto's avatar
dist    
Mark Otto committed
2335

Mark Otto's avatar
grunt    
Mark Otto committed
2336
        if (typeof padding !== 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
2337
          $$$1(element).css('padding-right', padding).removeData('padding-right');
Mark Otto's avatar
grunt    
Mark Otto committed
2338
        }
Mark Otto's avatar
dist    
Mark Otto committed
2339
      }); // Restore sticky content and navbar-toggler margin
Mark Otto's avatar
grunt    
Mark Otto committed
2340

Mark Otto's avatar
dist    
Mark Otto committed
2341
2342
      $$$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
2343

Mark Otto's avatar
grunt    
Mark Otto committed
2344
        if (typeof margin !== 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
2345
          $$$1(element).css('margin-right', margin).removeData('margin-right');
Mark Otto's avatar
grunt    
Mark Otto committed
2346
        }
Mark Otto's avatar
dist    
Mark Otto committed
2347
      }); // Restore body padding
Mark Otto's avatar
grunt    
Mark Otto committed
2348

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

Mark Otto's avatar
grunt    
Mark Otto committed
2351
      if (typeof padding !== 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
2352
        $$$1(document.body).css('padding-right', padding).removeData('padding-right');
Mark Otto's avatar
grunt    
Mark Otto committed
2353
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2354
    };
Jacob Thornton's avatar
Jacob Thornton committed
2355

Mark Otto's avatar
dist    
Mark Otto committed
2356
    _proto._getScrollbarWidth = function _getScrollbarWidth() {
Mark Otto's avatar
grunt    
Mark Otto committed
2357
2358
2359
2360
      // 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
2361
      var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
Mark Otto's avatar
grunt    
Mark Otto committed
2362
2363
      document.body.removeChild(scrollDiv);
      return scrollbarWidth;
Mark Otto's avatar
dist    
Mark Otto committed
2364
    }; // Static
Mark Otto's avatar
grunt    
Mark Otto committed
2365
2366
2367
2368


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

Mark Otto's avatar
dist    
Mark Otto committed
2371
        var _config = _extends({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
Mark Otto's avatar
grunt    
Mark Otto committed
2372
2373
2374

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

Mark Otto's avatar
grunt    
Mark Otto committed
2378
        if (typeof config === 'string') {
Mark Otto's avatar
dist    
Mark Otto committed
2379
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
2380
            throw new TypeError("No method named \"" + config + "\"");
Jacob Thornton's avatar
Jacob Thornton committed
2381
          }
Mark Otto's avatar
dist    
Mark Otto committed
2382

Mark Otto's avatar
grunt    
Mark Otto committed
2383
2384
2385
2386
2387
2388
2389
          data[config](relatedTarget);
        } else if (_config.show) {
          data.show(relatedTarget);
        }
      });
    };

Mark Otto's avatar
Mark Otto committed
2390
    _createClass(Modal, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
2391
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
2392
2393
2394
2395
      get: function get() {
        return VERSION;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
2396
      key: "Default",
Jacob Thornton's avatar
Jacob Thornton committed
2397
2398
2399
2400
2401
      get: function get() {
        return Default;
      }
    }]);
    return Modal;
Mark Otto's avatar
grunt    
Mark Otto committed
2402
2403
2404
2405
2406
2407
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
2408

Mark Otto's avatar
dist    
Mark Otto committed
2409

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

Mark Otto's avatar
dist    
Mark Otto committed
2413
    var target;
Jacob Thornton's avatar
Jacob Thornton committed
2414
2415
2416
    var selector = Util.getSelectorFromElement(this);

    if (selector) {
Mark Otto's avatar
dist    
Mark Otto committed
2417
      target = $$$1(selector)[0];
Jacob Thornton's avatar
Jacob Thornton committed
2418
2419
    }

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

Mark Otto's avatar
grunt    
Mark Otto committed
2422
    if (this.tagName === 'A' || this.tagName === 'AREA') {
Jacob Thornton's avatar
Jacob Thornton committed
2423
2424
2425
      event.preventDefault();
    }

Mark Otto's avatar
dist    
Mark Otto committed
2426
    var $target = $$$1(target).one(Event.SHOW, function (showEvent) {
Jacob Thornton's avatar
Jacob Thornton committed
2427
      if (showEvent.isDefaultPrevented()) {
Mark Otto's avatar
dist    
Mark Otto committed
2428
        // Only register focus restorer if modal will actually get shown
Jacob Thornton's avatar
Jacob Thornton committed
2429
2430
2431
2432
        return;
      }

      $target.one(Event.HIDDEN, function () {
Mark Otto's avatar
dist    
Mark Otto committed
2433
        if ($$$1(_this10).is(':visible')) {
Mark Otto's avatar
dist    
Mark Otto committed
2434
          _this10.focus();
Jacob Thornton's avatar
Jacob Thornton committed
2435
2436
2437
2438
        }
      });
    });

Mark Otto's avatar
dist    
Mark Otto committed
2439
    Modal._jQueryInterface.call($$$1(target), config, this);
Mark Otto's avatar
Mark Otto committed
2440
  });
Jacob Thornton's avatar
Jacob Thornton committed
2441
2442
2443
2444
2445
2446
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
2447
2448
  $$$1.fn[NAME] = Modal._jQueryInterface;
  $$$1.fn[NAME].Constructor = Modal;
Mark Otto's avatar
dist    
Mark Otto committed
2449

Mark Otto's avatar
dist    
Mark Otto committed
2450
2451
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Jacob Thornton's avatar
Jacob Thornton committed
2452
2453
2454
2455
    return Modal._jQueryInterface;
  };

  return Modal;
Mark Otto's avatar
dist    
Mark Otto committed
2456
}($);
Jacob Thornton's avatar
Jacob Thornton committed
2457
2458
2459

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
2460
 * Bootstrap (v4.0.0): tooltip.js
Jacob Thornton's avatar
Jacob Thornton committed
2461
2462
2463
2464
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
2465
var Tooltip = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
2466
2467
2468
2469
2470
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
Mark Otto's avatar
dist    
Mark Otto committed
2471
  var NAME = 'tooltip';
Mark Otto's avatar
Mark Otto committed
2472
  var VERSION = '4.0.0';
Mark Otto's avatar
dist    
Mark Otto committed
2473
  var DATA_KEY = 'bs.tooltip';
Mark Otto's avatar
dist    
Mark Otto committed
2474
  var EVENT_KEY = "." + DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
2475
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Mark Otto's avatar
dist    
Mark Otto committed
2476
2477
  var TRANSITION_DURATION = 150;
  var CLASS_PREFIX = 'bs-tooltip';
Mark Otto's avatar
dist    
Mark Otto committed
2478
  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
Mark Otto's avatar
dist    
Mark Otto committed
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
  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)',
Mark Otto's avatar
dist    
Mark Otto committed
2490
2491
    fallbackPlacement: '(string|array)',
    boundary: '(string|element)'
Mark Otto's avatar
dist    
Mark Otto committed
2492
2493
2494
2495
2496
2497
2498
2499
  };
  var AttachmentMap = {
    AUTO: 'auto',
    TOP: 'top',
    RIGHT: 'right',
    BOTTOM: 'bottom',
    LEFT: 'left'
  };
Jacob Thornton's avatar
Jacob Thornton committed
2500
  var Default = {
Mark Otto's avatar
dist    
Mark Otto committed
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
    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,
Mark Otto's avatar
dist    
Mark Otto committed
2511
2512
    fallbackPlacement: 'flip',
    boundary: 'scrollParent'
Jacob Thornton's avatar
Jacob Thornton committed
2513
  };
Mark Otto's avatar
dist    
Mark Otto committed
2514
2515
2516
  var HoverState = {
    SHOW: 'show',
    OUT: 'out'
Jacob Thornton's avatar
Jacob Thornton committed
2517
2518
  };
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
    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
2529
2530
  };
  var ClassName = {
Mark Otto's avatar
dist    
Mark Otto committed
2531
2532
    FADE: 'fade',
    SHOW: 'show'
Jacob Thornton's avatar
Jacob Thornton committed
2533
2534
  };
  var Selector = {
Mark Otto's avatar
dist    
Mark Otto committed
2535
2536
2537
    TOOLTIP: '.tooltip',
    TOOLTIP_INNER: '.tooltip-inner',
    ARROW: '.arrow'
Jacob Thornton's avatar
Jacob Thornton committed
2538
  };
Mark Otto's avatar
dist    
Mark Otto committed
2539
2540
2541
2542
2543
  var Trigger = {
    HOVER: 'hover',
    FOCUS: 'focus',
    CLICK: 'click',
    MANUAL: 'manual'
Mark Otto's avatar
dist    
Mark Otto committed
2544
2545
2546
2547
2548
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
2549

Mark Otto's avatar
dist    
Mark Otto committed
2550
  };
Jacob Thornton's avatar
Jacob Thornton committed
2551

Mark Otto's avatar
dist    
Mark Otto committed
2552
2553
2554
2555
  var Tooltip =
  /*#__PURE__*/
  function () {
    function Tooltip(element, config) {
Mark Otto's avatar
dist    
Mark Otto committed
2556
2557
2558
2559
2560
      /**
       * Check for Popper dependency
       * Popper - https://popper.js.org
       */
      if (typeof Popper === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
2561
        throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)');
Mark Otto's avatar
dist    
Mark Otto committed
2562
2563
2564
      } // private


Mark Otto's avatar
dist    
Mark Otto committed
2565
2566
2567
2568
      this._isEnabled = true;
      this._timeout = 0;
      this._hoverState = '';
      this._activeTrigger = {};
Mark Otto's avatar
dist    
Mark Otto committed
2569
      this._popper = null; // Protected
Jacob Thornton's avatar
Jacob Thornton committed
2570

Mark Otto's avatar
dist    
Mark Otto committed
2571
2572
2573
      this.element = element;
      this.config = this._getConfig(config);
      this.tip = null;
Jacob Thornton's avatar
Jacob Thornton committed
2574

Mark Otto's avatar
dist    
Mark Otto committed
2575
      this._setListeners();
Mark Otto's avatar
dist    
Mark Otto committed
2576
    } // Getters
Jacob Thornton's avatar
Jacob Thornton committed
2577
2578


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

Mark Otto's avatar
dist    
Mark Otto committed
2581
    // Public
Mark Otto's avatar
dist    
Mark Otto committed
2582
    _proto.enable = function enable() {
Mark Otto's avatar
dist    
Mark Otto committed
2583
2584
      this._isEnabled = true;
    };
Jacob Thornton's avatar
Jacob Thornton committed
2585

Mark Otto's avatar
dist    
Mark Otto committed
2586
    _proto.disable = function disable() {
Mark Otto's avatar
dist    
Mark Otto committed
2587
2588
      this._isEnabled = false;
    };
Jacob Thornton's avatar
Jacob Thornton committed
2589

Mark Otto's avatar
dist    
Mark Otto committed
2590
    _proto.toggleEnabled = function toggleEnabled() {
Mark Otto's avatar
dist    
Mark Otto committed
2591
2592
      this._isEnabled = !this._isEnabled;
    };
Jacob Thornton's avatar
Jacob Thornton committed
2593

Mark Otto's avatar
dist    
Mark Otto committed
2594
    _proto.toggle = function toggle(event) {
Mark Otto's avatar
dist    
Mark Otto committed
2595
2596
2597
      if (!this._isEnabled) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
2598

Mark Otto's avatar
dist    
Mark Otto committed
2599
2600
      if (event) {
        var dataKey = this.constructor.DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
2601
        var context = $$$1(event.currentTarget).data(dataKey);
Jacob Thornton's avatar
Jacob Thornton committed
2602

Mark Otto's avatar
dist    
Mark Otto committed
2603
2604
        if (!context) {
          context = new this.constructor(event.currentTarget, this._getDelegateConfig());
Mark Otto's avatar
dist    
Mark Otto committed
2605
          $$$1(event.currentTarget).data(dataKey, context);
Mark Otto's avatar
dist    
Mark Otto committed
2606
        }
Jacob Thornton's avatar
Jacob Thornton committed
2607

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

Mark Otto's avatar
dist    
Mark Otto committed
2610
2611
2612
2613
        if (context._isWithActiveTrigger()) {
          context._enter(null, context);
        } else {
          context._leave(null, context);
Mark Otto's avatar
grunt    
Mark Otto committed
2614
        }
Mark Otto's avatar
dist    
Mark Otto committed
2615
      } else {
Mark Otto's avatar
dist    
Mark Otto committed
2616
        if ($$$1(this.getTipElement()).hasClass(ClassName.SHOW)) {
Mark Otto's avatar
dist    
Mark Otto committed
2617
          this._leave(null, this);
Mark Otto's avatar
dist    
Mark Otto committed
2618

Mark Otto's avatar
dist    
Mark Otto committed
2619
          return;
Mark Otto's avatar
grunt    
Mark Otto committed
2620
        }
Jacob Thornton's avatar
Jacob Thornton committed
2621

Mark Otto's avatar
dist    
Mark Otto committed
2622
2623
        this._enter(null, this);
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2624
    };
Jacob Thornton's avatar
Jacob Thornton committed
2625

Mark Otto's avatar
dist    
Mark Otto committed
2626
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
2627
      clearTimeout(this._timeout);
Mark Otto's avatar
dist    
Mark Otto committed
2628
2629
2630
      $$$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
2631
2632

      if (this.tip) {
Mark Otto's avatar
dist    
Mark Otto committed
2633
        $$$1(this.tip).remove();
Jacob Thornton's avatar
Jacob Thornton committed
2634
2635
      }

Mark Otto's avatar
dist    
Mark Otto committed
2636
2637
2638
2639
      this._isEnabled = null;
      this._timeout = null;
      this._hoverState = null;
      this._activeTrigger = null;
Mark Otto's avatar
dist    
Mark Otto committed
2640

Mark Otto's avatar
dist    
Mark Otto committed
2641
2642
2643
      if (this._popper !== null) {
        this._popper.destroy();
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2644

Mark Otto's avatar
dist    
Mark Otto committed
2645
2646
2647
2648
      this._popper = null;
      this.element = null;
      this.config = null;
      this.tip = null;
Mark Otto's avatar
grunt    
Mark Otto committed
2649
    };
Jacob Thornton's avatar
Jacob Thornton committed
2650

Mark Otto's avatar
dist    
Mark Otto committed
2651
    _proto.show = function show() {
Mark Otto's avatar
dist    
Mark Otto committed
2652
      var _this = this;
Jacob Thornton's avatar
Jacob Thornton committed
2653

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

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

Mark Otto's avatar
dist    
Mark Otto committed
2660
      if (this.isWithContent() && this._isEnabled) {
Mark Otto's avatar
dist    
Mark Otto committed
2661
2662
        $$$1(this.element).trigger(showEvent);
        var isInTheDom = $$$1.contains(this.element.ownerDocument.documentElement, this.element);
Jacob Thornton's avatar
Jacob Thornton committed
2663

Mark Otto's avatar
dist    
Mark Otto committed
2664
2665
2666
        if (showEvent.isDefaultPrevented() || !isInTheDom) {
          return;
        }
Jacob Thornton's avatar
Jacob Thornton committed
2667

Mark Otto's avatar
dist    
Mark Otto committed
2668
2669
2670
2671
2672
2673
2674
        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
2675
          $$$1(tip).addClass(ClassName.FADE);
Jacob Thornton's avatar
Jacob Thornton committed
2676
        }
Jacob Thornton's avatar
Jacob Thornton committed
2677

Mark Otto's avatar
dist    
Mark Otto committed
2678
        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
2679

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

Mark Otto's avatar
dist    
Mark Otto committed
2682
        this.addAttachmentClass(attachment);
Mark Otto's avatar
dist    
Mark Otto committed
2683
2684
        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
2685

Mark Otto's avatar
dist    
Mark Otto committed
2686
2687
        if (!$$$1.contains(this.element.ownerDocument.documentElement, this.tip)) {
          $$$1(tip).appendTo(container);
Jacob Thornton's avatar
Jacob Thornton committed
2688
        }
Mark Otto's avatar
grunt    
Mark Otto committed
2689

Mark Otto's avatar
dist    
Mark Otto committed
2690
        $$$1(this.element).trigger(this.constructor.Event.INSERTED);
Mark Otto's avatar
dist    
Mark Otto committed
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
        this._popper = new Popper(this.element, tip, {
          placement: attachment,
          modifiers: {
            offset: {
              offset: this.config.offset
            },
            flip: {
              behavior: this.config.fallbackPlacement
            },
            arrow: {
              element: Selector.ARROW
Mark Otto's avatar
dist    
Mark Otto committed
2702
2703
2704
            },
            preventOverflow: {
              boundariesElement: this.config.boundary
Mark Otto's avatar
dist    
Mark Otto committed
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
            }
          },
          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
2716
        $$$1(tip).addClass(ClassName.SHOW); // If this is a touch-enabled device we add extra
Mark Otto's avatar
dist    
Mark Otto committed
2717
2718
2719
        // 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
2720

Mark Otto's avatar
dist    
Mark Otto committed
2721
        if ('ontouchstart' in document.documentElement) {
Mark Otto's avatar
dist    
Mark Otto committed
2722
          $$$1(document.body).children().on('mouseover', null, $$$1.noop);
Mark Otto's avatar
dist    
Mark Otto committed
2723
        }
Mark Otto's avatar
grunt    
Mark Otto committed
2724

Mark Otto's avatar
dist    
Mark Otto committed
2725
2726
2727
2728
        var complete = function complete() {
          if (_this.config.animation) {
            _this._fixTransition();
          }
Mark Otto's avatar
dist    
Mark Otto committed
2729

Mark Otto's avatar
dist    
Mark Otto committed
2730
2731
          var prevHoverState = _this._hoverState;
          _this._hoverState = null;
Mark Otto's avatar
dist    
Mark Otto committed
2732
          $$$1(_this.element).trigger(_this.constructor.Event.SHOWN);
Jacob Thornton's avatar
Jacob Thornton committed
2733

Mark Otto's avatar
dist    
Mark Otto committed
2734
2735
2736
2737
2738
          if (prevHoverState === HoverState.OUT) {
            _this._leave(null, _this);
          }
        };

Mark Otto's avatar
dist    
Mark Otto committed
2739
2740
        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
2741
2742
2743
2744
        } else {
          complete();
        }
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2745
    };
Jacob Thornton's avatar
Jacob Thornton committed
2746

Mark Otto's avatar
dist    
Mark Otto committed
2747
    _proto.hide = function hide(callback) {
Mark Otto's avatar
dist    
Mark Otto committed
2748
      var _this2 = this;
Jacob Thornton's avatar
Jacob Thornton committed
2749

Mark Otto's avatar
dist    
Mark Otto committed
2750
      var tip = this.getTipElement();
Mark Otto's avatar
dist    
Mark Otto committed
2751
      var hideEvent = $$$1.Event(this.constructor.Event.HIDE);
Mark Otto's avatar
dist    
Mark Otto committed
2752

Mark Otto's avatar
dist    
Mark Otto committed
2753
2754
2755
2756
      var complete = function complete() {
        if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
          tip.parentNode.removeChild(tip);
        }
Mark Otto's avatar
grunt    
Mark Otto committed
2757

Mark Otto's avatar
dist    
Mark Otto committed
2758
        _this2._cleanTipClass();
Mark Otto's avatar
dist    
Mark Otto committed
2759

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

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

Mark Otto's avatar
dist    
Mark Otto committed
2764
2765
        if (_this2._popper !== null) {
          _this2._popper.destroy();
Mark Otto's avatar
grunt    
Mark Otto committed
2766
2767
        }

Mark Otto's avatar
dist    
Mark Otto committed
2768
2769
        if (callback) {
          callback();
Mark Otto's avatar
grunt    
Mark Otto committed
2770
        }
Mark Otto's avatar
dist    
Mark Otto committed
2771
      };
Mark Otto's avatar
grunt    
Mark Otto committed
2772

Mark Otto's avatar
dist    
Mark Otto committed
2773
      $$$1(this.element).trigger(hideEvent);
Mark Otto's avatar
dist    
Mark Otto committed
2774
2775
2776

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

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

Mark Otto's avatar
dist    
Mark Otto committed
2782
      if ('ontouchstart' in document.documentElement) {
Mark Otto's avatar
dist    
Mark Otto committed
2783
        $$$1(document.body).children().off('mouseover', null, $$$1.noop);
Mark Otto's avatar
dist    
Mark Otto committed
2784
      }
Jacob Thornton's avatar
Jacob Thornton committed
2785

Mark Otto's avatar
dist    
Mark Otto committed
2786
2787
2788
      this._activeTrigger[Trigger.CLICK] = false;
      this._activeTrigger[Trigger.FOCUS] = false;
      this._activeTrigger[Trigger.HOVER] = false;
Jacob Thornton's avatar
Jacob Thornton committed
2789

Mark Otto's avatar
dist    
Mark Otto committed
2790
2791
      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
2792
2793
2794
      } else {
        complete();
      }
Jacob Thornton's avatar
Jacob Thornton committed
2795

Mark Otto's avatar
dist    
Mark Otto committed
2796
2797
      this._hoverState = '';
    };
Jacob Thornton's avatar
Jacob Thornton committed
2798

Mark Otto's avatar
dist    
Mark Otto committed
2799
    _proto.update = function update() {
Mark Otto's avatar
dist    
Mark Otto committed
2800
2801
2802
      if (this._popper !== null) {
        this._popper.scheduleUpdate();
      }
Mark Otto's avatar
dist    
Mark Otto committed
2803
    }; // Protected
Jacob Thornton's avatar
Jacob Thornton committed
2804
2805


Mark Otto's avatar
dist    
Mark Otto committed
2806
    _proto.isWithContent = function isWithContent() {
Mark Otto's avatar
dist    
Mark Otto committed
2807
2808
      return Boolean(this.getTitle());
    };
Jacob Thornton's avatar
Jacob Thornton committed
2809

Mark Otto's avatar
dist    
Mark Otto committed
2810
    _proto.addAttachmentClass = function addAttachmentClass(attachment) {
Mark Otto's avatar
dist    
Mark Otto committed
2811
      $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
Mark Otto's avatar
dist    
Mark Otto committed
2812
    };
Jacob Thornton's avatar
Jacob Thornton committed
2813

Mark Otto's avatar
dist    
Mark Otto committed
2814
    _proto.getTipElement = function getTipElement() {
Mark Otto's avatar
dist    
Mark Otto committed
2815
      this.tip = this.tip || $$$1(this.config.template)[0];
Mark Otto's avatar
dist    
Mark Otto committed
2816
2817
      return this.tip;
    };
Jacob Thornton's avatar
Jacob Thornton committed
2818

Mark Otto's avatar
dist    
Mark Otto committed
2819
    _proto.setContent = function setContent() {
Mark Otto's avatar
dist    
Mark Otto committed
2820
      var $tip = $$$1(this.getTipElement());
Mark Otto's avatar
dist    
Mark Otto committed
2821
      this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
Mark Otto's avatar
dist    
Mark Otto committed
2822
      $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
Mark Otto's avatar
dist    
Mark Otto committed
2823
    };
Jacob Thornton's avatar
Jacob Thornton committed
2824

Mark Otto's avatar
dist    
Mark Otto committed
2825
    _proto.setElementContent = function setElementContent($element, content) {
Mark Otto's avatar
dist    
Mark Otto committed
2826
      var html = this.config.html;
Mark Otto's avatar
dist    
Mark Otto committed
2827
2828

      if (typeof content === 'object' && (content.nodeType || content.jquery)) {
Mark Otto's avatar
dist    
Mark Otto committed
2829
        // Content is a DOM node or a jQuery
Mark Otto's avatar
dist    
Mark Otto committed
2830
        if (html) {
Mark Otto's avatar
dist    
Mark Otto committed
2831
          if (!$$$1(content).parent().is($element)) {
Mark Otto's avatar
dist    
Mark Otto committed
2832
2833
2834
            $element.empty().append(content);
          }
        } else {
Mark Otto's avatar
dist    
Mark Otto committed
2835
          $element.text($$$1(content).text());
Mark Otto's avatar
dist    
Mark Otto committed
2836
2837
2838
2839
2840
        }
      } else {
        $element[html ? 'html' : 'text'](content);
      }
    };
Jacob Thornton's avatar
Jacob Thornton committed
2841

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

Mark Otto's avatar
dist    
Mark Otto committed
2845
2846
2847
      if (!title) {
        title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
      }
Jacob Thornton's avatar
Jacob Thornton committed
2848

Mark Otto's avatar
dist    
Mark Otto committed
2849
      return title;
Mark Otto's avatar
dist    
Mark Otto committed
2850
    }; // Private
Jacob Thornton's avatar
Jacob Thornton committed
2851
2852


Mark Otto's avatar
dist    
Mark Otto committed
2853
    _proto._getAttachment = function _getAttachment(placement) {
Mark Otto's avatar
dist    
Mark Otto committed
2854
2855
      return AttachmentMap[placement.toUpperCase()];
    };
Jacob Thornton's avatar
Jacob Thornton committed
2856

Mark Otto's avatar
dist    
Mark Otto committed
2857
    _proto._setListeners = function _setListeners() {
Mark Otto's avatar
dist    
Mark Otto committed
2858
      var _this3 = this;
Jacob Thornton's avatar
Jacob Thornton committed
2859

Mark Otto's avatar
dist    
Mark Otto committed
2860
2861
2862
      var triggers = this.config.trigger.split(' ');
      triggers.forEach(function (trigger) {
        if (trigger === 'click') {
Mark Otto's avatar
dist    
Mark Otto committed
2863
          $$$1(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
2864
2865
2866
2867
2868
            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
2869
          $$$1(_this3.element).on(eventIn, _this3.config.selector, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
2870
2871
2872
2873
2874
            return _this3._enter(event);
          }).on(eventOut, _this3.config.selector, function (event) {
            return _this3._leave(event);
          });
        }
Jacob Thornton's avatar
Jacob Thornton committed
2875

Mark Otto's avatar
dist    
Mark Otto committed
2876
        $$$1(_this3.element).closest('.modal').on('hide.bs.modal', function () {
Mark Otto's avatar
dist    
Mark Otto committed
2877
2878
          return _this3.hide();
        });
Mark Otto's avatar
grunt    
Mark Otto committed
2879
      });
Jacob Thornton's avatar
Jacob Thornton committed
2880

Mark Otto's avatar
dist    
Mark Otto committed
2881
      if (this.config.selector) {
Mark Otto's avatar
dist    
Mark Otto committed
2882
        this.config = _extends({}, this.config, {
Mark Otto's avatar
dist    
Mark Otto committed
2883
2884
2885
2886
2887
2888
2889
          trigger: 'manual',
          selector: ''
        });
      } else {
        this._fixTitle();
      }
    };
Jacob Thornton's avatar
Jacob Thornton committed
2890

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

Mark Otto's avatar
dist    
Mark Otto committed
2894
2895
2896
      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
2897
      }
Mark Otto's avatar
dist    
Mark Otto committed
2898
    };
Jacob Thornton's avatar
Jacob Thornton committed
2899

Mark Otto's avatar
dist    
Mark Otto committed
2900
    _proto._enter = function _enter(event, context) {
Mark Otto's avatar
dist    
Mark Otto committed
2901
      var dataKey = this.constructor.DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
2902
      context = context || $$$1(event.currentTarget).data(dataKey);
Jacob Thornton's avatar
Jacob Thornton committed
2903

Mark Otto's avatar
dist    
Mark Otto committed
2904
2905
      if (!context) {
        context = new this.constructor(event.currentTarget, this._getDelegateConfig());
Mark Otto's avatar
dist    
Mark Otto committed
2906
        $$$1(event.currentTarget).data(dataKey, context);
Mark Otto's avatar
grunt    
Mark Otto committed
2907
      }
Jacob Thornton's avatar
Jacob Thornton committed
2908

Mark Otto's avatar
dist    
Mark Otto committed
2909
2910
2911
      if (event) {
        context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
      }
Jacob Thornton's avatar
Jacob Thornton committed
2912

Mark Otto's avatar
dist    
Mark Otto committed
2913
      if ($$$1(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
Mark Otto's avatar
dist    
Mark Otto committed
2914
2915
2916
        context._hoverState = HoverState.SHOW;
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
2917

Mark Otto's avatar
dist    
Mark Otto committed
2918
2919
      clearTimeout(context._timeout);
      context._hoverState = HoverState.SHOW;
Jacob Thornton's avatar
Jacob Thornton committed
2920

Mark Otto's avatar
dist    
Mark Otto committed
2921
2922
2923
      if (!context.config.delay || !context.config.delay.show) {
        context.show();
        return;
Jacob Thornton's avatar
Jacob Thornton committed
2924
2925
      }

Mark Otto's avatar
dist    
Mark Otto committed
2926
2927
2928
2929
2930
      context._timeout = setTimeout(function () {
        if (context._hoverState === HoverState.SHOW) {
          context.show();
        }
      }, context.config.delay.show);
Mark Otto's avatar
grunt    
Mark Otto committed
2931
    };
Jacob Thornton's avatar
Jacob Thornton committed
2932

Mark Otto's avatar
dist    
Mark Otto committed
2933
    _proto._leave = function _leave(event, context) {
Mark Otto's avatar
dist    
Mark Otto committed
2934
      var dataKey = this.constructor.DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
2935
      context = context || $$$1(event.currentTarget).data(dataKey);
Mark Otto's avatar
grunt    
Mark Otto committed
2936

Mark Otto's avatar
dist    
Mark Otto committed
2937
2938
      if (!context) {
        context = new this.constructor(event.currentTarget, this._getDelegateConfig());
Mark Otto's avatar
dist    
Mark Otto committed
2939
        $$$1(event.currentTarget).data(dataKey, context);
Mark Otto's avatar
dist    
Mark Otto committed
2940
2941
      }

Mark Otto's avatar
dist    
Mark Otto committed
2942
2943
      if (event) {
        context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
Jacob Thornton's avatar
Jacob Thornton committed
2944
2945
      }

Mark Otto's avatar
dist    
Mark Otto committed
2946
2947
      if (context._isWithActiveTrigger()) {
        return;
Mark Otto's avatar
grunt    
Mark Otto committed
2948
      }
Jacob Thornton's avatar
Jacob Thornton committed
2949

Mark Otto's avatar
dist    
Mark Otto committed
2950
2951
      clearTimeout(context._timeout);
      context._hoverState = HoverState.OUT;
Jacob Thornton's avatar
Jacob Thornton committed
2952

Mark Otto's avatar
dist    
Mark Otto committed
2953
2954
2955
      if (!context.config.delay || !context.config.delay.hide) {
        context.hide();
        return;
Mark Otto's avatar
grunt    
Mark Otto committed
2956
      }
Jacob Thornton's avatar
Jacob Thornton committed
2957

Mark Otto's avatar
dist    
Mark Otto committed
2958
2959
2960
2961
2962
2963
      context._timeout = setTimeout(function () {
        if (context._hoverState === HoverState.OUT) {
          context.hide();
        }
      }, context.config.delay.hide);
    };
Jacob Thornton's avatar
Jacob Thornton committed
2964

Mark Otto's avatar
dist    
Mark Otto committed
2965
    _proto._isWithActiveTrigger = function _isWithActiveTrigger() {
Mark Otto's avatar
dist    
Mark Otto committed
2966
2967
2968
2969
      for (var trigger in this._activeTrigger) {
        if (this._activeTrigger[trigger]) {
          return true;
        }
Mark Otto's avatar
grunt    
Mark Otto committed
2970
      }
Jacob Thornton's avatar
Jacob Thornton committed
2971

Mark Otto's avatar
dist    
Mark Otto committed
2972
2973
      return false;
    };
Jacob Thornton's avatar
Jacob Thornton committed
2974

Mark Otto's avatar
dist    
Mark Otto committed
2975
    _proto._getConfig = function _getConfig(config) {
Mark Otto's avatar
dist    
Mark Otto committed
2976
      config = _extends({}, this.constructor.Default, $$$1(this.element).data(), config);
Jacob Thornton's avatar
Jacob Thornton committed
2977

Mark Otto's avatar
dist    
Mark Otto committed
2978
      if (typeof config.delay === 'number') {
Mark Otto's avatar
dist    
Mark Otto committed
2979
2980
2981
2982
        config.delay = {
          show: config.delay,
          hide: config.delay
        };
Mark Otto's avatar
grunt    
Mark Otto committed
2983
2984
      }

Mark Otto's avatar
dist    
Mark Otto committed
2985
      if (typeof config.title === 'number') {
Mark Otto's avatar
dist    
Mark Otto committed
2986
        config.title = config.title.toString();
Jacob Thornton's avatar
Jacob Thornton committed
2987
2988
      }

Mark Otto's avatar
dist    
Mark Otto committed
2989
      if (typeof config.content === 'number') {
Mark Otto's avatar
dist    
Mark Otto committed
2990
2991
        config.content = config.content.toString();
      }
Jacob Thornton's avatar
Jacob Thornton committed
2992

Mark Otto's avatar
dist    
Mark Otto committed
2993
2994
2995
2996
      Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
      return config;
    };

Mark Otto's avatar
dist    
Mark Otto committed
2997
    _proto._getDelegateConfig = function _getDelegateConfig() {
Mark Otto's avatar
dist    
Mark Otto committed
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
      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
3011
    _proto._cleanTipClass = function _cleanTipClass() {
Mark Otto's avatar
dist    
Mark Otto committed
3012
      var $tip = $$$1(this.getTipElement());
Mark Otto's avatar
dist    
Mark Otto committed
3013
      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
Mark Otto's avatar
dist    
Mark Otto committed
3014

Mark Otto's avatar
dist    
Mark Otto committed
3015
3016
3017
3018
3019
      if (tabClass !== null && tabClass.length > 0) {
        $tip.removeClass(tabClass.join(''));
      }
    };

Mark Otto's avatar
dist    
Mark Otto committed
3020
    _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(data) {
Mark Otto's avatar
dist    
Mark Otto committed
3021
      this._cleanTipClass();
Mark Otto's avatar
dist    
Mark Otto committed
3022

Mark Otto's avatar
dist    
Mark Otto committed
3023
3024
3025
      this.addAttachmentClass(this._getAttachment(data.placement));
    };

Mark Otto's avatar
dist    
Mark Otto committed
3026
    _proto._fixTransition = function _fixTransition() {
Mark Otto's avatar
dist    
Mark Otto committed
3027
3028
      var tip = this.getTipElement();
      var initConfigAnimation = this.config.animation;
Mark Otto's avatar
dist    
Mark Otto committed
3029

Mark Otto's avatar
dist    
Mark Otto committed
3030
3031
3032
      if (tip.getAttribute('x-placement') !== null) {
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
3033

Mark Otto's avatar
dist    
Mark Otto committed
3034
      $$$1(tip).removeClass(ClassName.FADE);
Mark Otto's avatar
dist    
Mark Otto committed
3035
3036
3037
3038
      this.config.animation = false;
      this.hide();
      this.show();
      this.config.animation = initConfigAnimation;
Mark Otto's avatar
dist    
Mark Otto committed
3039
    }; // Static
Mark Otto's avatar
dist    
Mark Otto committed
3040
3041
3042


    Tooltip._jQueryInterface = function _jQueryInterface(config) {
Mark Otto's avatar
grunt    
Mark Otto committed
3043
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
3044
        var data = $$$1(this).data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
3045
3046

        var _config = typeof config === 'object' && config;
Mark Otto's avatar
dist    
Mark Otto committed
3047
3048
3049
3050

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

Mark Otto's avatar
grunt    
Mark Otto committed
3052
        if (!data) {
Mark Otto's avatar
dist    
Mark Otto committed
3053
          data = new Tooltip(this, _config);
Mark Otto's avatar
dist    
Mark Otto committed
3054
          $$$1(this).data(DATA_KEY, data);
Mark Otto's avatar
grunt    
Mark Otto committed
3055
        }
Jacob Thornton's avatar
Jacob Thornton committed
3056

Mark Otto's avatar
grunt    
Mark Otto committed
3057
        if (typeof config === 'string') {
Mark Otto's avatar
dist    
Mark Otto committed
3058
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
3059
            throw new TypeError("No method named \"" + config + "\"");
Jacob Thornton's avatar
Jacob Thornton committed
3060
          }
Mark Otto's avatar
dist    
Mark Otto committed
3061

Mark Otto's avatar
grunt    
Mark Otto committed
3062
3063
3064
3065
3066
          data[config]();
        }
      });
    };

Mark Otto's avatar
Mark Otto committed
3067
    _createClass(Tooltip, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
3068
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
3069
3070
3071
      get: function get() {
        return VERSION;
      }
Mark Otto's avatar
dist    
Mark Otto committed
3072
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3073
      key: "Default",
Mark Otto's avatar
dist    
Mark Otto committed
3074
3075
3076
3077
      get: function get() {
        return Default;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3078
      key: "NAME",
Mark Otto's avatar
dist    
Mark Otto committed
3079
3080
3081
3082
      get: function get() {
        return NAME;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3083
      key: "DATA_KEY",
Mark Otto's avatar
dist    
Mark Otto committed
3084
3085
3086
3087
      get: function get() {
        return DATA_KEY;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3088
      key: "Event",
Mark Otto's avatar
dist    
Mark Otto committed
3089
3090
3091
3092
      get: function get() {
        return Event;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3093
      key: "EVENT_KEY",
Mark Otto's avatar
dist    
Mark Otto committed
3094
3095
3096
3097
      get: function get() {
        return EVENT_KEY;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3098
      key: "DefaultType",
Mark Otto's avatar
dist    
Mark Otto committed
3099
3100
3101
      get: function get() {
        return DefaultType;
      }
Jacob Thornton's avatar
Jacob Thornton committed
3102
    }]);
Mark Otto's avatar
dist    
Mark Otto committed
3103
    return Tooltip;
Mark Otto's avatar
grunt    
Mark Otto committed
3104
  }();
Jacob Thornton's avatar
Jacob Thornton committed
3105
3106
3107
3108
3109
3110
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
3111

Mark Otto's avatar
dist    
Mark Otto committed
3112
3113
  $$$1.fn[NAME] = Tooltip._jQueryInterface;
  $$$1.fn[NAME].Constructor = Tooltip;
Mark Otto's avatar
dist    
Mark Otto committed
3114

Mark Otto's avatar
dist    
Mark Otto committed
3115
3116
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Mark Otto's avatar
dist    
Mark Otto committed
3117
    return Tooltip._jQueryInterface;
Jacob Thornton's avatar
Jacob Thornton committed
3118
3119
  };

Mark Otto's avatar
dist    
Mark Otto committed
3120
  return Tooltip;
Mark Otto's avatar
dist    
Mark Otto committed
3121
}($, Popper);
XhmikosR's avatar
XhmikosR committed
3122

Jacob Thornton's avatar
Jacob Thornton committed
3123
3124
/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
3125
 * Bootstrap (v4.0.0): popover.js
Jacob Thornton's avatar
Jacob Thornton committed
3126
3127
3128
3129
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
3130
var Popover = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
3131
3132
3133
3134
3135
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
Mark Otto's avatar
dist    
Mark Otto committed
3136
  var NAME = 'popover';
Mark Otto's avatar
Mark Otto committed
3137
  var VERSION = '4.0.0';
Mark Otto's avatar
dist    
Mark Otto committed
3138
  var DATA_KEY = 'bs.popover';
Mark Otto's avatar
dist    
Mark Otto committed
3139
  var EVENT_KEY = "." + DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
3140
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Mark Otto's avatar
dist    
Mark Otto committed
3141
  var CLASS_PREFIX = 'bs-popover';
Mark Otto's avatar
dist    
Mark Otto committed
3142
  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
Mark Otto's avatar
dist    
Mark Otto committed
3143
  var Default = _extends({}, Tooltip.Default, {
Mark Otto's avatar
dist    
Mark Otto committed
3144
3145
3146
3147
3148
    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
3149
  var DefaultType = _extends({}, Tooltip.DefaultType, {
Mark Otto's avatar
dist    
Mark Otto committed
3150
3151
3152
3153
3154
    content: '(string|element|function)'
  });
  var ClassName = {
    FADE: 'fade',
    SHOW: 'show'
Jacob Thornton's avatar
Jacob Thornton committed
3155
  };
Mark Otto's avatar
dist    
Mark Otto committed
3156
3157
3158
  var Selector = {
    TITLE: '.popover-header',
    CONTENT: '.popover-body'
Jacob Thornton's avatar
Jacob Thornton committed
3159
3160
  };
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
    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
3171
3172
3173
3174
3175
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
3176

Mark Otto's avatar
dist    
Mark Otto committed
3177
  };
Mark Otto's avatar
dist    
Mark Otto committed
3178
3179
3180
3181

  var Popover =
  /*#__PURE__*/
  function (_Tooltip) {
Mark Otto's avatar
Mark Otto committed
3182
    _inheritsLoose(Popover, _Tooltip);
Jacob Thornton's avatar
Jacob Thornton committed
3183

Mark Otto's avatar
dist    
Mark Otto committed
3184
    function Popover() {
Mark Otto's avatar
dist    
Mark Otto committed
3185
      return _Tooltip.apply(this, arguments) || this;
Jacob Thornton's avatar
Jacob Thornton committed
3186
3187
    }

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

Mark Otto's avatar
dist    
Mark Otto committed
3190
    // Overrides
Mark Otto's avatar
dist    
Mark Otto committed
3191
    _proto.isWithContent = function isWithContent() {
Mark Otto's avatar
dist    
Mark Otto committed
3192
      return this.getTitle() || this._getContent();
Mark Otto's avatar
grunt    
Mark Otto committed
3193
    };
Jacob Thornton's avatar
Jacob Thornton committed
3194

Mark Otto's avatar
dist    
Mark Otto committed
3195
    _proto.addAttachmentClass = function addAttachmentClass(attachment) {
Mark Otto's avatar
dist    
Mark Otto committed
3196
      $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
Mark Otto's avatar
grunt    
Mark Otto committed
3197
    };
Jacob Thornton's avatar
Jacob Thornton committed
3198

Mark Otto's avatar
dist    
Mark Otto committed
3199
    _proto.getTipElement = function getTipElement() {
Mark Otto's avatar
dist    
Mark Otto committed
3200
      this.tip = this.tip || $$$1(this.config.template)[0];
Mark Otto's avatar
dist    
Mark Otto committed
3201
      return this.tip;
Mark Otto's avatar
grunt    
Mark Otto committed
3202
3203
    };

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

Mark Otto's avatar
dist    
Mark Otto committed
3207
      this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
Mark Otto's avatar
Mark Otto committed
3208
3209
3210
3211
3212
3213
3214
3215

      var content = this._getContent();

      if (typeof content === 'function') {
        content = content.call(this.element);
      }

      this.setElementContent($tip.find(Selector.CONTENT), content);
Mark Otto's avatar
dist    
Mark Otto committed
3216
      $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
Mark Otto's avatar
dist    
Mark Otto committed
3217
    }; // Private
Jacob Thornton's avatar
Jacob Thornton committed
3218

Jacob Thornton's avatar
Jacob Thornton committed
3219

Mark Otto's avatar
dist    
Mark Otto committed
3220
    _proto._getContent = function _getContent() {
Mark Otto's avatar
Mark Otto committed
3221
      return this.element.getAttribute('data-content') || this.config.content;
Mark Otto's avatar
grunt    
Mark Otto committed
3222
    };
Jacob Thornton's avatar
Jacob Thornton committed
3223

Mark Otto's avatar
dist    
Mark Otto committed
3224
    _proto._cleanTipClass = function _cleanTipClass() {
Mark Otto's avatar
dist    
Mark Otto committed
3225
      var $tip = $$$1(this.getTipElement());
Mark Otto's avatar
dist    
Mark Otto committed
3226
      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
Mark Otto's avatar
dist    
Mark Otto committed
3227

Mark Otto's avatar
dist    
Mark Otto committed
3228
3229
      if (tabClass !== null && tabClass.length > 0) {
        $tip.removeClass(tabClass.join(''));
Johann-S's avatar
build    
Johann-S committed
3230
      }
Mark Otto's avatar
dist    
Mark Otto committed
3231
    }; // Static
Jacob Thornton's avatar
Jacob Thornton committed
3232
3233


Mark Otto's avatar
dist    
Mark Otto committed
3234
3235
    Popover._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
3236
        var data = $$$1(this).data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
3237
3238

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

Mark Otto's avatar
dist    
Mark Otto committed
3240
        if (!data && /destroy|hide/.test(config)) {
Mark Otto's avatar
grunt    
Mark Otto committed
3241
3242
          return;
        }
Jacob Thornton's avatar
Jacob Thornton committed
3243

Mark Otto's avatar
dist    
Mark Otto committed
3244
3245
        if (!data) {
          data = new Popover(this, _config);
Mark Otto's avatar
dist    
Mark Otto committed
3246
          $$$1(this).data(DATA_KEY, data);
Mark Otto's avatar
grunt    
Mark Otto committed
3247
        }
Jacob Thornton's avatar
Jacob Thornton committed
3248

Mark Otto's avatar
dist    
Mark Otto committed
3249
3250
        if (typeof config === 'string') {
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
3251
            throw new TypeError("No method named \"" + config + "\"");
Johann-S's avatar
build    
Johann-S committed
3252
          }
Mark Otto's avatar
dist    
Mark Otto committed
3253

Mark Otto's avatar
dist    
Mark Otto committed
3254
          data[config]();
Mark Otto's avatar
build    
Mark Otto committed
3255
        }
Mark Otto's avatar
dist    
Mark Otto committed
3256
3257
      });
    };
Mark Otto's avatar
build    
Mark Otto committed
3258

Mark Otto's avatar
Mark Otto committed
3259
    _createClass(Popover, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
3260
      key: "VERSION",
Mark Otto's avatar
dist    
Mark Otto committed
3261
      // Getters
Mark Otto's avatar
dist    
Mark Otto committed
3262
3263
      get: function get() {
        return VERSION;
Mark Otto's avatar
grunt    
Mark Otto committed
3264
      }
Mark Otto's avatar
dist    
Mark Otto committed
3265
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3266
      key: "Default",
Mark Otto's avatar
dist    
Mark Otto committed
3267
3268
3269
3270
      get: function get() {
        return Default;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3271
      key: "NAME",
Mark Otto's avatar
dist    
Mark Otto committed
3272
3273
3274
3275
      get: function get() {
        return NAME;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3276
      key: "DATA_KEY",
Mark Otto's avatar
dist    
Mark Otto committed
3277
3278
3279
3280
      get: function get() {
        return DATA_KEY;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3281
      key: "Event",
Mark Otto's avatar
dist    
Mark Otto committed
3282
3283
3284
3285
      get: function get() {
        return Event;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3286
      key: "EVENT_KEY",
Mark Otto's avatar
dist    
Mark Otto committed
3287
3288
3289
3290
      get: function get() {
        return EVENT_KEY;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3291
      key: "DefaultType",
Mark Otto's avatar
dist    
Mark Otto committed
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
      get: function get() {
        return DefaultType;
      }
    }]);
    return Popover;
  }(Tooltip);
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
3303

Mark Otto's avatar
dist    
Mark Otto committed
3304

Mark Otto's avatar
dist    
Mark Otto committed
3305
3306
  $$$1.fn[NAME] = Popover._jQueryInterface;
  $$$1.fn[NAME].Constructor = Popover;
Mark Otto's avatar
dist    
Mark Otto committed
3307

Mark Otto's avatar
dist    
Mark Otto committed
3308
3309
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Mark Otto's avatar
dist    
Mark Otto committed
3310
3311
    return Popover._jQueryInterface;
  };
Jacob Thornton's avatar
Jacob Thornton committed
3312

Mark Otto's avatar
dist    
Mark Otto committed
3313
  return Popover;
Mark Otto's avatar
dist    
Mark Otto committed
3314
}($);
Jacob Thornton's avatar
Jacob Thornton committed
3315

Mark Otto's avatar
dist    
Mark Otto committed
3316
3317
/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
3318
 * Bootstrap (v4.0.0): scrollspy.js
Mark Otto's avatar
dist    
Mark Otto committed
3319
3320
3321
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */
Jacob Thornton's avatar
Jacob Thornton committed
3322

Mark Otto's avatar
dist    
Mark Otto committed
3323
var ScrollSpy = function ($$$1) {
Mark Otto's avatar
dist    
Mark Otto committed
3324
3325
3326
3327
3328
3329
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'scrollspy';
Mark Otto's avatar
Mark Otto committed
3330
  var VERSION = '4.0.0';
Mark Otto's avatar
dist    
Mark Otto committed
3331
  var DATA_KEY = 'bs.scrollspy';
Mark Otto's avatar
dist    
Mark Otto committed
3332
  var EVENT_KEY = "." + DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
3333
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
3334
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Mark Otto's avatar
dist    
Mark Otto committed
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
  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
3346
3347
3348
    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
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
  };
  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
3360
    NAV_ITEMS: '.nav-item',
Mark Otto's avatar
dist    
Mark Otto committed
3361
3362
3363
3364
3365
3366
3367
3368
    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
3369
3370
3371
3372
3373
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Mark Otto's avatar
grunt    
Mark Otto committed
3374

Mark Otto's avatar
dist    
Mark Otto committed
3375
  };
Mark Otto's avatar
dist    
Mark Otto committed
3376
3377
3378
3379

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

Mark Otto's avatar
dist    
Mark Otto committed
3383
3384
3385
      this._element = element;
      this._scrollElement = element.tagName === 'BODY' ? window : element;
      this._config = this._getConfig(config);
Mark Otto's avatar
dist    
Mark Otto committed
3386
      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
3387
3388
3389
3390
      this._offsets = [];
      this._targets = [];
      this._activeTarget = null;
      this._scrollHeight = 0;
Mark Otto's avatar
dist    
Mark Otto committed
3391
      $$$1(this._scrollElement).on(Event.SCROLL, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
3392
3393
3394
        return _this._process(event);
      });
      this.refresh();
Mark Otto's avatar
dist    
Mark Otto committed
3395

Mark Otto's avatar
dist    
Mark Otto committed
3396
      this._process();
Mark Otto's avatar
dist    
Mark Otto committed
3397
    } // Getters
Jacob Thornton's avatar
Jacob Thornton committed
3398
3399


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

Mark Otto's avatar
dist    
Mark Otto committed
3402
    // Public
Mark Otto's avatar
dist    
Mark Otto committed
3403
    _proto.refresh = function refresh() {
Mark Otto's avatar
dist    
Mark Otto committed
3404
      var _this2 = this;
Jacob Thornton's avatar
Jacob Thornton committed
3405

Mark Otto's avatar
dist    
Mark Otto committed
3406
      var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
Mark Otto's avatar
dist    
Mark Otto committed
3407
3408
3409
3410
3411
      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
3412
      var targets = $$$1.makeArray($$$1(this._selector));
Mark Otto's avatar
dist    
Mark Otto committed
3413
      targets.map(function (element) {
Mark Otto's avatar
dist    
Mark Otto committed
3414
        var target;
Mark Otto's avatar
dist    
Mark Otto committed
3415
        var targetSelector = Util.getSelectorFromElement(element);
Mark Otto's avatar
grunt    
Mark Otto committed
3416

Mark Otto's avatar
dist    
Mark Otto committed
3417
        if (targetSelector) {
Mark Otto's avatar
dist    
Mark Otto committed
3418
          target = $$$1(targetSelector)[0];
Mark Otto's avatar
dist    
Mark Otto committed
3419
        }
Jacob Thornton's avatar
Jacob Thornton committed
3420

Mark Otto's avatar
dist    
Mark Otto committed
3421
3422
        if (target) {
          var targetBCR = target.getBoundingClientRect();
Mark Otto's avatar
dist    
Mark Otto committed
3423

Mark Otto's avatar
dist    
Mark Otto committed
3424
          if (targetBCR.width || targetBCR.height) {
Mark Otto's avatar
dist    
Mark Otto committed
3425
            // TODO (fat): remove sketch reliance on jQuery position/offset
Mark Otto's avatar
dist    
Mark Otto committed
3426
            return [$$$1(target)[offsetMethod]().top + offsetBase, targetSelector];
Mark Otto's avatar
dist    
Mark Otto committed
3427
3428
          }
        }
Mark Otto's avatar
dist    
Mark Otto committed
3429

Mark Otto's avatar
dist    
Mark Otto committed
3430
3431
3432
3433
3434
3435
3436
        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
3437

Mark Otto's avatar
dist    
Mark Otto committed
3438
3439
        _this2._targets.push(item[1]);
      });
Mark Otto's avatar
grunt    
Mark Otto committed
3440
    };
Jacob Thornton's avatar
Jacob Thornton committed
3441

Mark Otto's avatar
dist    
Mark Otto committed
3442
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
3443
3444
      $$$1.removeData(this._element, DATA_KEY);
      $$$1(this._scrollElement).off(EVENT_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
3445
3446
3447
3448
3449
3450
3451
3452
      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
3453
    }; // Private
Jacob Thornton's avatar
Jacob Thornton committed
3454
3455


Mark Otto's avatar
dist    
Mark Otto committed
3456
    _proto._getConfig = function _getConfig(config) {
Mark Otto's avatar
dist    
Mark Otto committed
3457
      config = _extends({}, Default, config);
Jacob Thornton's avatar
Jacob Thornton committed
3458

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

Mark Otto's avatar
dist    
Mark Otto committed
3462
3463
        if (!id) {
          id = Util.getUID(NAME);
Mark Otto's avatar
dist    
Mark Otto committed
3464
          $$$1(config.target).attr('id', id);
Mark Otto's avatar
dist    
Mark Otto committed
3465
        }
Mark Otto's avatar
dist    
Mark Otto committed
3466
3467

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

Mark Otto's avatar
dist    
Mark Otto committed
3470
3471
3472
      Util.typeCheckConfig(NAME, config, DefaultType);
      return config;
    };
Jacob Thornton's avatar
Jacob Thornton committed
3473

Mark Otto's avatar
dist    
Mark Otto committed
3474
    _proto._getScrollTop = function _getScrollTop() {
Mark Otto's avatar
dist    
Mark Otto committed
3475
3476
      return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
    };
Mark Otto's avatar
grunt    
Mark Otto committed
3477

Mark Otto's avatar
dist    
Mark Otto committed
3478
    _proto._getScrollHeight = function _getScrollHeight() {
Mark Otto's avatar
dist    
Mark Otto committed
3479
      return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
Mark Otto's avatar
grunt    
Mark Otto committed
3480
    };
Jacob Thornton's avatar
Jacob Thornton committed
3481

Mark Otto's avatar
dist    
Mark Otto committed
3482
    _proto._getOffsetHeight = function _getOffsetHeight() {
Mark Otto's avatar
dist    
Mark Otto committed
3483
3484
      return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
    };
Jacob Thornton's avatar
Jacob Thornton committed
3485

Mark Otto's avatar
dist    
Mark Otto committed
3486
    _proto._process = function _process() {
Mark Otto's avatar
dist    
Mark Otto committed
3487
      var scrollTop = this._getScrollTop() + this._config.offset;
Mark Otto's avatar
dist    
Mark Otto committed
3488

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

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

Mark Otto's avatar
dist    
Mark Otto committed
3493
3494
      if (this._scrollHeight !== scrollHeight) {
        this.refresh();
Mark Otto's avatar
grunt    
Mark Otto committed
3495
      }
Jacob Thornton's avatar
Jacob Thornton committed
3496

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

Mark Otto's avatar
dist    
Mark Otto committed
3500
3501
3502
        if (this._activeTarget !== target) {
          this._activate(target);
        }
Mark Otto's avatar
dist    
Mark Otto committed
3503

Mark Otto's avatar
grunt    
Mark Otto committed
3504
3505
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
3506

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

Mark Otto's avatar
dist    
Mark Otto committed
3510
        this._clear();
Mark Otto's avatar
dist    
Mark Otto committed
3511

Mark Otto's avatar
grunt    
Mark Otto committed
3512
3513
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
3514

Mark Otto's avatar
dist    
Mark Otto committed
3515
3516
      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
3517

Mark Otto's avatar
dist    
Mark Otto committed
3518
3519
        if (isActiveTarget) {
          this._activate(this._targets[i]);
Jacob Thornton's avatar
Jacob Thornton committed
3520
3521
        }
      }
Mark Otto's avatar
grunt    
Mark Otto committed
3522
    };
Jacob Thornton's avatar
Jacob Thornton committed
3523

Mark Otto's avatar
dist    
Mark Otto committed
3524
    _proto._activate = function _activate(target) {
Mark Otto's avatar
dist    
Mark Otto committed
3525
      this._activeTarget = target;
Mark Otto's avatar
grunt    
Mark Otto committed
3526

Mark Otto's avatar
dist    
Mark Otto committed
3527
      this._clear();
Mark Otto's avatar
grunt    
Mark Otto committed
3528

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


Mark Otto's avatar
dist    
Mark Otto committed
3532
      queries = queries.map(function (selector) {
Mark Otto's avatar
dist    
Mark Otto committed
3533
        return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]");
Mark Otto's avatar
dist    
Mark Otto committed
3534
      });
Mark Otto's avatar
dist    
Mark Otto committed
3535
      var $link = $$$1(queries.join(','));
Jacob Thornton's avatar
Jacob Thornton committed
3536

Mark Otto's avatar
dist    
Mark Otto committed
3537
3538
3539
3540
3541
      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
3542
        $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active
Mark Otto's avatar
dist    
Mark Otto committed
3543
        // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
Mark Otto's avatar
dist    
Mark Otto committed
3544
3545
3546
3547

        $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
3548
3549
      }

Mark Otto's avatar
dist    
Mark Otto committed
3550
      $$$1(this._scrollElement).trigger(Event.ACTIVATE, {
Mark Otto's avatar
dist    
Mark Otto committed
3551
3552
        relatedTarget: target
      });
Johann-S's avatar
build    
Johann-S committed
3553
3554
    };

Mark Otto's avatar
dist    
Mark Otto committed
3555
    _proto._clear = function _clear() {
Mark Otto's avatar
dist    
Mark Otto committed
3556
      $$$1(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
Mark Otto's avatar
dist    
Mark Otto committed
3557
    }; // Static
Johann-S's avatar
build    
Johann-S committed
3558

Jacob Thornton's avatar
Jacob Thornton committed
3559

Mark Otto's avatar
dist    
Mark Otto committed
3560
    ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
Mark Otto's avatar
grunt    
Mark Otto committed
3561
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
3562
        var data = $$$1(this).data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
3563
3564

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

Mark Otto's avatar
grunt    
Mark Otto committed
3566
        if (!data) {
Mark Otto's avatar
dist    
Mark Otto committed
3567
          data = new ScrollSpy(this, _config);
Mark Otto's avatar
dist    
Mark Otto committed
3568
          $$$1(this).data(DATA_KEY, data);
Mark Otto's avatar
grunt    
Mark Otto committed
3569
3570
3571
        }

        if (typeof config === 'string') {
Mark Otto's avatar
dist    
Mark Otto committed
3572
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
3573
            throw new TypeError("No method named \"" + config + "\"");
Jacob Thornton's avatar
Jacob Thornton committed
3574
          }
Mark Otto's avatar
dist    
Mark Otto committed
3575

Mark Otto's avatar
grunt    
Mark Otto committed
3576
3577
3578
3579
3580
          data[config]();
        }
      });
    };

Mark Otto's avatar
Mark Otto committed
3581
    _createClass(ScrollSpy, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
3582
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
3583
3584
3585
3586
      get: function get() {
        return VERSION;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3587
      key: "Default",
Jacob Thornton's avatar
Jacob Thornton committed
3588
3589
3590
3591
      get: function get() {
        return Default;
      }
    }]);
Mark Otto's avatar
dist    
Mark Otto committed
3592
    return ScrollSpy;
Mark Otto's avatar
grunt    
Mark Otto committed
3593
  }();
Mark Otto's avatar
dist    
Mark Otto committed
3594
3595
3596
3597
3598
3599
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
3600

Mark Otto's avatar
dist    
Mark Otto committed
3601
3602
  $$$1(window).on(Event.LOAD_DATA_API, function () {
    var scrollSpys = $$$1.makeArray($$$1(Selector.DATA_SPY));
Mark Otto's avatar
dist    
Mark Otto committed
3603
3604

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

Mark Otto's avatar
dist    
Mark Otto committed
3607
3608
3609
      ScrollSpy._jQueryInterface.call($spy, $spy.data());
    }
  });
Mark Otto's avatar
grunt    
Mark Otto committed
3610
3611
3612
3613
3614
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
3615

Mark Otto's avatar
dist    
Mark Otto committed
3616
3617
  $$$1.fn[NAME] = ScrollSpy._jQueryInterface;
  $$$1.fn[NAME].Constructor = ScrollSpy;
Mark Otto's avatar
dist    
Mark Otto committed
3618

Mark Otto's avatar
dist    
Mark Otto committed
3619
3620
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Mark Otto's avatar
dist    
Mark Otto committed
3621
    return ScrollSpy._jQueryInterface;
Jacob Thornton's avatar
Jacob Thornton committed
3622
3623
  };

Mark Otto's avatar
dist    
Mark Otto committed
3624
  return ScrollSpy;
Mark Otto's avatar
dist    
Mark Otto committed
3625
}($);
Jacob Thornton's avatar
Jacob Thornton committed
3626
3627
3628

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
3629
 * Bootstrap (v4.0.0): tab.js
Jacob Thornton's avatar
Jacob Thornton committed
3630
3631
3632
3633
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
3634
var Tab = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
3635
3636
3637
3638
3639
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
Mark Otto's avatar
dist    
Mark Otto committed
3640
  var NAME = 'tab';
Mark Otto's avatar
Mark Otto committed
3641
  var VERSION = '4.0.0';
Mark Otto's avatar
dist    
Mark Otto committed
3642
  var DATA_KEY = 'bs.tab';
Mark Otto's avatar
dist    
Mark Otto committed
3643
  var EVENT_KEY = "." + DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
3644
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
3645
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Mark Otto's avatar
dist    
Mark Otto committed
3646
3647
  var TRANSITION_DURATION = 150;
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
3648
3649
3650
3651
3652
    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
3653
  };
Jacob Thornton's avatar
Jacob Thornton committed
3654
  var ClassName = {
Mark Otto's avatar
dist    
Mark Otto committed
3655
3656
3657
    DROPDOWN_MENU: 'dropdown-menu',
    ACTIVE: 'active',
    DISABLED: 'disabled',
Jacob Thornton's avatar
Jacob Thornton committed
3658
    FADE: 'fade',
Mark Otto's avatar
grunt    
Mark Otto committed
3659
    SHOW: 'show'
Jacob Thornton's avatar
Jacob Thornton committed
3660
3661
  };
  var Selector = {
Mark Otto's avatar
dist    
Mark Otto committed
3662
3663
3664
3665
3666
3667
3668
    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
3669
3670
3671
3672
3673
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
3674

Mark Otto's avatar
dist    
Mark Otto committed
3675
  };
Jacob Thornton's avatar
Jacob Thornton committed
3676

Mark Otto's avatar
dist    
Mark Otto committed
3677
3678
3679
3680
  var Tab =
  /*#__PURE__*/
  function () {
    function Tab(element) {
Mark Otto's avatar
dist    
Mark Otto committed
3681
      this._element = element;
Mark Otto's avatar
dist    
Mark Otto committed
3682
    } // Getters
Jacob Thornton's avatar
Jacob Thornton committed
3683
3684


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

Mark Otto's avatar
dist    
Mark Otto committed
3687
    // Public
Mark Otto's avatar
dist    
Mark Otto committed
3688
    _proto.show = function show() {
Mark Otto's avatar
dist    
Mark Otto committed
3689
      var _this = this;
Johann-S's avatar
build    
Johann-S committed
3690

Mark Otto's avatar
dist    
Mark Otto committed
3691
      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
3692
3693
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
3694

Mark Otto's avatar
dist    
Mark Otto committed
3695
3696
      var target;
      var previous;
Mark Otto's avatar
dist    
Mark Otto committed
3697
      var listElement = $$$1(this._element).closest(Selector.NAV_LIST_GROUP)[0];
Mark Otto's avatar
dist    
Mark Otto committed
3698
      var selector = Util.getSelectorFromElement(this._element);
Jacob Thornton's avatar
Jacob Thornton committed
3699

Mark Otto's avatar
dist    
Mark Otto committed
3700
3701
      if (listElement) {
        var itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE;
Mark Otto's avatar
dist    
Mark Otto committed
3702
        previous = $$$1.makeArray($$$1(listElement).find(itemSelector));
Mark Otto's avatar
dist    
Mark Otto committed
3703
3704
        previous = previous[previous.length - 1];
      }
Jacob Thornton's avatar
Jacob Thornton committed
3705

Mark Otto's avatar
dist    
Mark Otto committed
3706
      var hideEvent = $$$1.Event(Event.HIDE, {
Mark Otto's avatar
dist    
Mark Otto committed
3707
3708
        relatedTarget: this._element
      });
Mark Otto's avatar
dist    
Mark Otto committed
3709
      var showEvent = $$$1.Event(Event.SHOW, {
Mark Otto's avatar
dist    
Mark Otto committed
3710
3711
3712
3713
        relatedTarget: previous
      });

      if (previous) {
Mark Otto's avatar
dist    
Mark Otto committed
3714
        $$$1(previous).trigger(hideEvent);
Mark Otto's avatar
dist    
Mark Otto committed
3715
3716
      }

Mark Otto's avatar
dist    
Mark Otto committed
3717
      $$$1(this._element).trigger(showEvent);
Mark Otto's avatar
dist    
Mark Otto committed
3718
3719
3720
3721
3722
3723

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

      if (selector) {
Mark Otto's avatar
dist    
Mark Otto committed
3724
        target = $$$1(selector)[0];
Mark Otto's avatar
dist    
Mark Otto committed
3725
3726
3727
3728
3729
      }

      this._activate(this._element, listElement);

      var complete = function complete() {
Mark Otto's avatar
dist    
Mark Otto committed
3730
        var hiddenEvent = $$$1.Event(Event.HIDDEN, {
Mark Otto's avatar
dist    
Mark Otto committed
3731
3732
          relatedTarget: _this._element
        });
Mark Otto's avatar
dist    
Mark Otto committed
3733
        var shownEvent = $$$1.Event(Event.SHOWN, {
Mark Otto's avatar
dist    
Mark Otto committed
3734
3735
          relatedTarget: previous
        });
Mark Otto's avatar
dist    
Mark Otto committed
3736
3737
        $$$1(previous).trigger(hiddenEvent);
        $$$1(_this._element).trigger(shownEvent);
Mark Otto's avatar
dist    
Mark Otto committed
3738
3739
3740
3741
3742
3743
3744
3745
3746
      };

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

Mark Otto's avatar
dist    
Mark Otto committed
3747
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
3748
      $$$1.removeData(this._element, DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
3749
      this._element = null;
Mark Otto's avatar
dist    
Mark Otto committed
3750
    }; // Private
Jacob Thornton's avatar
Jacob Thornton committed
3751
3752


Mark Otto's avatar
dist    
Mark Otto committed
3753
    _proto._activate = function _activate(element, container, callback) {
Mark Otto's avatar
dist    
Mark Otto committed
3754
3755
      var _this2 = this;

Mark Otto's avatar
dist    
Mark Otto committed
3756
3757
      var activeElements;

Mark Otto's avatar
dist    
Mark Otto committed
3758
      if (container.nodeName === 'UL') {
Mark Otto's avatar
dist    
Mark Otto committed
3759
        activeElements = $$$1(container).find(Selector.ACTIVE_UL);
Mark Otto's avatar
dist    
Mark Otto committed
3760
      } else {
Mark Otto's avatar
dist    
Mark Otto committed
3761
        activeElements = $$$1(container).children(Selector.ACTIVE);
Mark Otto's avatar
dist    
Mark Otto committed
3762
3763
3764
      }

      var active = activeElements[0];
Mark Otto's avatar
dist    
Mark Otto committed
3765
      var isTransitioning = callback && Util.supportsTransitionEnd() && active && $$$1(active).hasClass(ClassName.FADE);
Mark Otto's avatar
dist    
Mark Otto committed
3766
3767

      var complete = function complete() {
Mark Otto's avatar
dist    
Mark Otto committed
3768
        return _this2._transitionComplete(element, active, callback);
Mark Otto's avatar
dist    
Mark Otto committed
3769
3770
3771
      };

      if (active && isTransitioning) {
Mark Otto's avatar
dist    
Mark Otto committed
3772
        $$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
Mark Otto's avatar
dist    
Mark Otto committed
3773
3774
3775
      } else {
        complete();
      }
Mark Otto's avatar
grunt    
Mark Otto committed
3776
    };
Jacob Thornton's avatar
Jacob Thornton committed
3777

Mark Otto's avatar
dist    
Mark Otto committed
3778
    _proto._transitionComplete = function _transitionComplete(element, active, callback) {
Mark Otto's avatar
dist    
Mark Otto committed
3779
      if (active) {
Mark Otto's avatar
dist    
Mark Otto committed
3780
        $$$1(active).removeClass(ClassName.SHOW + " " + ClassName.ACTIVE);
Mark Otto's avatar
dist    
Mark Otto committed
3781
        var dropdownChild = $$$1(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
Mark Otto's avatar
dist    
Mark Otto committed
3782
3783

        if (dropdownChild) {
Mark Otto's avatar
dist    
Mark Otto committed
3784
          $$$1(dropdownChild).removeClass(ClassName.ACTIVE);
Mark Otto's avatar
dist    
Mark Otto committed
3785
3786
        }

Mark Otto's avatar
dist    
Mark Otto committed
3787
3788
3789
        if (active.getAttribute('role') === 'tab') {
          active.setAttribute('aria-selected', false);
        }
Mark Otto's avatar
dist    
Mark Otto committed
3790
3791
      }

Mark Otto's avatar
dist    
Mark Otto committed
3792
      $$$1(element).addClass(ClassName.ACTIVE);
Mark Otto's avatar
dist    
Mark Otto committed
3793
3794
3795
3796

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

Mark Otto's avatar
dist    
Mark Otto committed
3798
3799
      Util.reflow(element);
      $$$1(element).addClass(ClassName.SHOW);
Mark Otto's avatar
dist    
Mark Otto committed
3800

Mark Otto's avatar
dist    
Mark Otto committed
3801
3802
      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
3803

Mark Otto's avatar
dist    
Mark Otto committed
3804
        if (dropdownElement) {
Mark Otto's avatar
dist    
Mark Otto committed
3805
          $$$1(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
Mark Otto's avatar
dist    
Mark Otto committed
3806
3807
3808
3809
3810
3811
3812
        }

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

      if (callback) {
        callback();
Johann-S's avatar
build    
Johann-S committed
3813
      }
Mark Otto's avatar
dist    
Mark Otto committed
3814
    }; // Static
Johann-S's avatar
build    
Johann-S committed
3815

Jacob Thornton's avatar
Jacob Thornton committed
3816

Mark Otto's avatar
dist    
Mark Otto committed
3817
    Tab._jQueryInterface = function _jQueryInterface(config) {
Mark Otto's avatar
grunt    
Mark Otto committed
3818
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
3819
        var $this = $$$1(this);
Mark Otto's avatar
dist    
Mark Otto committed
3820
        var data = $this.data(DATA_KEY);
Jacob Thornton's avatar
Jacob Thornton committed
3821

Mark Otto's avatar
grunt    
Mark Otto committed
3822
        if (!data) {
Mark Otto's avatar
dist    
Mark Otto committed
3823
3824
          data = new Tab(this);
          $this.data(DATA_KEY, data);
Mark Otto's avatar
grunt    
Mark Otto committed
3825
        }
Jacob Thornton's avatar
Jacob Thornton committed
3826

Mark Otto's avatar
grunt    
Mark Otto committed
3827
        if (typeof config === 'string') {
Mark Otto's avatar
dist    
Mark Otto committed
3828
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
3829
            throw new TypeError("No method named \"" + config + "\"");
Mark Otto's avatar
grunt    
Mark Otto committed
3830
          }
Mark Otto's avatar
dist    
Mark Otto committed
3831

Mark Otto's avatar
grunt    
Mark Otto committed
3832
3833
3834
3835
3836
          data[config]();
        }
      });
    };

Mark Otto's avatar
Mark Otto committed
3837
    _createClass(Tab, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
3838
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
3839
3840
3841
3842
      get: function get() {
        return VERSION;
      }
    }]);
Mark Otto's avatar
dist    
Mark Otto committed
3843
3844
3845
3846
3847
3848
3849
3850
    return Tab;
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
3851

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

Mark Otto's avatar
dist    
Mark Otto committed
3855
    Tab._jQueryInterface.call($$$1(this), 'show');
Mark Otto's avatar
dist    
Mark Otto committed
3856
  });
Mark Otto's avatar
grunt    
Mark Otto committed
3857
3858
3859
3860
3861
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
3862

Mark Otto's avatar
dist    
Mark Otto committed
3863
3864
  $$$1.fn[NAME] = Tab._jQueryInterface;
  $$$1.fn[NAME].Constructor = Tab;
Mark Otto's avatar
dist    
Mark Otto committed
3865

Mark Otto's avatar
dist    
Mark Otto committed
3866
3867
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Mark Otto's avatar
dist    
Mark Otto committed
3868
    return Tab._jQueryInterface;
Jacob Thornton's avatar
Jacob Thornton committed
3869
3870
  };

Mark Otto's avatar
dist    
Mark Otto committed
3871
  return Tab;
Mark Otto's avatar
dist    
Mark Otto committed
3872
}($);
Mark Otto's avatar
grunt    
Mark Otto committed
3873

Mark Otto's avatar
dist    
Mark Otto committed
3874
3875
3876
3877
3878
3879
3880
/**
 * --------------------------------------------------------------------------
 * 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
3881
3882
(function ($$$1) {
  if (typeof $$$1 === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
3883
    throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
Mark Otto's avatar
dist    
Mark Otto committed
3884
3885
  }

Mark Otto's avatar
dist    
Mark Otto committed
3886
  var version = $$$1.fn.jquery.split(' ')[0].split('.');
Mark Otto's avatar
dist    
Mark Otto committed
3887
3888
3889
3890
3891
3892
3893
3894
  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
3895
  }
Mark Otto's avatar
dist    
Mark Otto committed
3896
})($);
Mark Otto's avatar
build    
Mark Otto committed
3897

Mark Otto's avatar
dist    
Mark Otto committed
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
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;

Mark Otto's avatar
dist    
Mark Otto committed
3910
Object.defineProperty(exports, '__esModule', { value: true });
Mark Otto's avatar
dist    
Mark Otto committed
3911

Mark Otto's avatar
dist    
Mark Otto committed
3912
})));
Mark Otto's avatar
dist    
Mark Otto committed
3913
//# sourceMappingURL=bootstrap.js.map