bootstrap.js 113 KB
Newer Older
1
/*!
Mark Otto's avatar
Mark Otto committed
2
  * Bootstrap v4.0.0-beta.3 (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-beta.3): util.js
Jacob Thornton's avatar
Jacob Thornton committed
58
59
60
61
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

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

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

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

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

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

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

  function transitionEndEmulator(duration) {
    var _this = this;

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

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

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

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


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

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

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


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

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

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

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

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

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

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


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

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

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

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

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

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

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

Jacob Thornton's avatar
Jacob Thornton committed
265

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
499

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      event.preventDefault();
    };

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


Mark Otto's avatar
dist    
Mark Otto committed
1004
1005
1006
1007
  $$$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
1008

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

Mark Otto's avatar
dist    
Mark Otto committed
1018
1019
  $$$1.fn[NAME] = Carousel._jQueryInterface;
  $$$1.fn[NAME].Constructor = Carousel;
Mark Otto's avatar
dist    
Mark Otto committed
1020

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

  return Carousel;
Mark Otto's avatar
dist    
Mark Otto committed
1027
}($);
Jacob Thornton's avatar
Jacob Thornton committed
1028
1029
1030

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

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

Mark Otto's avatar
dist    
Mark Otto committed
1083
  };
Jacob Thornton's avatar
Jacob Thornton committed
1084

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

Mark Otto's avatar
build    
Mark Otto committed
1095
1096
1097
      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
1098

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

Mark Otto's avatar
build    
Mark Otto committed
1102
1103
1104
          this._triggerArray.push(elem);
        }
      }
Johann-S's avatar
build    
Johann-S committed
1105

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


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

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

Mark Otto's avatar
dist    
Mark Otto committed
1129
    _proto.show = function show() {
Mark Otto's avatar
dist    
Mark Otto committed
1130
      var _this = this;
Jacob Thornton's avatar
Jacob Thornton committed
1131

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

Mark Otto's avatar
dist    
Mark Otto committed
1136
1137
      var actives;
      var activesData;
Jacob Thornton's avatar
Jacob Thornton committed
1138

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

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
1150
        if (activesData && activesData._isTransitioning) {
Jacob Thornton's avatar
Jacob Thornton committed
1151
1152
          return;
        }
Mark Otto's avatar
grunt    
Mark Otto committed
1153
      }
Jacob Thornton's avatar
Jacob Thornton committed
1154

Mark Otto's avatar
dist    
Mark Otto committed
1155
1156
      var startEvent = $$$1.Event(Event.SHOW);
      $$$1(this._element).trigger(startEvent);
Mark Otto's avatar
dist    
Mark Otto committed
1157

Mark Otto's avatar
grunt    
Mark Otto committed
1158
1159
1160
1161
1162
      if (startEvent.isDefaultPrevented()) {
        return;
      }

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

Mark Otto's avatar
grunt    
Mark Otto committed
1165
        if (!activesData) {
Mark Otto's avatar
dist    
Mark Otto committed
1166
          $$$1(actives).data(DATA_KEY, null);
Jacob Thornton's avatar
Jacob Thornton committed
1167
        }
Mark Otto's avatar
grunt    
Mark Otto committed
1168
      }
Jacob Thornton's avatar
Jacob Thornton committed
1169

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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
1187
        $$$1(_this._element).trigger(Event.SHOWN);
Mark Otto's avatar
grunt    
Mark Otto committed
1188
      };
Jacob Thornton's avatar
Jacob Thornton committed
1189

Mark Otto's avatar
grunt    
Mark Otto committed
1190
1191
1192
1193
      if (!Util.supportsTransitionEnd()) {
        complete();
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1194

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

Mark Otto's avatar
dist    
Mark Otto committed
1201
    _proto.hide = function hide() {
Mark Otto's avatar
dist    
Mark Otto committed
1202
      var _this2 = this;
Jacob Thornton's avatar
Jacob Thornton committed
1203

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

Mark Otto's avatar
dist    
Mark Otto committed
1208
1209
      var startEvent = $$$1.Event(Event.HIDE);
      $$$1(this._element).trigger(startEvent);
Mark Otto's avatar
dist    
Mark Otto committed
1210

Mark Otto's avatar
grunt    
Mark Otto committed
1211
1212
1213
      if (startEvent.isDefaultPrevented()) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1214

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

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

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

Mark Otto's avatar
build    
Mark Otto committed
1226
          if (selector !== null) {
Mark Otto's avatar
dist    
Mark Otto committed
1227
            var $elem = $$$1(selector);
Mark Otto's avatar
dist    
Mark Otto committed
1228

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
1238
      var complete = function complete() {
Mark Otto's avatar
dist    
Mark Otto committed
1239
        _this2.setTransitioning(false);
Mark Otto's avatar
dist    
Mark Otto committed
1240

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
1246
1247
1248
      if (!Util.supportsTransitionEnd()) {
        complete();
        return;
Jacob Thornton's avatar
Jacob Thornton committed
1249
1250
      }

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

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

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


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

Mark Otto's avatar
Mark Otto committed
1272
      Util.typeCheckConfig(NAME, config, DefaultType);
Mark Otto's avatar
grunt    
Mark Otto committed
1273
1274
1275
      return config;
    };

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

Mark Otto's avatar
dist    
Mark Otto committed
1281
    _proto._getParent = function _getParent() {
Mark Otto's avatar
dist    
Mark Otto committed
1282
      var _this3 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
1283

Mark Otto's avatar
dist    
Mark Otto committed
1284
      var parent = null;
Mark Otto's avatar
grunt    
Mark Otto committed
1285

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

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

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

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

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


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

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

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
1340
1341
1342
1343
1344
          data[config]();
        }
      });
    };

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

Mark Otto's avatar
dist    
Mark Otto committed
1364

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
1387
1388
  $$$1.fn[NAME] = Collapse._jQueryInterface;
  $$$1.fn[NAME].Constructor = Collapse;
Mark Otto's avatar
dist    
Mark Otto committed
1389

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

  return Collapse;
Mark Otto's avatar
dist    
Mark Otto committed
1396
}($);
Jacob Thornton's avatar
Jacob Thornton committed
1397
1398
1399

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

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

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

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

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

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

Chris Rebert's avatar
grunt    
Chris Rebert committed
1427
  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
1428

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

Mark Otto's avatar
dist    
Mark Otto committed
1482
  };
Jacob Thornton's avatar
Jacob Thornton committed
1483

Mark Otto's avatar
dist    
Mark Otto committed
1484
1485
1486
1487
  var Dropdown =
  /*#__PURE__*/
  function () {
    function Dropdown(element, config) {
Jacob Thornton's avatar
Jacob Thornton committed
1488
      this._element = element;
Johann-S's avatar
build    
Johann-S committed
1489
1490
1491
      this._popper = null;
      this._config = this._getConfig(config);
      this._menu = this._getMenuElement();
Mark Otto's avatar
build    
Mark Otto committed
1492
      this._inNavbar = this._detectNavbar();
Jacob Thornton's avatar
Jacob Thornton committed
1493
1494

      this._addEventListeners();
Mark Otto's avatar
dist    
Mark Otto committed
1495
    } // Getters
Jacob Thornton's avatar
Jacob Thornton committed
1496
1497


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

Mark Otto's avatar
dist    
Mark Otto committed
1500
    // Public
Mark Otto's avatar
dist    
Mark Otto committed
1501
    _proto.toggle = function toggle() {
Mark Otto's avatar
dist    
Mark Otto committed
1502
      if (this._element.disabled || $$$1(this._element).hasClass(ClassName.DISABLED)) {
Johann-S's avatar
build    
Johann-S committed
1503
        return;
Mark Otto's avatar
grunt    
Mark Otto committed
1504
      }
Jacob Thornton's avatar
Jacob Thornton committed
1505

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
1510
      Dropdown._clearMenus();
Jacob Thornton's avatar
Jacob Thornton committed
1511

Mark Otto's avatar
grunt    
Mark Otto committed
1512
      if (isActive) {
Johann-S's avatar
build    
Johann-S committed
1513
        return;
Mark Otto's avatar
grunt    
Mark Otto committed
1514
      }
Jacob Thornton's avatar
Jacob Thornton committed
1515

Mark Otto's avatar
grunt    
Mark Otto committed
1516
      var relatedTarget = {
Johann-S's avatar
build    
Johann-S committed
1517
        relatedTarget: this._element
Mark Otto's avatar
grunt    
Mark Otto committed
1518
      };
Mark Otto's avatar
dist    
Mark Otto committed
1519
1520
      var showEvent = $$$1.Event(Event.SHOW, relatedTarget);
      $$$1(parent).trigger(showEvent);
Jacob Thornton's avatar
Jacob Thornton committed
1521

Mark Otto's avatar
grunt    
Mark Otto committed
1522
      if (showEvent.isDefaultPrevented()) {
Johann-S's avatar
build    
Johann-S committed
1523
        return;
Mark Otto's avatar
dist    
Mark Otto committed
1524
      } // Disable totally Popper.js for Dropdown in Navbar
Mark Otto's avatar
dist    
Mark Otto committed
1525
1526


Mark Otto's avatar
dist    
Mark Otto committed
1527
1528
1529
1530
1531
1532
      if (!this._inNavbar) {
        /**
         * Check for Popper dependency
         * Popper - https://popper.js.org
         */
        if (typeof Popper === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
1533
          throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
Mark Otto's avatar
dist    
Mark Otto committed
1534
        }
Jacob Thornton's avatar
Jacob Thornton committed
1535

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

Mark Otto's avatar
dist    
Mark Otto committed
1538
1539
1540
1541
        if ($$$1(parent).hasClass(ClassName.DROPUP)) {
          if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
            element = parent;
          }
Mark Otto's avatar
dist    
Mark Otto committed
1542
1543
1544
1545
1546
1547
1548
        } // 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
1549
        }
Johann-S's avatar
build    
Johann-S committed
1550

Mark Otto's avatar
dist    
Mark Otto committed
1551
        this._popper = new Popper(element, this._menu, this._getPopperConfig());
Mark Otto's avatar
dist    
Mark Otto committed
1552
      } // If this is a touch-enabled device we add extra
Mark Otto's avatar
grunt    
Mark Otto committed
1553
1554
1555
      // 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
1556

Mark Otto's avatar
dist    
Mark Otto committed
1557

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
1566
1567
      $$$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
1568
    };
Jacob Thornton's avatar
Jacob Thornton committed
1569

Mark Otto's avatar
dist    
Mark Otto committed
1570
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
1571
1572
      $$$1.removeData(this._element, DATA_KEY);
      $$$1(this._element).off(EVENT_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
1573
      this._element = null;
Johann-S's avatar
build    
Johann-S committed
1574
      this._menu = null;
Mark Otto's avatar
dist    
Mark Otto committed
1575

Johann-S's avatar
build    
Johann-S committed
1576
1577
      if (this._popper !== null) {
        this._popper.destroy();
Mark Otto's avatar
dist    
Mark Otto committed
1578

Mark Otto's avatar
dist    
Mark Otto committed
1579
1580
        this._popper = null;
      }
Johann-S's avatar
build    
Johann-S committed
1581
1582
    };

Mark Otto's avatar
dist    
Mark Otto committed
1583
    _proto.update = function update() {
Mark Otto's avatar
build    
Mark Otto committed
1584
      this._inNavbar = this._detectNavbar();
Mark Otto's avatar
dist    
Mark Otto committed
1585

Johann-S's avatar
build    
Johann-S committed
1586
1587
1588
      if (this._popper !== null) {
        this._popper.scheduleUpdate();
      }
Mark Otto's avatar
dist    
Mark Otto committed
1589
    }; // Private
Jacob Thornton's avatar
Jacob Thornton committed
1590
1591


Mark Otto's avatar
dist    
Mark Otto committed
1592
    _proto._addEventListeners = function _addEventListeners() {
Mark Otto's avatar
dist    
Mark Otto committed
1593
      var _this = this;
Johann-S's avatar
build    
Johann-S committed
1594

Mark Otto's avatar
dist    
Mark Otto committed
1595
      $$$1(this._element).on(Event.CLICK, function (event) {
Johann-S's avatar
build    
Johann-S committed
1596
1597
        event.preventDefault();
        event.stopPropagation();
Mark Otto's avatar
dist    
Mark Otto committed
1598

Mark Otto's avatar
dist    
Mark Otto committed
1599
        _this.toggle();
Johann-S's avatar
build    
Johann-S committed
1600
1601
1602
      });
    };

Mark Otto's avatar
dist    
Mark Otto committed
1603
    _proto._getConfig = function _getConfig(config) {
Mark Otto's avatar
dist    
Mark Otto committed
1604
      config = _extends({}, this.constructor.Default, $$$1(this._element).data(), config);
Johann-S's avatar
build    
Johann-S committed
1605
1606
1607
1608
      Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
      return config;
    };

Mark Otto's avatar
dist    
Mark Otto committed
1609
    _proto._getMenuElement = function _getMenuElement() {
Johann-S's avatar
build    
Johann-S committed
1610
1611
      if (!this._menu) {
        var parent = Dropdown._getParentFromElement(this._element);
Mark Otto's avatar
dist    
Mark Otto committed
1612

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

Johann-S's avatar
build    
Johann-S committed
1616
      return this._menu;
Mark Otto's avatar
grunt    
Mark Otto committed
1617
    };
Jacob Thornton's avatar
Jacob Thornton committed
1618

Mark Otto's avatar
dist    
Mark Otto committed
1619
    _proto._getPlacement = function _getPlacement() {
Mark Otto's avatar
dist    
Mark Otto committed
1620
      var $parentDropdown = $$$1(this._element).parent();
Mark Otto's avatar
dist    
Mark Otto committed
1621
      var placement = AttachmentMap.BOTTOM; // Handle dropup
Mark Otto's avatar
build    
Mark Otto committed
1622

Mark Otto's avatar
dist    
Mark Otto committed
1623
      if ($parentDropdown.hasClass(ClassName.DROPUP)) {
Mark Otto's avatar
build    
Mark Otto committed
1624
        placement = AttachmentMap.TOP;
Mark Otto's avatar
dist    
Mark Otto committed
1625

Mark Otto's avatar
dist    
Mark Otto committed
1626
        if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
Mark Otto's avatar
build    
Mark Otto committed
1627
1628
          placement = AttachmentMap.TOPEND;
        }
Mark Otto's avatar
dist    
Mark Otto committed
1629
1630
1631
1632
      } 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
1633
      } else if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
Mark Otto's avatar
build    
Mark Otto committed
1634
        placement = AttachmentMap.BOTTOMEND;
Mark Otto's avatar
build    
Mark Otto committed
1635
      }
Mark Otto's avatar
dist    
Mark Otto committed
1636

Mark Otto's avatar
build    
Mark Otto committed
1637
1638
1639
      return placement;
    };

Mark Otto's avatar
dist    
Mark Otto committed
1640
    _proto._detectNavbar = function _detectNavbar() {
Mark Otto's avatar
dist    
Mark Otto committed
1641
      return $$$1(this._element).closest('.navbar').length > 0;
Mark Otto's avatar
build    
Mark Otto committed
1642
1643
    };

Mark Otto's avatar
dist    
Mark Otto committed
1644
    _proto._getPopperConfig = function _getPopperConfig() {
Mark Otto's avatar
dist    
Mark Otto committed
1645
1646
1647
1648
1649
1650
      var _this2 = this;

      var offsetConf = {};

      if (typeof this._config.offset === 'function') {
        offsetConf.fn = function (data) {
Mark Otto's avatar
dist    
Mark Otto committed
1651
          data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets) || {});
Mark Otto's avatar
dist    
Mark Otto committed
1652
1653
1654
1655
1656
1657
          return data;
        };
      } else {
        offsetConf.offset = this._config.offset;
      }

Mark Otto's avatar
build    
Mark Otto committed
1658
1659
1660
      var popperConfig = {
        placement: this._getPlacement(),
        modifiers: {
Mark Otto's avatar
dist    
Mark Otto committed
1661
          offset: offsetConf,
Mark Otto's avatar
build    
Mark Otto committed
1662
1663
          flip: {
            enabled: this._config.flip
Mark Otto's avatar
dist    
Mark Otto committed
1664
1665
1666
          },
          preventOverflow: {
            boundariesElement: this._config.boundary
Mark Otto's avatar
build    
Mark Otto committed
1667
          }
Mark Otto's avatar
dist    
Mark Otto committed
1668
        }
Mark Otto's avatar
dist    
Mark Otto committed
1669
      };
Mark Otto's avatar
build    
Mark Otto committed
1670
      return popperConfig;
Mark Otto's avatar
dist    
Mark Otto committed
1671
    }; // Static
Mark Otto's avatar
build    
Mark Otto committed
1672

Jacob Thornton's avatar
Jacob Thornton committed
1673

Mark Otto's avatar
grunt    
Mark Otto committed
1674
1675
    Dropdown._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
1676
        var data = $$$1(this).data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
1677
1678

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

Mark Otto's avatar
grunt    
Mark Otto committed
1680
        if (!data) {
Johann-S's avatar
build    
Johann-S committed
1681
          data = new Dropdown(this, _config);
Mark Otto's avatar
dist    
Mark Otto committed
1682
          $$$1(this).data(DATA_KEY, data);
Jacob Thornton's avatar
Jacob Thornton committed
1683
1684
        }

Mark Otto's avatar
grunt    
Mark Otto committed
1685
        if (typeof config === 'string') {
Mark Otto's avatar
dist    
Mark Otto committed
1686
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
1687
            throw new TypeError("No method named \"" + config + "\"");
Mark Otto's avatar
grunt    
Mark Otto committed
1688
          }
Mark Otto's avatar
dist    
Mark Otto committed
1689

Johann-S's avatar
build    
Johann-S committed
1690
          data[config]();
Jacob Thornton's avatar
Jacob Thornton committed
1691
        }
Mark Otto's avatar
grunt    
Mark Otto committed
1692
1693
      });
    };
Jacob Thornton's avatar
Jacob Thornton committed
1694

Mark Otto's avatar
grunt    
Mark Otto committed
1695
    Dropdown._clearMenus = function _clearMenus(event) {
Mark Otto's avatar
grunt    
Mark Otto committed
1696
      if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1697
1698
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1699

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

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

Mark Otto's avatar
dist    
Mark Otto committed
1705
        var context = $$$1(toggles[i]).data(DATA_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
1706
1707
1708
        var relatedTarget = {
          relatedTarget: toggles[i]
        };
Jacob Thornton's avatar
Jacob Thornton committed
1709

Johann-S's avatar
build    
Johann-S committed
1710
1711
1712
1713
1714
        if (!context) {
          continue;
        }

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

Mark Otto's avatar
dist    
Mark Otto committed
1716
        if (!$$$1(parent).hasClass(ClassName.SHOW)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1717
1718
          continue;
        }
Jacob Thornton's avatar
Jacob Thornton committed
1719

Mark Otto's avatar
dist    
Mark Otto committed
1720
        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
1721
1722
          continue;
        }
Jacob Thornton's avatar
Jacob Thornton committed
1723

Mark Otto's avatar
dist    
Mark Otto committed
1724
1725
        var hideEvent = $$$1.Event(Event.HIDE, relatedTarget);
        $$$1(parent).trigger(hideEvent);
Mark Otto's avatar
dist    
Mark Otto committed
1726

Mark Otto's avatar
grunt    
Mark Otto committed
1727
1728
        if (hideEvent.isDefaultPrevented()) {
          continue;
Mark Otto's avatar
dist    
Mark Otto committed
1729
        } // If this is a touch-enabled device we remove the extra
Mark Otto's avatar
grunt    
Mark Otto committed
1730
        // empty mouseover listeners we added for iOS support
Mark Otto's avatar
dist    
Mark Otto committed
1731
1732


Mark Otto's avatar
grunt    
Mark Otto committed
1733
        if ('ontouchstart' in document.documentElement) {
Mark Otto's avatar
dist    
Mark Otto committed
1734
          $$$1('body').children().off('mouseover', null, $$$1.noop);
Mark Otto's avatar
grunt    
Mark Otto committed
1735
1736
        }

Mark Otto's avatar
grunt    
Mark Otto committed
1737
        toggles[i].setAttribute('aria-expanded', 'false');
Mark Otto's avatar
dist    
Mark Otto committed
1738
1739
        $$$1(dropdownMenu).removeClass(ClassName.SHOW);
        $$$1(parent).removeClass(ClassName.SHOW).trigger($$$1.Event(Event.HIDDEN, relatedTarget));
Jacob Thornton's avatar
Jacob Thornton committed
1740
      }
Mark Otto's avatar
grunt    
Mark Otto committed
1741
    };
Jacob Thornton's avatar
Jacob Thornton committed
1742

Mark Otto's avatar
grunt    
Mark Otto committed
1743
    Dropdown._getParentFromElement = function _getParentFromElement(element) {
Mark Otto's avatar
dist    
Mark Otto committed
1744
      var parent;
Mark Otto's avatar
grunt    
Mark Otto committed
1745
      var selector = Util.getSelectorFromElement(element);
Jacob Thornton's avatar
Jacob Thornton committed
1746

Mark Otto's avatar
grunt    
Mark Otto committed
1747
      if (selector) {
Mark Otto's avatar
dist    
Mark Otto committed
1748
        parent = $$$1(selector)[0];
Jacob Thornton's avatar
Jacob Thornton committed
1749
1750
      }

Mark Otto's avatar
grunt    
Mark Otto committed
1751
      return parent || element.parentNode;
Mark Otto's avatar
dist    
Mark Otto committed
1752
1753
    }; // eslint-disable-next-line complexity

Jacob Thornton's avatar
Jacob Thornton committed
1754

Mark Otto's avatar
grunt    
Mark Otto committed
1755
    Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
Mark Otto's avatar
dist    
Mark Otto committed
1756
1757
1758
1759
1760
1761
1762
1763
      // 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
1764
1765
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1766

Mark Otto's avatar
grunt    
Mark Otto committed
1767
1768
      event.preventDefault();
      event.stopPropagation();
Jacob Thornton's avatar
Jacob Thornton committed
1769

Mark Otto's avatar
dist    
Mark Otto committed
1770
      if (this.disabled || $$$1(this).hasClass(ClassName.DISABLED)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1771
1772
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1773

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
1778
      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
1779
        if (event.which === ESCAPE_KEYCODE) {
Mark Otto's avatar
dist    
Mark Otto committed
1780
1781
          var toggle = $$$1(parent).find(Selector.DATA_TOGGLE)[0];
          $$$1(toggle).trigger('focus');
Jacob Thornton's avatar
Jacob Thornton committed
1782
1783
        }

Mark Otto's avatar
dist    
Mark Otto committed
1784
        $$$1(this).trigger('click');
Mark Otto's avatar
grunt    
Mark Otto committed
1785
1786
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1787

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

Mark Otto's avatar
dist    
Mark Otto committed
1790
      if (items.length === 0) {
Mark Otto's avatar
grunt    
Mark Otto committed
1791
1792
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1793

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

Mark Otto's avatar
grunt    
Mark Otto committed
1796
      if (event.which === ARROW_UP_KEYCODE && index > 0) {
Mark Otto's avatar
dist    
Mark Otto committed
1797
        // Up
Mark Otto's avatar
grunt    
Mark Otto committed
1798
1799
        index--;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1800

Mark Otto's avatar
grunt    
Mark Otto committed
1801
      if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
Mark Otto's avatar
dist    
Mark Otto committed
1802
        // Down
Mark Otto's avatar
grunt    
Mark Otto committed
1803
1804
        index++;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1805

Mark Otto's avatar
grunt    
Mark Otto committed
1806
1807
      if (index < 0) {
        index = 0;
Jacob Thornton's avatar
Jacob Thornton committed
1808
      }
Mark Otto's avatar
grunt    
Mark Otto committed
1809
1810
1811
1812

      items[index].focus();
    };

Mark Otto's avatar
Mark Otto committed
1813
    _createClass(Dropdown, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
1814
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
1815
1816
1817
      get: function get() {
        return VERSION;
      }
Johann-S's avatar
build    
Johann-S committed
1818
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
1819
      key: "Default",
Johann-S's avatar
build    
Johann-S committed
1820
1821
1822
1823
      get: function get() {
        return Default;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
1824
      key: "DefaultType",
Johann-S's avatar
build    
Johann-S committed
1825
1826
1827
      get: function get() {
        return DefaultType;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1828
1829
    }]);
    return Dropdown;
Mark Otto's avatar
grunt    
Mark Otto committed
1830
1831
1832
1833
1834
1835
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
1836

Mark Otto's avatar
dist    
Mark Otto committed
1837

Mark Otto's avatar
dist    
Mark Otto committed
1838
  $$$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
1839
1840
    event.preventDefault();
    event.stopPropagation();
Mark Otto's avatar
dist    
Mark Otto committed
1841

Mark Otto's avatar
dist    
Mark Otto committed
1842
    Dropdown._jQueryInterface.call($$$1(this), 'toggle');
Johann-S's avatar
build    
Johann-S committed
1843
  }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
Jacob Thornton's avatar
Jacob Thornton committed
1844
    e.stopPropagation();
Mark Otto's avatar
Mark Otto committed
1845
  });
Jacob Thornton's avatar
Jacob Thornton committed
1846
1847
1848
1849
1850
1851
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
1852
1853
  $$$1.fn[NAME] = Dropdown._jQueryInterface;
  $$$1.fn[NAME].Constructor = Dropdown;
Mark Otto's avatar
dist    
Mark Otto committed
1854

Mark Otto's avatar
dist    
Mark Otto committed
1855
1856
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Jacob Thornton's avatar
Jacob Thornton committed
1857
1858
1859
1860
    return Dropdown._jQueryInterface;
  };

  return Dropdown;
Mark Otto's avatar
dist    
Mark Otto committed
1861
}($, Popper);
Jacob Thornton's avatar
Jacob Thornton committed
1862
1863
1864

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
1865
 * Bootstrap (v4.0.0-beta.3): modal.js
Jacob Thornton's avatar
Jacob Thornton committed
1866
1867
1868
1869
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
1870
var Modal = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
1871
1872
1873
1874
1875
1876
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'modal';
Mark Otto's avatar
Mark Otto committed
1877
  var VERSION = '4.0.0-beta.3';
Jacob Thornton's avatar
Jacob Thornton committed
1878
  var DATA_KEY = 'bs.modal';
Mark Otto's avatar
dist    
Mark Otto committed
1879
  var EVENT_KEY = "." + DATA_KEY;
Jacob Thornton's avatar
Jacob Thornton committed
1880
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
1881
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Jacob Thornton's avatar
Jacob Thornton committed
1882
1883
  var TRANSITION_DURATION = 300;
  var BACKDROP_TRANSITION_DURATION = 150;
Chris Rebert's avatar
grunt    
Chris Rebert committed
1884
  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
Jacob Thornton's avatar
Jacob Thornton committed
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898

  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
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
    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
1910
1911
1912
1913
1914
1915
  };
  var ClassName = {
    SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
    BACKDROP: 'modal-backdrop',
    OPEN: 'modal-open',
    FADE: 'fade',
Mark Otto's avatar
grunt    
Mark Otto committed
1916
    SHOW: 'show'
Jacob Thornton's avatar
Jacob Thornton committed
1917
1918
1919
1920
1921
  };
  var Selector = {
    DIALOG: '.modal-dialog',
    DATA_TOGGLE: '[data-toggle="modal"]',
    DATA_DISMISS: '[data-dismiss="modal"]',
Mark Otto's avatar
grunt    
Mark Otto committed
1922
    FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
Mark Otto's avatar
dist    
Mark Otto committed
1923
    STICKY_CONTENT: '.sticky-top',
Mark Otto's avatar
grunt    
Mark Otto committed
1924
    NAVBAR_TOGGLER: '.navbar-toggler'
Mark Otto's avatar
dist    
Mark Otto committed
1925
1926
1927
1928
1929
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
1930

Mark Otto's avatar
dist    
Mark Otto committed
1931
  };
Jacob Thornton's avatar
Jacob Thornton committed
1932

Mark Otto's avatar
dist    
Mark Otto committed
1933
1934
1935
1936
  var Modal =
  /*#__PURE__*/
  function () {
    function Modal(element, config) {
Jacob Thornton's avatar
Jacob Thornton committed
1937
1938
      this._config = this._getConfig(config);
      this._element = element;
Mark Otto's avatar
dist    
Mark Otto committed
1939
      this._dialog = $$$1(element).find(Selector.DIALOG)[0];
Jacob Thornton's avatar
Jacob Thornton committed
1940
1941
1942
1943
1944
1945
      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
1946
    } // Getters
Jacob Thornton's avatar
Jacob Thornton committed
1947
1948


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

Mark Otto's avatar
dist    
Mark Otto committed
1951
    // Public
Mark Otto's avatar
dist    
Mark Otto committed
1952
    _proto.toggle = function toggle(relatedTarget) {
Mark Otto's avatar
grunt    
Mark Otto committed
1953
1954
      return this._isShown ? this.hide() : this.show(relatedTarget);
    };
Jacob Thornton's avatar
Jacob Thornton committed
1955

Mark Otto's avatar
dist    
Mark Otto committed
1956
    _proto.show = function show(relatedTarget) {
Mark Otto's avatar
dist    
Mark Otto committed
1957
      var _this = this;
Jacob Thornton's avatar
Jacob Thornton committed
1958

Mark Otto's avatar
dist    
Mark Otto committed
1959
      if (this._isTransitioning || this._isShown) {
Mark Otto's avatar
grunt    
Mark Otto committed
1960
        return;
Mark Otto's avatar
grunt    
Mark Otto committed
1961
1962
      }

Mark Otto's avatar
dist    
Mark Otto committed
1963
      if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
Mark Otto's avatar
grunt    
Mark Otto committed
1964
1965
        this._isTransitioning = true;
      }
Mark Otto's avatar
grunt    
Mark Otto committed
1966

Mark Otto's avatar
dist    
Mark Otto committed
1967
      var showEvent = $$$1.Event(Event.SHOW, {
Mark Otto's avatar
grunt    
Mark Otto committed
1968
1969
        relatedTarget: relatedTarget
      });
Mark Otto's avatar
dist    
Mark Otto committed
1970
      $$$1(this._element).trigger(showEvent);
Jacob Thornton's avatar
Jacob Thornton committed
1971

Mark Otto's avatar
grunt    
Mark Otto committed
1972
1973
1974
      if (this._isShown || showEvent.isDefaultPrevented()) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1975

Mark Otto's avatar
grunt    
Mark Otto committed
1976
      this._isShown = true;
Jacob Thornton's avatar
Jacob Thornton committed
1977

Mark Otto's avatar
grunt    
Mark Otto committed
1978
      this._checkScrollbar();
Mark Otto's avatar
dist    
Mark Otto committed
1979

Mark Otto's avatar
grunt    
Mark Otto committed
1980
      this._setScrollbar();
Jacob Thornton's avatar
Jacob Thornton committed
1981

Mark Otto's avatar
dist    
Mark Otto committed
1982
1983
      this._adjustDialog();

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

Mark Otto's avatar
grunt    
Mark Otto committed
1986
      this._setEscapeEvent();
Mark Otto's avatar
dist    
Mark Otto committed
1987

Mark Otto's avatar
grunt    
Mark Otto committed
1988
      this._setResizeEvent();
Jacob Thornton's avatar
Jacob Thornton committed
1989

Mark Otto's avatar
dist    
Mark Otto committed
1990
      $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
1991
        return _this.hide(event);
Mark Otto's avatar
grunt    
Mark Otto committed
1992
      });
Mark Otto's avatar
dist    
Mark Otto committed
1993
1994
1995
      $$$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
1996
            _this._ignoreBackdropClick = true;
Mark Otto's avatar
grunt    
Mark Otto committed
1997
          }
Jacob Thornton's avatar
Jacob Thornton committed
1998
        });
Mark Otto's avatar
grunt    
Mark Otto committed
1999
2000
      });

Mark Otto's avatar
grunt    
Mark Otto committed
2001
      this._showBackdrop(function () {
Mark Otto's avatar
dist    
Mark Otto committed
2002
        return _this._showElement(relatedTarget);
Mark Otto's avatar
grunt    
Mark Otto committed
2003
      });
Mark Otto's avatar
grunt    
Mark Otto committed
2004
    };
Jacob Thornton's avatar
Jacob Thornton committed
2005

Mark Otto's avatar
dist    
Mark Otto committed
2006
    _proto.hide = function hide(event) {
Mark Otto's avatar
dist    
Mark Otto committed
2007
      var _this2 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
2008

Mark Otto's avatar
grunt    
Mark Otto committed
2009
2010
      if (event) {
        event.preventDefault();
Jacob Thornton's avatar
Jacob Thornton committed
2011
2012
      }

Mark Otto's avatar
grunt    
Mark Otto committed
2013
2014
      if (this._isTransitioning || !this._isShown) {
        return;
Mark Otto's avatar
grunt    
Mark Otto committed
2015
      }
Jacob Thornton's avatar
Jacob Thornton committed
2016

Mark Otto's avatar
dist    
Mark Otto committed
2017
2018
      var hideEvent = $$$1.Event(Event.HIDE);
      $$$1(this._element).trigger(hideEvent);
Jacob Thornton's avatar
Jacob Thornton committed
2019

Mark Otto's avatar
grunt    
Mark Otto committed
2020
2021
2022
      if (!this._isShown || hideEvent.isDefaultPrevented()) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
2023

Mark Otto's avatar
grunt    
Mark Otto committed
2024
      this._isShown = false;
Mark Otto's avatar
dist    
Mark Otto committed
2025
      var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
Mark Otto's avatar
dist    
Mark Otto committed
2026
2027
2028
2029

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

Mark Otto's avatar
grunt    
Mark Otto committed
2031
      this._setEscapeEvent();
Mark Otto's avatar
dist    
Mark Otto committed
2032

Mark Otto's avatar
grunt    
Mark Otto committed
2033
      this._setResizeEvent();
Jacob Thornton's avatar
Jacob Thornton committed
2034

Mark Otto's avatar
dist    
Mark Otto committed
2035
2036
2037
2038
      $$$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
2039

Mark Otto's avatar
grunt    
Mark Otto committed
2040
      if (transition) {
Mark Otto's avatar
dist    
Mark Otto committed
2041
        $$$1(this._element).one(Util.TRANSITION_END, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
2042
          return _this2._hideModal(event);
Mark Otto's avatar
grunt    
Mark Otto committed
2043
        }).emulateTransitionEnd(TRANSITION_DURATION);
Mark Otto's avatar
grunt    
Mark Otto committed
2044
2045
      } else {
        this._hideModal();
Jacob Thornton's avatar
Jacob Thornton committed
2046
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2047
    };
Jacob Thornton's avatar
Jacob Thornton committed
2048

Mark Otto's avatar
dist    
Mark Otto committed
2049
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
2050
2051
      $$$1.removeData(this._element, DATA_KEY);
      $$$1(window, document, this._element, this._backdrop).off(EVENT_KEY);
Mark Otto's avatar
grunt    
Mark Otto committed
2052
2053
2054
2055
2056
2057
2058
2059
2060
      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
2061

Mark Otto's avatar
dist    
Mark Otto committed
2062
    _proto.handleUpdate = function handleUpdate() {
Mark Otto's avatar
grunt    
Mark Otto committed
2063
      this._adjustDialog();
Mark Otto's avatar
dist    
Mark Otto committed
2064
    }; // Private
Mark Otto's avatar
grunt    
Mark Otto committed
2065

Jacob Thornton's avatar
Jacob Thornton committed
2066

Mark Otto's avatar
dist    
Mark Otto committed
2067
    _proto._getConfig = function _getConfig(config) {
Mark Otto's avatar
dist    
Mark Otto committed
2068
      config = _extends({}, Default, config);
Mark Otto's avatar
grunt    
Mark Otto committed
2069
2070
2071
      Util.typeCheckConfig(NAME, config, DefaultType);
      return config;
    };
Jacob Thornton's avatar
Jacob Thornton committed
2072

Mark Otto's avatar
dist    
Mark Otto committed
2073
    _proto._showElement = function _showElement(relatedTarget) {
Mark Otto's avatar
dist    
Mark Otto committed
2074
      var _this3 = this;
Jacob Thornton's avatar
Jacob Thornton committed
2075

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

Mark Otto's avatar
grunt    
Mark Otto committed
2078
      if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
Mark Otto's avatar
dist    
Mark Otto committed
2079
        // Don't move modal's DOM position
Mark Otto's avatar
grunt    
Mark Otto committed
2080
2081
        document.body.appendChild(this._element);
      }
Jacob Thornton's avatar
Jacob Thornton committed
2082

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

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
2089
2090
      if (transition) {
        Util.reflow(this._element);
Jacob Thornton's avatar
Jacob Thornton committed
2091
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2092

Mark Otto's avatar
dist    
Mark Otto committed
2093
      $$$1(this._element).addClass(ClassName.SHOW);
Mark Otto's avatar
grunt    
Mark Otto committed
2094
2095
2096

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

Mark Otto's avatar
dist    
Mark Otto committed
2099
      var shownEvent = $$$1.Event(Event.SHOWN, {
Mark Otto's avatar
grunt    
Mark Otto committed
2100
2101
2102
2103
        relatedTarget: relatedTarget
      });

      var transitionComplete = function transitionComplete() {
Mark Otto's avatar
dist    
Mark Otto committed
2104
2105
        if (_this3._config.focus) {
          _this3._element.focus();
Jacob Thornton's avatar
Jacob Thornton committed
2106
        }
Mark Otto's avatar
dist    
Mark Otto committed
2107

Mark Otto's avatar
dist    
Mark Otto committed
2108
        _this3._isTransitioning = false;
Mark Otto's avatar
dist    
Mark Otto committed
2109
        $$$1(_this3._element).trigger(shownEvent);
Mark Otto's avatar
grunt    
Mark Otto committed
2110
2111
2112
      };

      if (transition) {
Mark Otto's avatar
dist    
Mark Otto committed
2113
        $$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
Mark Otto's avatar
grunt    
Mark Otto committed
2114
2115
      } else {
        transitionComplete();
Jacob Thornton's avatar
Jacob Thornton committed
2116
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2117
2118
    };

Mark Otto's avatar
dist    
Mark Otto committed
2119
    _proto._enforceFocus = function _enforceFocus() {
Mark Otto's avatar
dist    
Mark Otto committed
2120
      var _this4 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
2121

Mark Otto's avatar
dist    
Mark Otto committed
2122
      $$$1(document).off(Event.FOCUSIN) // Guard against infinite focus loop
Mark Otto's avatar
Mark Otto committed
2123
      .on(Event.FOCUSIN, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
2124
        if (document !== event.target && _this4._element !== event.target && $$$1(_this4._element).has(event.target).length === 0) {
Mark Otto's avatar
dist    
Mark Otto committed
2125
          _this4._element.focus();
Jacob Thornton's avatar
Jacob Thornton committed
2126
        }
Mark Otto's avatar
grunt    
Mark Otto committed
2127
2128
2129
      });
    };

Mark Otto's avatar
dist    
Mark Otto committed
2130
    _proto._setEscapeEvent = function _setEscapeEvent() {
Mark Otto's avatar
dist    
Mark Otto committed
2131
      var _this5 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
2132
2133

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

Mark Otto's avatar
dist    
Mark Otto committed
2138
            _this5.hide();
Mark Otto's avatar
grunt    
Mark Otto committed
2139
          }
Jacob Thornton's avatar
Jacob Thornton committed
2140
        });
Mark Otto's avatar
grunt    
Mark Otto committed
2141
      } else if (!this._isShown) {
Mark Otto's avatar
dist    
Mark Otto committed
2142
        $$$1(this._element).off(Event.KEYDOWN_DISMISS);
Jacob Thornton's avatar
Jacob Thornton committed
2143
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2144
2145
    };

Mark Otto's avatar
dist    
Mark Otto committed
2146
    _proto._setResizeEvent = function _setResizeEvent() {
Mark Otto's avatar
dist    
Mark Otto committed
2147
      var _this6 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
2148

Mark Otto's avatar
grunt    
Mark Otto committed
2149
      if (this._isShown) {
Mark Otto's avatar
dist    
Mark Otto committed
2150
        $$$1(window).on(Event.RESIZE, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
2151
          return _this6.handleUpdate(event);
Mark Otto's avatar
grunt    
Mark Otto committed
2152
        });
Mark Otto's avatar
grunt    
Mark Otto committed
2153
      } else {
Mark Otto's avatar
dist    
Mark Otto committed
2154
        $$$1(window).off(Event.RESIZE);
Jacob Thornton's avatar
Jacob Thornton committed
2155
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2156
    };
Jacob Thornton's avatar
Jacob Thornton committed
2157

Mark Otto's avatar
dist    
Mark Otto committed
2158
    _proto._hideModal = function _hideModal() {
Mark Otto's avatar
dist    
Mark Otto committed
2159
      var _this7 = this;
Jacob Thornton's avatar
Jacob Thornton committed
2160

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
2165
      this._isTransitioning = false;
Mark Otto's avatar
dist    
Mark Otto committed
2166

Mark Otto's avatar
grunt    
Mark Otto committed
2167
      this._showBackdrop(function () {
Mark Otto's avatar
dist    
Mark Otto committed
2168
        $$$1(document.body).removeClass(ClassName.OPEN);
Mark Otto's avatar
dist    
Mark Otto committed
2169

Mark Otto's avatar
dist    
Mark Otto committed
2170
        _this7._resetAdjustments();
Mark Otto's avatar
dist    
Mark Otto committed
2171

Mark Otto's avatar
dist    
Mark Otto committed
2172
        _this7._resetScrollbar();
Mark Otto's avatar
dist    
Mark Otto committed
2173

Mark Otto's avatar
dist    
Mark Otto committed
2174
        $$$1(_this7._element).trigger(Event.HIDDEN);
Mark Otto's avatar
grunt    
Mark Otto committed
2175
2176
      });
    };
Jacob Thornton's avatar
Jacob Thornton committed
2177

Mark Otto's avatar
dist    
Mark Otto committed
2178
    _proto._removeBackdrop = function _removeBackdrop() {
Mark Otto's avatar
grunt    
Mark Otto committed
2179
      if (this._backdrop) {
Mark Otto's avatar
dist    
Mark Otto committed
2180
        $$$1(this._backdrop).remove();
Mark Otto's avatar
grunt    
Mark Otto committed
2181
2182
2183
        this._backdrop = null;
      }
    };
Jacob Thornton's avatar
Jacob Thornton committed
2184

Mark Otto's avatar
dist    
Mark Otto committed
2185
    _proto._showBackdrop = function _showBackdrop(callback) {
Mark Otto's avatar
dist    
Mark Otto committed
2186
      var _this8 = this;
Jacob Thornton's avatar
Jacob Thornton committed
2187

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

Mark Otto's avatar
grunt    
Mark Otto committed
2190
2191
2192
2193
2194
2195
      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
2196
          $$$1(this._backdrop).addClass(animate);
Mark Otto's avatar
grunt    
Mark Otto committed
2197
        }
Jacob Thornton's avatar
Jacob Thornton committed
2198

Mark Otto's avatar
dist    
Mark Otto committed
2199
2200
        $$$1(this._backdrop).appendTo(document.body);
        $$$1(this._element).on(Event.CLICK_DISMISS, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
2201
2202
          if (_this8._ignoreBackdropClick) {
            _this8._ignoreBackdropClick = false;
Jacob Thornton's avatar
Jacob Thornton committed
2203
2204
            return;
          }
Mark Otto's avatar
dist    
Mark Otto committed
2205

Mark Otto's avatar
grunt    
Mark Otto committed
2206
          if (event.target !== event.currentTarget) {
Jacob Thornton's avatar
Jacob Thornton committed
2207
2208
            return;
          }
Mark Otto's avatar
dist    
Mark Otto committed
2209

Mark Otto's avatar
dist    
Mark Otto committed
2210
2211
          if (_this8._config.backdrop === 'static') {
            _this8._element.focus();
Mark Otto's avatar
grunt    
Mark Otto committed
2212
          } else {
Mark Otto's avatar
dist    
Mark Otto committed
2213
            _this8.hide();
Mark Otto's avatar
grunt    
Mark Otto committed
2214
2215
          }
        });
Jacob Thornton's avatar
Jacob Thornton committed
2216

Mark Otto's avatar
grunt    
Mark Otto committed
2217
2218
2219
        if (doAnimate) {
          Util.reflow(this._backdrop);
        }
Jacob Thornton's avatar
Jacob Thornton committed
2220

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

Mark Otto's avatar
grunt    
Mark Otto committed
2223
2224
2225
2226
2227
        if (!callback) {
          return;
        }

        if (!doAnimate) {
Jacob Thornton's avatar
Jacob Thornton committed
2228
          callback();
Mark Otto's avatar
grunt    
Mark Otto committed
2229
          return;
Jacob Thornton's avatar
Jacob Thornton committed
2230
2231
        }

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

Mark Otto's avatar
grunt    
Mark Otto committed
2236
        var callbackRemove = function callbackRemove() {
Mark Otto's avatar
dist    
Mark Otto committed
2237
          _this8._removeBackdrop();
Mark Otto's avatar
dist    
Mark Otto committed
2238

Mark Otto's avatar
grunt    
Mark Otto committed
2239
2240
2241
2242
          if (callback) {
            callback();
          }
        };
Jacob Thornton's avatar
Jacob Thornton committed
2243

Mark Otto's avatar
dist    
Mark Otto committed
2244
2245
        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
2246
2247
        } else {
          callbackRemove();
Jacob Thornton's avatar
Jacob Thornton committed
2248
        }
Mark Otto's avatar
grunt    
Mark Otto committed
2249
2250
2251
      } else if (callback) {
        callback();
      }
Mark Otto's avatar
dist    
Mark Otto committed
2252
    }; // ----------------------------------------------------------------------
Mark Otto's avatar
grunt    
Mark Otto committed
2253
2254
2255
2256
    // 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
2257
2258

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

      if (!this._isBodyOverflowing && isModalOverflowing) {
Mark Otto's avatar
dist    
Mark Otto committed
2262
        this._element.style.paddingLeft = this._scrollbarWidth + "px";
Jacob Thornton's avatar
Jacob Thornton committed
2263
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2264
2265

      if (this._isBodyOverflowing && !isModalOverflowing) {
Mark Otto's avatar
dist    
Mark Otto committed
2266
        this._element.style.paddingRight = this._scrollbarWidth + "px";
Jacob Thornton's avatar
Jacob Thornton committed
2267
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2268
2269
    };

Mark Otto's avatar
dist    
Mark Otto committed
2270
    _proto._resetAdjustments = function _resetAdjustments() {
Mark Otto's avatar
grunt    
Mark Otto committed
2271
2272
2273
2274
      this._element.style.paddingLeft = '';
      this._element.style.paddingRight = '';
    };

Mark Otto's avatar
dist    
Mark Otto committed
2275
    _proto._checkScrollbar = function _checkScrollbar() {
Mark Otto's avatar
dist    
Mark Otto committed
2276
2277
      var rect = document.body.getBoundingClientRect();
      this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
Mark Otto's avatar
grunt    
Mark Otto committed
2278
2279
2280
      this._scrollbarWidth = this._getScrollbarWidth();
    };

Mark Otto's avatar
dist    
Mark Otto committed
2281
    _proto._setScrollbar = function _setScrollbar() {
Mark Otto's avatar
dist    
Mark Otto committed
2282
      var _this9 = this;
Mark Otto's avatar
grunt    
Mark Otto committed
2283
2284

      if (this._isBodyOverflowing) {
Mark Otto's avatar
grunt    
Mark Otto committed
2285
2286
2287
        // 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
2288
2289
2290
2291
        $$$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
2292
        }); // Adjust sticky content margin
Mark Otto's avatar
dist    
Mark Otto committed
2293

Mark Otto's avatar
dist    
Mark Otto committed
2294
2295
2296
2297
        $$$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
2298
        }); // Adjust navbar-toggler margin
Mark Otto's avatar
grunt    
Mark Otto committed
2299

Mark Otto's avatar
dist    
Mark Otto committed
2300
2301
2302
2303
        $$$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
2304
        }); // Adjust body padding
Mark Otto's avatar
grunt    
Mark Otto committed
2305

Mark Otto's avatar
Mark Otto committed
2306
        var actualPadding = document.body.style.paddingRight;
Mark Otto's avatar
dist    
Mark Otto committed
2307
2308
        var calculatedPadding = $$$1('body').css('padding-right');
        $$$1('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
Jacob Thornton's avatar
Jacob Thornton committed
2309
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2310
    };
Jacob Thornton's avatar
Jacob Thornton committed
2311

Mark Otto's avatar
dist    
Mark Otto committed
2312
    _proto._resetScrollbar = function _resetScrollbar() {
Mark Otto's avatar
grunt    
Mark Otto committed
2313
      // Restore fixed content padding
Mark Otto's avatar
dist    
Mark Otto committed
2314
2315
      $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
        var padding = $$$1(element).data('padding-right');
Mark Otto's avatar
dist    
Mark Otto committed
2316

Mark Otto's avatar
grunt    
Mark Otto committed
2317
        if (typeof padding !== 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
2318
          $$$1(element).css('padding-right', padding).removeData('padding-right');
Mark Otto's avatar
grunt    
Mark Otto committed
2319
        }
Mark Otto's avatar
dist    
Mark Otto committed
2320
      }); // Restore sticky content and navbar-toggler margin
Mark Otto's avatar
grunt    
Mark Otto committed
2321

Mark Otto's avatar
dist    
Mark Otto committed
2322
2323
      $$$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
2324

Mark Otto's avatar
grunt    
Mark Otto committed
2325
        if (typeof margin !== 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
2326
          $$$1(element).css('margin-right', margin).removeData('margin-right');
Mark Otto's avatar
grunt    
Mark Otto committed
2327
        }
Mark Otto's avatar
dist    
Mark Otto committed
2328
      }); // Restore body padding
Mark Otto's avatar
grunt    
Mark Otto committed
2329

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

Mark Otto's avatar
grunt    
Mark Otto committed
2332
      if (typeof padding !== 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
2333
        $$$1('body').css('padding-right', padding).removeData('padding-right');
Mark Otto's avatar
grunt    
Mark Otto committed
2334
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2335
    };
Jacob Thornton's avatar
Jacob Thornton committed
2336

Mark Otto's avatar
dist    
Mark Otto committed
2337
    _proto._getScrollbarWidth = function _getScrollbarWidth() {
Mark Otto's avatar
grunt    
Mark Otto committed
2338
2339
2340
2341
      // 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
2342
      var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
Mark Otto's avatar
grunt    
Mark Otto committed
2343
2344
      document.body.removeChild(scrollDiv);
      return scrollbarWidth;
Mark Otto's avatar
dist    
Mark Otto committed
2345
    }; // Static
Mark Otto's avatar
grunt    
Mark Otto committed
2346
2347
2348
2349


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

Mark Otto's avatar
dist    
Mark Otto committed
2352
        var _config = _extends({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
Mark Otto's avatar
grunt    
Mark Otto committed
2353
2354
2355

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

Mark Otto's avatar
grunt    
Mark Otto committed
2359
        if (typeof config === 'string') {
Mark Otto's avatar
dist    
Mark Otto committed
2360
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
2361
            throw new TypeError("No method named \"" + config + "\"");
Jacob Thornton's avatar
Jacob Thornton committed
2362
          }
Mark Otto's avatar
dist    
Mark Otto committed
2363

Mark Otto's avatar
grunt    
Mark Otto committed
2364
2365
2366
2367
2368
2369
2370
          data[config](relatedTarget);
        } else if (_config.show) {
          data.show(relatedTarget);
        }
      });
    };

Mark Otto's avatar
Mark Otto committed
2371
    _createClass(Modal, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
2372
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
2373
2374
2375
2376
      get: function get() {
        return VERSION;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
2377
      key: "Default",
Jacob Thornton's avatar
Jacob Thornton committed
2378
2379
2380
2381
2382
      get: function get() {
        return Default;
      }
    }]);
    return Modal;
Mark Otto's avatar
grunt    
Mark Otto committed
2383
2384
2385
2386
2387
2388
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
2389

Mark Otto's avatar
dist    
Mark Otto committed
2390

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

Mark Otto's avatar
dist    
Mark Otto committed
2394
    var target;
Jacob Thornton's avatar
Jacob Thornton committed
2395
2396
2397
    var selector = Util.getSelectorFromElement(this);

    if (selector) {
Mark Otto's avatar
dist    
Mark Otto committed
2398
      target = $$$1(selector)[0];
Jacob Thornton's avatar
Jacob Thornton committed
2399
2400
    }

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

Mark Otto's avatar
grunt    
Mark Otto committed
2403
    if (this.tagName === 'A' || this.tagName === 'AREA') {
Jacob Thornton's avatar
Jacob Thornton committed
2404
2405
2406
      event.preventDefault();
    }

Mark Otto's avatar
dist    
Mark Otto committed
2407
    var $target = $$$1(target).one(Event.SHOW, function (showEvent) {
Jacob Thornton's avatar
Jacob Thornton committed
2408
      if (showEvent.isDefaultPrevented()) {
Mark Otto's avatar
dist    
Mark Otto committed
2409
        // Only register focus restorer if modal will actually get shown
Jacob Thornton's avatar
Jacob Thornton committed
2410
2411
2412
2413
        return;
      }

      $target.one(Event.HIDDEN, function () {
Mark Otto's avatar
dist    
Mark Otto committed
2414
        if ($$$1(_this10).is(':visible')) {
Mark Otto's avatar
dist    
Mark Otto committed
2415
          _this10.focus();
Jacob Thornton's avatar
Jacob Thornton committed
2416
2417
2418
2419
        }
      });
    });

Mark Otto's avatar
dist    
Mark Otto committed
2420
    Modal._jQueryInterface.call($$$1(target), config, this);
Mark Otto's avatar
Mark Otto committed
2421
  });
Jacob Thornton's avatar
Jacob Thornton committed
2422
2423
2424
2425
2426
2427
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
2428
2429
  $$$1.fn[NAME] = Modal._jQueryInterface;
  $$$1.fn[NAME].Constructor = Modal;
Mark Otto's avatar
dist    
Mark Otto committed
2430

Mark Otto's avatar
dist    
Mark Otto committed
2431
2432
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Jacob Thornton's avatar
Jacob Thornton committed
2433
2434
2435
2436
    return Modal._jQueryInterface;
  };

  return Modal;
Mark Otto's avatar
dist    
Mark Otto committed
2437
}($);
Jacob Thornton's avatar
Jacob Thornton committed
2438
2439
2440

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
2441
 * Bootstrap (v4.0.0-beta.3): tooltip.js
Jacob Thornton's avatar
Jacob Thornton committed
2442
2443
2444
2445
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

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

Mark Otto's avatar
dist    
Mark Otto committed
2531
  };
Jacob Thornton's avatar
Jacob Thornton committed
2532

Mark Otto's avatar
dist    
Mark Otto committed
2533
2534
2535
2536
  var Tooltip =
  /*#__PURE__*/
  function () {
    function Tooltip(element, config) {
Mark Otto's avatar
dist    
Mark Otto committed
2537
2538
2539
2540
2541
      /**
       * Check for Popper dependency
       * Popper - https://popper.js.org
       */
      if (typeof Popper === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
2542
        throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)');
Mark Otto's avatar
dist    
Mark Otto committed
2543
2544
2545
      } // private


Mark Otto's avatar
dist    
Mark Otto committed
2546
2547
2548
2549
      this._isEnabled = true;
      this._timeout = 0;
      this._hoverState = '';
      this._activeTrigger = {};
Mark Otto's avatar
dist    
Mark Otto committed
2550
      this._popper = null; // Protected
Jacob Thornton's avatar
Jacob Thornton committed
2551

Mark Otto's avatar
dist    
Mark Otto committed
2552
2553
2554
      this.element = element;
      this.config = this._getConfig(config);
      this.tip = null;
Jacob Thornton's avatar
Jacob Thornton committed
2555

Mark Otto's avatar
dist    
Mark Otto committed
2556
      this._setListeners();
Mark Otto's avatar
dist    
Mark Otto committed
2557
    } // Getters
Jacob Thornton's avatar
Jacob Thornton committed
2558
2559


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

Mark Otto's avatar
dist    
Mark Otto committed
2562
    // Public
Mark Otto's avatar
dist    
Mark Otto committed
2563
    _proto.enable = function enable() {
Mark Otto's avatar
dist    
Mark Otto committed
2564
2565
      this._isEnabled = true;
    };
Jacob Thornton's avatar
Jacob Thornton committed
2566

Mark Otto's avatar
dist    
Mark Otto committed
2567
    _proto.disable = function disable() {
Mark Otto's avatar
dist    
Mark Otto committed
2568
2569
      this._isEnabled = false;
    };
Jacob Thornton's avatar
Jacob Thornton committed
2570

Mark Otto's avatar
dist    
Mark Otto committed
2571
    _proto.toggleEnabled = function toggleEnabled() {
Mark Otto's avatar
dist    
Mark Otto committed
2572
2573
      this._isEnabled = !this._isEnabled;
    };
Jacob Thornton's avatar
Jacob Thornton committed
2574

Mark Otto's avatar
dist    
Mark Otto committed
2575
    _proto.toggle = function toggle(event) {
Mark Otto's avatar
dist    
Mark Otto committed
2576
2577
2578
      if (!this._isEnabled) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
2579

Mark Otto's avatar
dist    
Mark Otto committed
2580
2581
      if (event) {
        var dataKey = this.constructor.DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
2582
        var context = $$$1(event.currentTarget).data(dataKey);
Jacob Thornton's avatar
Jacob Thornton committed
2583

Mark Otto's avatar
dist    
Mark Otto committed
2584
2585
        if (!context) {
          context = new this.constructor(event.currentTarget, this._getDelegateConfig());
Mark Otto's avatar
dist    
Mark Otto committed
2586
          $$$1(event.currentTarget).data(dataKey, context);
Mark Otto's avatar
dist    
Mark Otto committed
2587
        }
Jacob Thornton's avatar
Jacob Thornton committed
2588

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

Mark Otto's avatar
dist    
Mark Otto committed
2591
2592
2593
2594
        if (context._isWithActiveTrigger()) {
          context._enter(null, context);
        } else {
          context._leave(null, context);
Mark Otto's avatar
grunt    
Mark Otto committed
2595
        }
Mark Otto's avatar
dist    
Mark Otto committed
2596
      } else {
Mark Otto's avatar
dist    
Mark Otto committed
2597
        if ($$$1(this.getTipElement()).hasClass(ClassName.SHOW)) {
Mark Otto's avatar
dist    
Mark Otto committed
2598
          this._leave(null, this);
Mark Otto's avatar
dist    
Mark Otto committed
2599

Mark Otto's avatar
dist    
Mark Otto committed
2600
          return;
Mark Otto's avatar
grunt    
Mark Otto committed
2601
        }
Jacob Thornton's avatar
Jacob Thornton committed
2602

Mark Otto's avatar
dist    
Mark Otto committed
2603
2604
        this._enter(null, this);
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2605
    };
Jacob Thornton's avatar
Jacob Thornton committed
2606

Mark Otto's avatar
dist    
Mark Otto committed
2607
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
2608
      clearTimeout(this._timeout);
Mark Otto's avatar
dist    
Mark Otto committed
2609
2610
2611
      $$$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
2612
2613

      if (this.tip) {
Mark Otto's avatar
dist    
Mark Otto committed
2614
        $$$1(this.tip).remove();
Jacob Thornton's avatar
Jacob Thornton committed
2615
2616
      }

Mark Otto's avatar
dist    
Mark Otto committed
2617
2618
2619
2620
      this._isEnabled = null;
      this._timeout = null;
      this._hoverState = null;
      this._activeTrigger = null;
Mark Otto's avatar
dist    
Mark Otto committed
2621

Mark Otto's avatar
dist    
Mark Otto committed
2622
2623
2624
      if (this._popper !== null) {
        this._popper.destroy();
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2625

Mark Otto's avatar
dist    
Mark Otto committed
2626
2627
2628
2629
      this._popper = null;
      this.element = null;
      this.config = null;
      this.tip = null;
Mark Otto's avatar
grunt    
Mark Otto committed
2630
    };
Jacob Thornton's avatar
Jacob Thornton committed
2631

Mark Otto's avatar
dist    
Mark Otto committed
2632
    _proto.show = function show() {
Mark Otto's avatar
dist    
Mark Otto committed
2633
      var _this = this;
Jacob Thornton's avatar
Jacob Thornton committed
2634

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

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

Mark Otto's avatar
dist    
Mark Otto committed
2641
      if (this.isWithContent() && this._isEnabled) {
Mark Otto's avatar
dist    
Mark Otto committed
2642
2643
        $$$1(this.element).trigger(showEvent);
        var isInTheDom = $$$1.contains(this.element.ownerDocument.documentElement, this.element);
Jacob Thornton's avatar
Jacob Thornton committed
2644

Mark Otto's avatar
dist    
Mark Otto committed
2645
2646
2647
        if (showEvent.isDefaultPrevented() || !isInTheDom) {
          return;
        }
Jacob Thornton's avatar
Jacob Thornton committed
2648

Mark Otto's avatar
dist    
Mark Otto committed
2649
2650
2651
2652
2653
2654
2655
        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
2656
          $$$1(tip).addClass(ClassName.FADE);
Jacob Thornton's avatar
Jacob Thornton committed
2657
        }
Jacob Thornton's avatar
Jacob Thornton committed
2658

Mark Otto's avatar
dist    
Mark Otto committed
2659
        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
2660

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

Mark Otto's avatar
dist    
Mark Otto committed
2663
        this.addAttachmentClass(attachment);
Mark Otto's avatar
dist    
Mark Otto committed
2664
2665
        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
2666

Mark Otto's avatar
dist    
Mark Otto committed
2667
2668
        if (!$$$1.contains(this.element.ownerDocument.documentElement, this.tip)) {
          $$$1(tip).appendTo(container);
Jacob Thornton's avatar
Jacob Thornton committed
2669
        }
Mark Otto's avatar
grunt    
Mark Otto committed
2670

Mark Otto's avatar
dist    
Mark Otto committed
2671
        $$$1(this.element).trigger(this.constructor.Event.INSERTED);
Mark Otto's avatar
dist    
Mark Otto committed
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
        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
2683
2684
2685
            },
            preventOverflow: {
              boundariesElement: this.config.boundary
Mark Otto's avatar
dist    
Mark Otto committed
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
            }
          },
          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
2697
        $$$1(tip).addClass(ClassName.SHOW); // If this is a touch-enabled device we add extra
Mark Otto's avatar
dist    
Mark Otto committed
2698
2699
2700
        // 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
2701

Mark Otto's avatar
dist    
Mark Otto committed
2702
        if ('ontouchstart' in document.documentElement) {
Mark Otto's avatar
dist    
Mark Otto committed
2703
          $$$1('body').children().on('mouseover', null, $$$1.noop);
Mark Otto's avatar
dist    
Mark Otto committed
2704
        }
Mark Otto's avatar
grunt    
Mark Otto committed
2705

Mark Otto's avatar
dist    
Mark Otto committed
2706
2707
2708
2709
        var complete = function complete() {
          if (_this.config.animation) {
            _this._fixTransition();
          }
Mark Otto's avatar
dist    
Mark Otto committed
2710

Mark Otto's avatar
dist    
Mark Otto committed
2711
2712
          var prevHoverState = _this._hoverState;
          _this._hoverState = null;
Mark Otto's avatar
dist    
Mark Otto committed
2713
          $$$1(_this.element).trigger(_this.constructor.Event.SHOWN);
Jacob Thornton's avatar
Jacob Thornton committed
2714

Mark Otto's avatar
dist    
Mark Otto committed
2715
2716
2717
2718
2719
          if (prevHoverState === HoverState.OUT) {
            _this._leave(null, _this);
          }
        };

Mark Otto's avatar
dist    
Mark Otto committed
2720
2721
        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
2722
2723
2724
2725
        } else {
          complete();
        }
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2726
    };
Jacob Thornton's avatar
Jacob Thornton committed
2727

Mark Otto's avatar
dist    
Mark Otto committed
2728
    _proto.hide = function hide(callback) {
Mark Otto's avatar
dist    
Mark Otto committed
2729
      var _this2 = this;
Jacob Thornton's avatar
Jacob Thornton committed
2730

Mark Otto's avatar
dist    
Mark Otto committed
2731
      var tip = this.getTipElement();
Mark Otto's avatar
dist    
Mark Otto committed
2732
      var hideEvent = $$$1.Event(this.constructor.Event.HIDE);
Mark Otto's avatar
dist    
Mark Otto committed
2733

Mark Otto's avatar
dist    
Mark Otto committed
2734
2735
2736
2737
      var complete = function complete() {
        if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
          tip.parentNode.removeChild(tip);
        }
Mark Otto's avatar
grunt    
Mark Otto committed
2738

Mark Otto's avatar
dist    
Mark Otto committed
2739
        _this2._cleanTipClass();
Mark Otto's avatar
dist    
Mark Otto committed
2740

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

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

Mark Otto's avatar
dist    
Mark Otto committed
2745
2746
        if (_this2._popper !== null) {
          _this2._popper.destroy();
Mark Otto's avatar
grunt    
Mark Otto committed
2747
2748
        }

Mark Otto's avatar
dist    
Mark Otto committed
2749
2750
        if (callback) {
          callback();
Mark Otto's avatar
grunt    
Mark Otto committed
2751
        }
Mark Otto's avatar
dist    
Mark Otto committed
2752
      };
Mark Otto's avatar
grunt    
Mark Otto committed
2753

Mark Otto's avatar
dist    
Mark Otto committed
2754
      $$$1(this.element).trigger(hideEvent);
Mark Otto's avatar
dist    
Mark Otto committed
2755
2756
2757

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

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

Mark Otto's avatar
dist    
Mark Otto committed
2763
      if ('ontouchstart' in document.documentElement) {
Mark Otto's avatar
dist    
Mark Otto committed
2764
        $$$1('body').children().off('mouseover', null, $$$1.noop);
Mark Otto's avatar
dist    
Mark Otto committed
2765
      }
Jacob Thornton's avatar
Jacob Thornton committed
2766

Mark Otto's avatar
dist    
Mark Otto committed
2767
2768
2769
      this._activeTrigger[Trigger.CLICK] = false;
      this._activeTrigger[Trigger.FOCUS] = false;
      this._activeTrigger[Trigger.HOVER] = false;
Jacob Thornton's avatar
Jacob Thornton committed
2770

Mark Otto's avatar
dist    
Mark Otto committed
2771
2772
      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
2773
2774
2775
      } else {
        complete();
      }
Jacob Thornton's avatar
Jacob Thornton committed
2776

Mark Otto's avatar
dist    
Mark Otto committed
2777
2778
      this._hoverState = '';
    };
Jacob Thornton's avatar
Jacob Thornton committed
2779

Mark Otto's avatar
dist    
Mark Otto committed
2780
    _proto.update = function update() {
Mark Otto's avatar
dist    
Mark Otto committed
2781
2782
2783
      if (this._popper !== null) {
        this._popper.scheduleUpdate();
      }
Mark Otto's avatar
dist    
Mark Otto committed
2784
    }; // Protected
Jacob Thornton's avatar
Jacob Thornton committed
2785
2786


Mark Otto's avatar
dist    
Mark Otto committed
2787
    _proto.isWithContent = function isWithContent() {
Mark Otto's avatar
dist    
Mark Otto committed
2788
2789
      return Boolean(this.getTitle());
    };
Jacob Thornton's avatar
Jacob Thornton committed
2790

Mark Otto's avatar
dist    
Mark Otto committed
2791
    _proto.addAttachmentClass = function addAttachmentClass(attachment) {
Mark Otto's avatar
dist    
Mark Otto committed
2792
      $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
Mark Otto's avatar
dist    
Mark Otto committed
2793
    };
Jacob Thornton's avatar
Jacob Thornton committed
2794

Mark Otto's avatar
dist    
Mark Otto committed
2795
    _proto.getTipElement = function getTipElement() {
Mark Otto's avatar
dist    
Mark Otto committed
2796
      this.tip = this.tip || $$$1(this.config.template)[0];
Mark Otto's avatar
dist    
Mark Otto committed
2797
2798
      return this.tip;
    };
Jacob Thornton's avatar
Jacob Thornton committed
2799

Mark Otto's avatar
dist    
Mark Otto committed
2800
    _proto.setContent = function setContent() {
Mark Otto's avatar
dist    
Mark Otto committed
2801
      var $tip = $$$1(this.getTipElement());
Mark Otto's avatar
dist    
Mark Otto committed
2802
      this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
Mark Otto's avatar
dist    
Mark Otto committed
2803
      $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
Mark Otto's avatar
dist    
Mark Otto committed
2804
    };
Jacob Thornton's avatar
Jacob Thornton committed
2805

Mark Otto's avatar
dist    
Mark Otto committed
2806
    _proto.setElementContent = function setElementContent($element, content) {
Mark Otto's avatar
dist    
Mark Otto committed
2807
      var html = this.config.html;
Mark Otto's avatar
dist    
Mark Otto committed
2808
2809

      if (typeof content === 'object' && (content.nodeType || content.jquery)) {
Mark Otto's avatar
dist    
Mark Otto committed
2810
        // Content is a DOM node or a jQuery
Mark Otto's avatar
dist    
Mark Otto committed
2811
        if (html) {
Mark Otto's avatar
dist    
Mark Otto committed
2812
          if (!$$$1(content).parent().is($element)) {
Mark Otto's avatar
dist    
Mark Otto committed
2813
2814
2815
            $element.empty().append(content);
          }
        } else {
Mark Otto's avatar
dist    
Mark Otto committed
2816
          $element.text($$$1(content).text());
Mark Otto's avatar
dist    
Mark Otto committed
2817
2818
2819
2820
2821
        }
      } else {
        $element[html ? 'html' : 'text'](content);
      }
    };
Jacob Thornton's avatar
Jacob Thornton committed
2822

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

Mark Otto's avatar
dist    
Mark Otto committed
2826
2827
2828
      if (!title) {
        title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
      }
Jacob Thornton's avatar
Jacob Thornton committed
2829

Mark Otto's avatar
dist    
Mark Otto committed
2830
      return title;
Mark Otto's avatar
dist    
Mark Otto committed
2831
    }; // Private
Jacob Thornton's avatar
Jacob Thornton committed
2832
2833


Mark Otto's avatar
dist    
Mark Otto committed
2834
    _proto._getAttachment = function _getAttachment(placement) {
Mark Otto's avatar
dist    
Mark Otto committed
2835
2836
      return AttachmentMap[placement.toUpperCase()];
    };
Jacob Thornton's avatar
Jacob Thornton committed
2837

Mark Otto's avatar
dist    
Mark Otto committed
2838
    _proto._setListeners = function _setListeners() {
Mark Otto's avatar
dist    
Mark Otto committed
2839
      var _this3 = this;
Jacob Thornton's avatar
Jacob Thornton committed
2840

Mark Otto's avatar
dist    
Mark Otto committed
2841
2842
2843
      var triggers = this.config.trigger.split(' ');
      triggers.forEach(function (trigger) {
        if (trigger === 'click') {
Mark Otto's avatar
dist    
Mark Otto committed
2844
          $$$1(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
2845
2846
2847
2848
2849
            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
2850
          $$$1(_this3.element).on(eventIn, _this3.config.selector, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
2851
2852
2853
2854
2855
            return _this3._enter(event);
          }).on(eventOut, _this3.config.selector, function (event) {
            return _this3._leave(event);
          });
        }
Jacob Thornton's avatar
Jacob Thornton committed
2856

Mark Otto's avatar
dist    
Mark Otto committed
2857
        $$$1(_this3.element).closest('.modal').on('hide.bs.modal', function () {
Mark Otto's avatar
dist    
Mark Otto committed
2858
2859
          return _this3.hide();
        });
Mark Otto's avatar
grunt    
Mark Otto committed
2860
      });
Jacob Thornton's avatar
Jacob Thornton committed
2861

Mark Otto's avatar
dist    
Mark Otto committed
2862
      if (this.config.selector) {
Mark Otto's avatar
dist    
Mark Otto committed
2863
        this.config = _extends({}, this.config, {
Mark Otto's avatar
dist    
Mark Otto committed
2864
2865
2866
2867
2868
2869
2870
          trigger: 'manual',
          selector: ''
        });
      } else {
        this._fixTitle();
      }
    };
Jacob Thornton's avatar
Jacob Thornton committed
2871

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

Mark Otto's avatar
dist    
Mark Otto committed
2875
2876
2877
      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
2878
      }
Mark Otto's avatar
dist    
Mark Otto committed
2879
    };
Jacob Thornton's avatar
Jacob Thornton committed
2880

Mark Otto's avatar
dist    
Mark Otto committed
2881
    _proto._enter = function _enter(event, context) {
Mark Otto's avatar
dist    
Mark Otto committed
2882
      var dataKey = this.constructor.DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
2883
      context = context || $$$1(event.currentTarget).data(dataKey);
Jacob Thornton's avatar
Jacob Thornton committed
2884

Mark Otto's avatar
dist    
Mark Otto committed
2885
2886
      if (!context) {
        context = new this.constructor(event.currentTarget, this._getDelegateConfig());
Mark Otto's avatar
dist    
Mark Otto committed
2887
        $$$1(event.currentTarget).data(dataKey, context);
Mark Otto's avatar
grunt    
Mark Otto committed
2888
      }
Jacob Thornton's avatar
Jacob Thornton committed
2889

Mark Otto's avatar
dist    
Mark Otto committed
2890
2891
2892
      if (event) {
        context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
      }
Jacob Thornton's avatar
Jacob Thornton committed
2893

Mark Otto's avatar
dist    
Mark Otto committed
2894
      if ($$$1(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
Mark Otto's avatar
dist    
Mark Otto committed
2895
2896
2897
        context._hoverState = HoverState.SHOW;
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
2898

Mark Otto's avatar
dist    
Mark Otto committed
2899
2900
      clearTimeout(context._timeout);
      context._hoverState = HoverState.SHOW;
Jacob Thornton's avatar
Jacob Thornton committed
2901

Mark Otto's avatar
dist    
Mark Otto committed
2902
2903
2904
      if (!context.config.delay || !context.config.delay.show) {
        context.show();
        return;
Jacob Thornton's avatar
Jacob Thornton committed
2905
2906
      }

Mark Otto's avatar
dist    
Mark Otto committed
2907
2908
2909
2910
2911
      context._timeout = setTimeout(function () {
        if (context._hoverState === HoverState.SHOW) {
          context.show();
        }
      }, context.config.delay.show);
Mark Otto's avatar
grunt    
Mark Otto committed
2912
    };
Jacob Thornton's avatar
Jacob Thornton committed
2913

Mark Otto's avatar
dist    
Mark Otto committed
2914
    _proto._leave = function _leave(event, context) {
Mark Otto's avatar
dist    
Mark Otto committed
2915
      var dataKey = this.constructor.DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
2916
      context = context || $$$1(event.currentTarget).data(dataKey);
Mark Otto's avatar
grunt    
Mark Otto committed
2917

Mark Otto's avatar
dist    
Mark Otto committed
2918
2919
      if (!context) {
        context = new this.constructor(event.currentTarget, this._getDelegateConfig());
Mark Otto's avatar
dist    
Mark Otto committed
2920
        $$$1(event.currentTarget).data(dataKey, context);
Mark Otto's avatar
dist    
Mark Otto committed
2921
2922
      }

Mark Otto's avatar
dist    
Mark Otto committed
2923
2924
      if (event) {
        context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
Jacob Thornton's avatar
Jacob Thornton committed
2925
2926
      }

Mark Otto's avatar
dist    
Mark Otto committed
2927
2928
      if (context._isWithActiveTrigger()) {
        return;
Mark Otto's avatar
grunt    
Mark Otto committed
2929
      }
Jacob Thornton's avatar
Jacob Thornton committed
2930

Mark Otto's avatar
dist    
Mark Otto committed
2931
2932
      clearTimeout(context._timeout);
      context._hoverState = HoverState.OUT;
Jacob Thornton's avatar
Jacob Thornton committed
2933

Mark Otto's avatar
dist    
Mark Otto committed
2934
2935
2936
      if (!context.config.delay || !context.config.delay.hide) {
        context.hide();
        return;
Mark Otto's avatar
grunt    
Mark Otto committed
2937
      }
Jacob Thornton's avatar
Jacob Thornton committed
2938

Mark Otto's avatar
dist    
Mark Otto committed
2939
2940
2941
2942
2943
2944
      context._timeout = setTimeout(function () {
        if (context._hoverState === HoverState.OUT) {
          context.hide();
        }
      }, context.config.delay.hide);
    };
Jacob Thornton's avatar
Jacob Thornton committed
2945

Mark Otto's avatar
dist    
Mark Otto committed
2946
    _proto._isWithActiveTrigger = function _isWithActiveTrigger() {
Mark Otto's avatar
dist    
Mark Otto committed
2947
2948
2949
2950
      for (var trigger in this._activeTrigger) {
        if (this._activeTrigger[trigger]) {
          return true;
        }
Mark Otto's avatar
grunt    
Mark Otto committed
2951
      }
Jacob Thornton's avatar
Jacob Thornton committed
2952

Mark Otto's avatar
dist    
Mark Otto committed
2953
2954
      return false;
    };
Jacob Thornton's avatar
Jacob Thornton committed
2955

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

Mark Otto's avatar
dist    
Mark Otto committed
2959
      if (typeof config.delay === 'number') {
Mark Otto's avatar
dist    
Mark Otto committed
2960
2961
2962
2963
        config.delay = {
          show: config.delay,
          hide: config.delay
        };
Mark Otto's avatar
grunt    
Mark Otto committed
2964
2965
      }

Mark Otto's avatar
dist    
Mark Otto committed
2966
      if (typeof config.title === 'number') {
Mark Otto's avatar
dist    
Mark Otto committed
2967
        config.title = config.title.toString();
Jacob Thornton's avatar
Jacob Thornton committed
2968
2969
      }

Mark Otto's avatar
dist    
Mark Otto committed
2970
      if (typeof config.content === 'number') {
Mark Otto's avatar
dist    
Mark Otto committed
2971
2972
        config.content = config.content.toString();
      }
Jacob Thornton's avatar
Jacob Thornton committed
2973

Mark Otto's avatar
dist    
Mark Otto committed
2974
2975
2976
2977
      Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
      return config;
    };

Mark Otto's avatar
dist    
Mark Otto committed
2978
    _proto._getDelegateConfig = function _getDelegateConfig() {
Mark Otto's avatar
dist    
Mark Otto committed
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
      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
2992
    _proto._cleanTipClass = function _cleanTipClass() {
Mark Otto's avatar
dist    
Mark Otto committed
2993
      var $tip = $$$1(this.getTipElement());
Mark Otto's avatar
dist    
Mark Otto committed
2994
      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
Mark Otto's avatar
dist    
Mark Otto committed
2995

Mark Otto's avatar
dist    
Mark Otto committed
2996
2997
2998
2999
3000
      if (tabClass !== null && tabClass.length > 0) {
        $tip.removeClass(tabClass.join(''));
      }
    };

Mark Otto's avatar
dist    
Mark Otto committed
3001
    _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(data) {
Mark Otto's avatar
dist    
Mark Otto committed
3002
      this._cleanTipClass();
Mark Otto's avatar
dist    
Mark Otto committed
3003

Mark Otto's avatar
dist    
Mark Otto committed
3004
3005
3006
      this.addAttachmentClass(this._getAttachment(data.placement));
    };

Mark Otto's avatar
dist    
Mark Otto committed
3007
    _proto._fixTransition = function _fixTransition() {
Mark Otto's avatar
dist    
Mark Otto committed
3008
3009
      var tip = this.getTipElement();
      var initConfigAnimation = this.config.animation;
Mark Otto's avatar
dist    
Mark Otto committed
3010

Mark Otto's avatar
dist    
Mark Otto committed
3011
3012
3013
      if (tip.getAttribute('x-placement') !== null) {
        return;
      }
Mark Otto's avatar
dist    
Mark Otto committed
3014

Mark Otto's avatar
dist    
Mark Otto committed
3015
      $$$1(tip).removeClass(ClassName.FADE);
Mark Otto's avatar
dist    
Mark Otto committed
3016
3017
3018
3019
      this.config.animation = false;
      this.hide();
      this.show();
      this.config.animation = initConfigAnimation;
Mark Otto's avatar
dist    
Mark Otto committed
3020
    }; // Static
Mark Otto's avatar
dist    
Mark Otto committed
3021
3022
3023


    Tooltip._jQueryInterface = function _jQueryInterface(config) {
Mark Otto's avatar
grunt    
Mark Otto committed
3024
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
3025
        var data = $$$1(this).data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
3026
3027

        var _config = typeof config === 'object' && config;
Mark Otto's avatar
dist    
Mark Otto committed
3028
3029
3030
3031

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

Mark Otto's avatar
grunt    
Mark Otto committed
3033
        if (!data) {
Mark Otto's avatar
dist    
Mark Otto committed
3034
          data = new Tooltip(this, _config);
Mark Otto's avatar
dist    
Mark Otto committed
3035
          $$$1(this).data(DATA_KEY, data);
Mark Otto's avatar
grunt    
Mark Otto committed
3036
        }
Jacob Thornton's avatar
Jacob Thornton committed
3037

Mark Otto's avatar
grunt    
Mark Otto committed
3038
        if (typeof config === 'string') {
Mark Otto's avatar
dist    
Mark Otto committed
3039
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
3040
            throw new TypeError("No method named \"" + config + "\"");
Jacob Thornton's avatar
Jacob Thornton committed
3041
          }
Mark Otto's avatar
dist    
Mark Otto committed
3042

Mark Otto's avatar
grunt    
Mark Otto committed
3043
3044
3045
3046
3047
          data[config]();
        }
      });
    };

Mark Otto's avatar
Mark Otto committed
3048
    _createClass(Tooltip, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
3049
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
3050
3051
3052
      get: function get() {
        return VERSION;
      }
Mark Otto's avatar
dist    
Mark Otto committed
3053
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3054
      key: "Default",
Mark Otto's avatar
dist    
Mark Otto committed
3055
3056
3057
3058
      get: function get() {
        return Default;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3059
      key: "NAME",
Mark Otto's avatar
dist    
Mark Otto committed
3060
3061
3062
3063
      get: function get() {
        return NAME;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3064
      key: "DATA_KEY",
Mark Otto's avatar
dist    
Mark Otto committed
3065
3066
3067
3068
      get: function get() {
        return DATA_KEY;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3069
      key: "Event",
Mark Otto's avatar
dist    
Mark Otto committed
3070
3071
3072
3073
      get: function get() {
        return Event;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3074
      key: "EVENT_KEY",
Mark Otto's avatar
dist    
Mark Otto committed
3075
3076
3077
3078
      get: function get() {
        return EVENT_KEY;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3079
      key: "DefaultType",
Mark Otto's avatar
dist    
Mark Otto committed
3080
3081
3082
      get: function get() {
        return DefaultType;
      }
Jacob Thornton's avatar
Jacob Thornton committed
3083
    }]);
Mark Otto's avatar
dist    
Mark Otto committed
3084
    return Tooltip;
Mark Otto's avatar
grunt    
Mark Otto committed
3085
  }();
Jacob Thornton's avatar
Jacob Thornton committed
3086
3087
3088
3089
3090
3091
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
3092

Mark Otto's avatar
dist    
Mark Otto committed
3093
3094
  $$$1.fn[NAME] = Tooltip._jQueryInterface;
  $$$1.fn[NAME].Constructor = Tooltip;
Mark Otto's avatar
dist    
Mark Otto committed
3095

Mark Otto's avatar
dist    
Mark Otto committed
3096
3097
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Mark Otto's avatar
dist    
Mark Otto committed
3098
    return Tooltip._jQueryInterface;
Jacob Thornton's avatar
Jacob Thornton committed
3099
3100
  };

Mark Otto's avatar
dist    
Mark Otto committed
3101
  return Tooltip;
Mark Otto's avatar
dist    
Mark Otto committed
3102
}($, Popper);
XhmikosR's avatar
XhmikosR committed
3103

Jacob Thornton's avatar
Jacob Thornton committed
3104
3105
/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
3106
 * Bootstrap (v4.0.0-beta.3): popover.js
Jacob Thornton's avatar
Jacob Thornton committed
3107
3108
3109
3110
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
3111
var Popover = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
3112
3113
3114
3115
3116
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
Mark Otto's avatar
dist    
Mark Otto committed
3117
  var NAME = 'popover';
Mark Otto's avatar
Mark Otto committed
3118
  var VERSION = '4.0.0-beta.3';
Mark Otto's avatar
dist    
Mark Otto committed
3119
  var DATA_KEY = 'bs.popover';
Mark Otto's avatar
dist    
Mark Otto committed
3120
  var EVENT_KEY = "." + DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
3121
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Mark Otto's avatar
dist    
Mark Otto committed
3122
  var CLASS_PREFIX = 'bs-popover';
Mark Otto's avatar
dist    
Mark Otto committed
3123
  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
Mark Otto's avatar
dist    
Mark Otto committed
3124
  var Default = _extends({}, Tooltip.Default, {
Mark Otto's avatar
dist    
Mark Otto committed
3125
3126
3127
3128
3129
    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
3130
  var DefaultType = _extends({}, Tooltip.DefaultType, {
Mark Otto's avatar
dist    
Mark Otto committed
3131
3132
3133
3134
3135
    content: '(string|element|function)'
  });
  var ClassName = {
    FADE: 'fade',
    SHOW: 'show'
Jacob Thornton's avatar
Jacob Thornton committed
3136
  };
Mark Otto's avatar
dist    
Mark Otto committed
3137
3138
3139
  var Selector = {
    TITLE: '.popover-header',
    CONTENT: '.popover-body'
Jacob Thornton's avatar
Jacob Thornton committed
3140
3141
  };
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
    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
3152
3153
3154
3155
3156
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
3157

Mark Otto's avatar
dist    
Mark Otto committed
3158
  };
Mark Otto's avatar
dist    
Mark Otto committed
3159
3160
3161
3162

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

Mark Otto's avatar
dist    
Mark Otto committed
3165
    function Popover() {
Mark Otto's avatar
dist    
Mark Otto committed
3166
      return _Tooltip.apply(this, arguments) || this;
Jacob Thornton's avatar
Jacob Thornton committed
3167
3168
    }

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

Mark Otto's avatar
dist    
Mark Otto committed
3171
    // Overrides
Mark Otto's avatar
dist    
Mark Otto committed
3172
    _proto.isWithContent = function isWithContent() {
Mark Otto's avatar
dist    
Mark Otto committed
3173
      return this.getTitle() || this._getContent();
Mark Otto's avatar
grunt    
Mark Otto committed
3174
    };
Jacob Thornton's avatar
Jacob Thornton committed
3175

Mark Otto's avatar
dist    
Mark Otto committed
3176
    _proto.addAttachmentClass = function addAttachmentClass(attachment) {
Mark Otto's avatar
dist    
Mark Otto committed
3177
      $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
Mark Otto's avatar
grunt    
Mark Otto committed
3178
    };
Jacob Thornton's avatar
Jacob Thornton committed
3179

Mark Otto's avatar
dist    
Mark Otto committed
3180
    _proto.getTipElement = function getTipElement() {
Mark Otto's avatar
dist    
Mark Otto committed
3181
      this.tip = this.tip || $$$1(this.config.template)[0];
Mark Otto's avatar
dist    
Mark Otto committed
3182
      return this.tip;
Mark Otto's avatar
grunt    
Mark Otto committed
3183
3184
    };

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

Mark Otto's avatar
dist    
Mark Otto committed
3188
      this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
Mark Otto's avatar
Mark Otto committed
3189
3190
3191
3192
3193
3194
3195
3196

      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
3197
      $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
Mark Otto's avatar
dist    
Mark Otto committed
3198
    }; // Private
Jacob Thornton's avatar
Jacob Thornton committed
3199

Jacob Thornton's avatar
Jacob Thornton committed
3200

Mark Otto's avatar
dist    
Mark Otto committed
3201
    _proto._getContent = function _getContent() {
Mark Otto's avatar
Mark Otto committed
3202
      return this.element.getAttribute('data-content') || this.config.content;
Mark Otto's avatar
grunt    
Mark Otto committed
3203
    };
Jacob Thornton's avatar
Jacob Thornton committed
3204

Mark Otto's avatar
dist    
Mark Otto committed
3205
    _proto._cleanTipClass = function _cleanTipClass() {
Mark Otto's avatar
dist    
Mark Otto committed
3206
      var $tip = $$$1(this.getTipElement());
Mark Otto's avatar
dist    
Mark Otto committed
3207
      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
Mark Otto's avatar
dist    
Mark Otto committed
3208

Mark Otto's avatar
dist    
Mark Otto committed
3209
3210
      if (tabClass !== null && tabClass.length > 0) {
        $tip.removeClass(tabClass.join(''));
Johann-S's avatar
build    
Johann-S committed
3211
      }
Mark Otto's avatar
dist    
Mark Otto committed
3212
    }; // Static
Jacob Thornton's avatar
Jacob Thornton committed
3213
3214


Mark Otto's avatar
dist    
Mark Otto committed
3215
3216
    Popover._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
3217
        var data = $$$1(this).data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
3218
3219

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

Mark Otto's avatar
dist    
Mark Otto committed
3221
        if (!data && /destroy|hide/.test(config)) {
Mark Otto's avatar
grunt    
Mark Otto committed
3222
3223
          return;
        }
Jacob Thornton's avatar
Jacob Thornton committed
3224

Mark Otto's avatar
dist    
Mark Otto committed
3225
3226
        if (!data) {
          data = new Popover(this, _config);
Mark Otto's avatar
dist    
Mark Otto committed
3227
          $$$1(this).data(DATA_KEY, data);
Mark Otto's avatar
grunt    
Mark Otto committed
3228
        }
Jacob Thornton's avatar
Jacob Thornton committed
3229

Mark Otto's avatar
dist    
Mark Otto committed
3230
3231
        if (typeof config === 'string') {
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
3232
            throw new TypeError("No method named \"" + config + "\"");
Johann-S's avatar
build    
Johann-S committed
3233
          }
Mark Otto's avatar
dist    
Mark Otto committed
3234

Mark Otto's avatar
dist    
Mark Otto committed
3235
          data[config]();
Mark Otto's avatar
build    
Mark Otto committed
3236
        }
Mark Otto's avatar
dist    
Mark Otto committed
3237
3238
      });
    };
Mark Otto's avatar
build    
Mark Otto committed
3239

Mark Otto's avatar
Mark Otto committed
3240
    _createClass(Popover, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
3241
      key: "VERSION",
Mark Otto's avatar
dist    
Mark Otto committed
3242
      // Getters
Mark Otto's avatar
dist    
Mark Otto committed
3243
3244
      get: function get() {
        return VERSION;
Mark Otto's avatar
grunt    
Mark Otto committed
3245
      }
Mark Otto's avatar
dist    
Mark Otto committed
3246
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3247
      key: "Default",
Mark Otto's avatar
dist    
Mark Otto committed
3248
3249
3250
3251
      get: function get() {
        return Default;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3252
      key: "NAME",
Mark Otto's avatar
dist    
Mark Otto committed
3253
3254
3255
3256
      get: function get() {
        return NAME;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3257
      key: "DATA_KEY",
Mark Otto's avatar
dist    
Mark Otto committed
3258
3259
3260
3261
      get: function get() {
        return DATA_KEY;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3262
      key: "Event",
Mark Otto's avatar
dist    
Mark Otto committed
3263
3264
3265
3266
      get: function get() {
        return Event;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3267
      key: "EVENT_KEY",
Mark Otto's avatar
dist    
Mark Otto committed
3268
3269
3270
3271
      get: function get() {
        return EVENT_KEY;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3272
      key: "DefaultType",
Mark Otto's avatar
dist    
Mark Otto committed
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
      get: function get() {
        return DefaultType;
      }
    }]);
    return Popover;
  }(Tooltip);
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
3284

Mark Otto's avatar
dist    
Mark Otto committed
3285

Mark Otto's avatar
dist    
Mark Otto committed
3286
3287
  $$$1.fn[NAME] = Popover._jQueryInterface;
  $$$1.fn[NAME].Constructor = Popover;
Mark Otto's avatar
dist    
Mark Otto committed
3288

Mark Otto's avatar
dist    
Mark Otto committed
3289
3290
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Mark Otto's avatar
dist    
Mark Otto committed
3291
3292
    return Popover._jQueryInterface;
  };
Jacob Thornton's avatar
Jacob Thornton committed
3293

Mark Otto's avatar
dist    
Mark Otto committed
3294
  return Popover;
Mark Otto's avatar
dist    
Mark Otto committed
3295
}($);
Jacob Thornton's avatar
Jacob Thornton committed
3296

Mark Otto's avatar
dist    
Mark Otto committed
3297
3298
/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
3299
 * Bootstrap (v4.0.0-beta.3): scrollspy.js
Mark Otto's avatar
dist    
Mark Otto committed
3300
3301
3302
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */
Jacob Thornton's avatar
Jacob Thornton committed
3303

Mark Otto's avatar
dist    
Mark Otto committed
3304
var ScrollSpy = function ($$$1) {
Mark Otto's avatar
dist    
Mark Otto committed
3305
3306
3307
3308
3309
3310
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'scrollspy';
Mark Otto's avatar
Mark Otto committed
3311
  var VERSION = '4.0.0-beta.3';
Mark Otto's avatar
dist    
Mark Otto committed
3312
  var DATA_KEY = 'bs.scrollspy';
Mark Otto's avatar
dist    
Mark Otto committed
3313
  var EVENT_KEY = "." + DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
3314
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
3315
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Mark Otto's avatar
dist    
Mark Otto committed
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
  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
3327
3328
3329
    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
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
  };
  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
3341
    NAV_ITEMS: '.nav-item',
Mark Otto's avatar
dist    
Mark Otto committed
3342
3343
3344
3345
3346
3347
3348
3349
    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
3350
3351
3352
3353
3354
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Mark Otto's avatar
grunt    
Mark Otto committed
3355

Mark Otto's avatar
dist    
Mark Otto committed
3356
  };
Mark Otto's avatar
dist    
Mark Otto committed
3357
3358
3359
3360

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

Mark Otto's avatar
dist    
Mark Otto committed
3364
3365
3366
      this._element = element;
      this._scrollElement = element.tagName === 'BODY' ? window : element;
      this._config = this._getConfig(config);
Mark Otto's avatar
dist    
Mark Otto committed
3367
      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
3368
3369
3370
3371
      this._offsets = [];
      this._targets = [];
      this._activeTarget = null;
      this._scrollHeight = 0;
Mark Otto's avatar
dist    
Mark Otto committed
3372
      $$$1(this._scrollElement).on(Event.SCROLL, function (event) {
Mark Otto's avatar
dist    
Mark Otto committed
3373
3374
3375
        return _this._process(event);
      });
      this.refresh();
Mark Otto's avatar
dist    
Mark Otto committed
3376

Mark Otto's avatar
dist    
Mark Otto committed
3377
      this._process();
Mark Otto's avatar
dist    
Mark Otto committed
3378
    } // Getters
Jacob Thornton's avatar
Jacob Thornton committed
3379
3380


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

Mark Otto's avatar
dist    
Mark Otto committed
3383
    // Public
Mark Otto's avatar
dist    
Mark Otto committed
3384
    _proto.refresh = function refresh() {
Mark Otto's avatar
dist    
Mark Otto committed
3385
      var _this2 = this;
Jacob Thornton's avatar
Jacob Thornton committed
3386

Mark Otto's avatar
dist    
Mark Otto committed
3387
      var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
Mark Otto's avatar
dist    
Mark Otto committed
3388
3389
3390
3391
3392
      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
3393
      var targets = $$$1.makeArray($$$1(this._selector));
Mark Otto's avatar
dist    
Mark Otto committed
3394
      targets.map(function (element) {
Mark Otto's avatar
dist    
Mark Otto committed
3395
        var target;
Mark Otto's avatar
dist    
Mark Otto committed
3396
        var targetSelector = Util.getSelectorFromElement(element);
Mark Otto's avatar
grunt    
Mark Otto committed
3397

Mark Otto's avatar
dist    
Mark Otto committed
3398
        if (targetSelector) {
Mark Otto's avatar
dist    
Mark Otto committed
3399
          target = $$$1(targetSelector)[0];
Mark Otto's avatar
dist    
Mark Otto committed
3400
        }
Jacob Thornton's avatar
Jacob Thornton committed
3401

Mark Otto's avatar
dist    
Mark Otto committed
3402
3403
        if (target) {
          var targetBCR = target.getBoundingClientRect();
Mark Otto's avatar
dist    
Mark Otto committed
3404

Mark Otto's avatar
dist    
Mark Otto committed
3405
          if (targetBCR.width || targetBCR.height) {
Mark Otto's avatar
dist    
Mark Otto committed
3406
            // TODO (fat): remove sketch reliance on jQuery position/offset
Mark Otto's avatar
dist    
Mark Otto committed
3407
            return [$$$1(target)[offsetMethod]().top + offsetBase, targetSelector];
Mark Otto's avatar
dist    
Mark Otto committed
3408
3409
          }
        }
Mark Otto's avatar
dist    
Mark Otto committed
3410

Mark Otto's avatar
dist    
Mark Otto committed
3411
3412
3413
3414
3415
3416
3417
        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
3418

Mark Otto's avatar
dist    
Mark Otto committed
3419
3420
        _this2._targets.push(item[1]);
      });
Mark Otto's avatar
grunt    
Mark Otto committed
3421
    };
Jacob Thornton's avatar
Jacob Thornton committed
3422

Mark Otto's avatar
dist    
Mark Otto committed
3423
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
3424
3425
      $$$1.removeData(this._element, DATA_KEY);
      $$$1(this._scrollElement).off(EVENT_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
3426
3427
3428
3429
3430
3431
3432
3433
      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
3434
    }; // Private
Jacob Thornton's avatar
Jacob Thornton committed
3435
3436


Mark Otto's avatar
dist    
Mark Otto committed
3437
    _proto._getConfig = function _getConfig(config) {
Mark Otto's avatar
dist    
Mark Otto committed
3438
      config = _extends({}, Default, config);
Jacob Thornton's avatar
Jacob Thornton committed
3439

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

Mark Otto's avatar
dist    
Mark Otto committed
3443
3444
        if (!id) {
          id = Util.getUID(NAME);
Mark Otto's avatar
dist    
Mark Otto committed
3445
          $$$1(config.target).attr('id', id);
Mark Otto's avatar
dist    
Mark Otto committed
3446
        }
Mark Otto's avatar
dist    
Mark Otto committed
3447
3448

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

Mark Otto's avatar
dist    
Mark Otto committed
3451
3452
3453
      Util.typeCheckConfig(NAME, config, DefaultType);
      return config;
    };
Jacob Thornton's avatar
Jacob Thornton committed
3454

Mark Otto's avatar
dist    
Mark Otto committed
3455
    _proto._getScrollTop = function _getScrollTop() {
Mark Otto's avatar
dist    
Mark Otto committed
3456
3457
      return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
    };
Mark Otto's avatar
grunt    
Mark Otto committed
3458

Mark Otto's avatar
dist    
Mark Otto committed
3459
    _proto._getScrollHeight = function _getScrollHeight() {
Mark Otto's avatar
dist    
Mark Otto committed
3460
      return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
Mark Otto's avatar
grunt    
Mark Otto committed
3461
    };
Jacob Thornton's avatar
Jacob Thornton committed
3462

Mark Otto's avatar
dist    
Mark Otto committed
3463
    _proto._getOffsetHeight = function _getOffsetHeight() {
Mark Otto's avatar
dist    
Mark Otto committed
3464
3465
      return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
    };
Jacob Thornton's avatar
Jacob Thornton committed
3466

Mark Otto's avatar
dist    
Mark Otto committed
3467
    _proto._process = function _process() {
Mark Otto's avatar
dist    
Mark Otto committed
3468
      var scrollTop = this._getScrollTop() + this._config.offset;
Mark Otto's avatar
dist    
Mark Otto committed
3469

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

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

Mark Otto's avatar
dist    
Mark Otto committed
3474
3475
      if (this._scrollHeight !== scrollHeight) {
        this.refresh();
Mark Otto's avatar
grunt    
Mark Otto committed
3476
      }
Jacob Thornton's avatar
Jacob Thornton committed
3477

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

Mark Otto's avatar
dist    
Mark Otto committed
3481
3482
3483
        if (this._activeTarget !== target) {
          this._activate(target);
        }
Mark Otto's avatar
dist    
Mark Otto committed
3484

Mark Otto's avatar
grunt    
Mark Otto committed
3485
3486
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
3487

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

Mark Otto's avatar
dist    
Mark Otto committed
3491
        this._clear();
Mark Otto's avatar
dist    
Mark Otto committed
3492

Mark Otto's avatar
grunt    
Mark Otto committed
3493
3494
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
3495

Mark Otto's avatar
dist    
Mark Otto committed
3496
3497
      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
3498

Mark Otto's avatar
dist    
Mark Otto committed
3499
3500
        if (isActiveTarget) {
          this._activate(this._targets[i]);
Jacob Thornton's avatar
Jacob Thornton committed
3501
3502
        }
      }
Mark Otto's avatar
grunt    
Mark Otto committed
3503
    };
Jacob Thornton's avatar
Jacob Thornton committed
3504

Mark Otto's avatar
dist    
Mark Otto committed
3505
    _proto._activate = function _activate(target) {
Mark Otto's avatar
dist    
Mark Otto committed
3506
      this._activeTarget = target;
Mark Otto's avatar
grunt    
Mark Otto committed
3507

Mark Otto's avatar
dist    
Mark Otto committed
3508
      this._clear();
Mark Otto's avatar
grunt    
Mark Otto committed
3509

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


Mark Otto's avatar
dist    
Mark Otto committed
3513
      queries = queries.map(function (selector) {
Mark Otto's avatar
dist    
Mark Otto committed
3514
        return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]");
Mark Otto's avatar
dist    
Mark Otto committed
3515
      });
Mark Otto's avatar
dist    
Mark Otto committed
3516
      var $link = $$$1(queries.join(','));
Jacob Thornton's avatar
Jacob Thornton committed
3517

Mark Otto's avatar
dist    
Mark Otto committed
3518
3519
3520
3521
3522
      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
3523
        $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active
Mark Otto's avatar
dist    
Mark Otto committed
3524
        // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
Mark Otto's avatar
dist    
Mark Otto committed
3525
3526
3527
3528

        $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
3529
3530
      }

Mark Otto's avatar
dist    
Mark Otto committed
3531
      $$$1(this._scrollElement).trigger(Event.ACTIVATE, {
Mark Otto's avatar
dist    
Mark Otto committed
3532
3533
        relatedTarget: target
      });
Johann-S's avatar
build    
Johann-S committed
3534
3535
    };

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

Jacob Thornton's avatar
Jacob Thornton committed
3540

Mark Otto's avatar
dist    
Mark Otto committed
3541
    ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
Mark Otto's avatar
grunt    
Mark Otto committed
3542
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
3543
        var data = $$$1(this).data(DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
3544
3545

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

Mark Otto's avatar
grunt    
Mark Otto committed
3547
        if (!data) {
Mark Otto's avatar
dist    
Mark Otto committed
3548
          data = new ScrollSpy(this, _config);
Mark Otto's avatar
dist    
Mark Otto committed
3549
          $$$1(this).data(DATA_KEY, data);
Mark Otto's avatar
grunt    
Mark Otto committed
3550
3551
3552
        }

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

Mark Otto's avatar
grunt    
Mark Otto committed
3557
3558
3559
3560
3561
          data[config]();
        }
      });
    };

Mark Otto's avatar
Mark Otto committed
3562
    _createClass(ScrollSpy, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
3563
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
3564
3565
3566
3567
      get: function get() {
        return VERSION;
      }
    }, {
Mark Otto's avatar
dist    
Mark Otto committed
3568
      key: "Default",
Jacob Thornton's avatar
Jacob Thornton committed
3569
3570
3571
3572
      get: function get() {
        return Default;
      }
    }]);
Mark Otto's avatar
dist    
Mark Otto committed
3573
    return ScrollSpy;
Mark Otto's avatar
grunt    
Mark Otto committed
3574
  }();
Mark Otto's avatar
dist    
Mark Otto committed
3575
3576
3577
3578
3579
3580
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
3581

Mark Otto's avatar
dist    
Mark Otto committed
3582
3583
  $$$1(window).on(Event.LOAD_DATA_API, function () {
    var scrollSpys = $$$1.makeArray($$$1(Selector.DATA_SPY));
Mark Otto's avatar
dist    
Mark Otto committed
3584
3585

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

Mark Otto's avatar
dist    
Mark Otto committed
3588
3589
3590
      ScrollSpy._jQueryInterface.call($spy, $spy.data());
    }
  });
Mark Otto's avatar
grunt    
Mark Otto committed
3591
3592
3593
3594
3595
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
3596

Mark Otto's avatar
dist    
Mark Otto committed
3597
3598
  $$$1.fn[NAME] = ScrollSpy._jQueryInterface;
  $$$1.fn[NAME].Constructor = ScrollSpy;
Mark Otto's avatar
dist    
Mark Otto committed
3599

Mark Otto's avatar
dist    
Mark Otto committed
3600
3601
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Mark Otto's avatar
dist    
Mark Otto committed
3602
    return ScrollSpy._jQueryInterface;
Jacob Thornton's avatar
Jacob Thornton committed
3603
3604
  };

Mark Otto's avatar
dist    
Mark Otto committed
3605
  return ScrollSpy;
Mark Otto's avatar
dist    
Mark Otto committed
3606
}($);
Jacob Thornton's avatar
Jacob Thornton committed
3607
3608
3609

/**
 * --------------------------------------------------------------------------
Mark Otto's avatar
Mark Otto committed
3610
 * Bootstrap (v4.0.0-beta.3): tab.js
Jacob Thornton's avatar
Jacob Thornton committed
3611
3612
3613
3614
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

Mark Otto's avatar
dist    
Mark Otto committed
3615
var Tab = function ($$$1) {
Jacob Thornton's avatar
Jacob Thornton committed
3616
3617
3618
3619
3620
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
Mark Otto's avatar
dist    
Mark Otto committed
3621
  var NAME = 'tab';
Mark Otto's avatar
Mark Otto committed
3622
  var VERSION = '4.0.0-beta.3';
Mark Otto's avatar
dist    
Mark Otto committed
3623
  var DATA_KEY = 'bs.tab';
Mark Otto's avatar
dist    
Mark Otto committed
3624
  var EVENT_KEY = "." + DATA_KEY;
Mark Otto's avatar
dist    
Mark Otto committed
3625
  var DATA_API_KEY = '.data-api';
Mark Otto's avatar
dist    
Mark Otto committed
3626
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
Mark Otto's avatar
dist    
Mark Otto committed
3627
3628
  var TRANSITION_DURATION = 150;
  var Event = {
Mark Otto's avatar
dist    
Mark Otto committed
3629
3630
3631
3632
3633
    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
3634
  };
Jacob Thornton's avatar
Jacob Thornton committed
3635
  var ClassName = {
Mark Otto's avatar
dist    
Mark Otto committed
3636
3637
3638
    DROPDOWN_MENU: 'dropdown-menu',
    ACTIVE: 'active',
    DISABLED: 'disabled',
Jacob Thornton's avatar
Jacob Thornton committed
3639
    FADE: 'fade',
Mark Otto's avatar
grunt    
Mark Otto committed
3640
    SHOW: 'show'
Jacob Thornton's avatar
Jacob Thornton committed
3641
3642
  };
  var Selector = {
Mark Otto's avatar
dist    
Mark Otto committed
3643
3644
3645
3646
3647
3648
3649
    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
3650
3651
3652
3653
3654
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
Jacob Thornton's avatar
Jacob Thornton committed
3655

Mark Otto's avatar
dist    
Mark Otto committed
3656
  };
Jacob Thornton's avatar
Jacob Thornton committed
3657

Mark Otto's avatar
dist    
Mark Otto committed
3658
3659
3660
3661
  var Tab =
  /*#__PURE__*/
  function () {
    function Tab(element) {
Mark Otto's avatar
dist    
Mark Otto committed
3662
      this._element = element;
Mark Otto's avatar
dist    
Mark Otto committed
3663
    } // Getters
Jacob Thornton's avatar
Jacob Thornton committed
3664
3665


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

Mark Otto's avatar
dist    
Mark Otto committed
3668
    // Public
Mark Otto's avatar
dist    
Mark Otto committed
3669
    _proto.show = function show() {
Mark Otto's avatar
dist    
Mark Otto committed
3670
      var _this = this;
Johann-S's avatar
build    
Johann-S committed
3671

Mark Otto's avatar
dist    
Mark Otto committed
3672
      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
3673
3674
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
3675

Mark Otto's avatar
dist    
Mark Otto committed
3676
3677
      var target;
      var previous;
Mark Otto's avatar
dist    
Mark Otto committed
3678
      var listElement = $$$1(this._element).closest(Selector.NAV_LIST_GROUP)[0];
Mark Otto's avatar
dist    
Mark Otto committed
3679
      var selector = Util.getSelectorFromElement(this._element);
Jacob Thornton's avatar
Jacob Thornton committed
3680

Mark Otto's avatar
dist    
Mark Otto committed
3681
3682
      if (listElement) {
        var itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE;
Mark Otto's avatar
dist    
Mark Otto committed
3683
        previous = $$$1.makeArray($$$1(listElement).find(itemSelector));
Mark Otto's avatar
dist    
Mark Otto committed
3684
3685
        previous = previous[previous.length - 1];
      }
Jacob Thornton's avatar
Jacob Thornton committed
3686

Mark Otto's avatar
dist    
Mark Otto committed
3687
      var hideEvent = $$$1.Event(Event.HIDE, {
Mark Otto's avatar
dist    
Mark Otto committed
3688
3689
        relatedTarget: this._element
      });
Mark Otto's avatar
dist    
Mark Otto committed
3690
      var showEvent = $$$1.Event(Event.SHOW, {
Mark Otto's avatar
dist    
Mark Otto committed
3691
3692
3693
3694
        relatedTarget: previous
      });

      if (previous) {
Mark Otto's avatar
dist    
Mark Otto committed
3695
        $$$1(previous).trigger(hideEvent);
Mark Otto's avatar
dist    
Mark Otto committed
3696
3697
      }

Mark Otto's avatar
dist    
Mark Otto committed
3698
      $$$1(this._element).trigger(showEvent);
Mark Otto's avatar
dist    
Mark Otto committed
3699
3700
3701
3702
3703
3704

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

      if (selector) {
Mark Otto's avatar
dist    
Mark Otto committed
3705
        target = $$$1(selector)[0];
Mark Otto's avatar
dist    
Mark Otto committed
3706
3707
3708
3709
3710
      }

      this._activate(this._element, listElement);

      var complete = function complete() {
Mark Otto's avatar
dist    
Mark Otto committed
3711
        var hiddenEvent = $$$1.Event(Event.HIDDEN, {
Mark Otto's avatar
dist    
Mark Otto committed
3712
3713
          relatedTarget: _this._element
        });
Mark Otto's avatar
dist    
Mark Otto committed
3714
        var shownEvent = $$$1.Event(Event.SHOWN, {
Mark Otto's avatar
dist    
Mark Otto committed
3715
3716
          relatedTarget: previous
        });
Mark Otto's avatar
dist    
Mark Otto committed
3717
3718
        $$$1(previous).trigger(hiddenEvent);
        $$$1(_this._element).trigger(shownEvent);
Mark Otto's avatar
dist    
Mark Otto committed
3719
3720
3721
3722
3723
3724
3725
3726
3727
      };

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

Mark Otto's avatar
dist    
Mark Otto committed
3728
    _proto.dispose = function dispose() {
Mark Otto's avatar
dist    
Mark Otto committed
3729
      $$$1.removeData(this._element, DATA_KEY);
Mark Otto's avatar
dist    
Mark Otto committed
3730
      this._element = null;
Mark Otto's avatar
dist    
Mark Otto committed
3731
    }; // Private
Jacob Thornton's avatar
Jacob Thornton committed
3732
3733


Mark Otto's avatar
dist    
Mark Otto committed
3734
    _proto._activate = function _activate(element, container, callback) {
Mark Otto's avatar
dist    
Mark Otto committed
3735
3736
      var _this2 = this;

Mark Otto's avatar
dist    
Mark Otto committed
3737
3738
      var activeElements;

Mark Otto's avatar
dist    
Mark Otto committed
3739
      if (container.nodeName === 'UL') {
Mark Otto's avatar
dist    
Mark Otto committed
3740
        activeElements = $$$1(container).find(Selector.ACTIVE_UL);
Mark Otto's avatar
dist    
Mark Otto committed
3741
      } else {
Mark Otto's avatar
dist    
Mark Otto committed
3742
        activeElements = $$$1(container).children(Selector.ACTIVE);
Mark Otto's avatar
dist    
Mark Otto committed
3743
3744
3745
      }

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

      var complete = function complete() {
Mark Otto's avatar
dist    
Mark Otto committed
3749
        return _this2._transitionComplete(element, active, callback);
Mark Otto's avatar
dist    
Mark Otto committed
3750
3751
3752
      };

      if (active && isTransitioning) {
Mark Otto's avatar
dist    
Mark Otto committed
3753
        $$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
Mark Otto's avatar
dist    
Mark Otto committed
3754
3755
3756
      } else {
        complete();
      }
Mark Otto's avatar
grunt    
Mark Otto committed
3757
    };
Jacob Thornton's avatar
Jacob Thornton committed
3758

Mark Otto's avatar
dist    
Mark Otto committed
3759
    _proto._transitionComplete = function _transitionComplete(element, active, callback) {
Mark Otto's avatar
dist    
Mark Otto committed
3760
      if (active) {
Mark Otto's avatar
dist    
Mark Otto committed
3761
        $$$1(active).removeClass(ClassName.SHOW + " " + ClassName.ACTIVE);
Mark Otto's avatar
dist    
Mark Otto committed
3762
        var dropdownChild = $$$1(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
Mark Otto's avatar
dist    
Mark Otto committed
3763
3764

        if (dropdownChild) {
Mark Otto's avatar
dist    
Mark Otto committed
3765
          $$$1(dropdownChild).removeClass(ClassName.ACTIVE);
Mark Otto's avatar
dist    
Mark Otto committed
3766
3767
        }

Mark Otto's avatar
dist    
Mark Otto committed
3768
3769
3770
        if (active.getAttribute('role') === 'tab') {
          active.setAttribute('aria-selected', false);
        }
Mark Otto's avatar
dist    
Mark Otto committed
3771
3772
      }

Mark Otto's avatar
dist    
Mark Otto committed
3773
      $$$1(element).addClass(ClassName.ACTIVE);
Mark Otto's avatar
dist    
Mark Otto committed
3774
3775
3776
3777

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

Mark Otto's avatar
dist    
Mark Otto committed
3779
3780
      Util.reflow(element);
      $$$1(element).addClass(ClassName.SHOW);
Mark Otto's avatar
dist    
Mark Otto committed
3781

Mark Otto's avatar
dist    
Mark Otto committed
3782
3783
      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
3784

Mark Otto's avatar
dist    
Mark Otto committed
3785
        if (dropdownElement) {
Mark Otto's avatar
dist    
Mark Otto committed
3786
          $$$1(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
Mark Otto's avatar
dist    
Mark Otto committed
3787
3788
3789
3790
3791
3792
3793
        }

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

      if (callback) {
        callback();
Johann-S's avatar
build    
Johann-S committed
3794
      }
Mark Otto's avatar
dist    
Mark Otto committed
3795
    }; // Static
Johann-S's avatar
build    
Johann-S committed
3796

Jacob Thornton's avatar
Jacob Thornton committed
3797

Mark Otto's avatar
dist    
Mark Otto committed
3798
    Tab._jQueryInterface = function _jQueryInterface(config) {
Mark Otto's avatar
grunt    
Mark Otto committed
3799
      return this.each(function () {
Mark Otto's avatar
dist    
Mark Otto committed
3800
        var $this = $$$1(this);
Mark Otto's avatar
dist    
Mark Otto committed
3801
        var data = $this.data(DATA_KEY);
Jacob Thornton's avatar
Jacob Thornton committed
3802

Mark Otto's avatar
grunt    
Mark Otto committed
3803
        if (!data) {
Mark Otto's avatar
dist    
Mark Otto committed
3804
3805
          data = new Tab(this);
          $this.data(DATA_KEY, data);
Mark Otto's avatar
grunt    
Mark Otto committed
3806
        }
Jacob Thornton's avatar
Jacob Thornton committed
3807

Mark Otto's avatar
grunt    
Mark Otto committed
3808
        if (typeof config === 'string') {
Mark Otto's avatar
dist    
Mark Otto committed
3809
          if (typeof data[config] === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
3810
            throw new TypeError("No method named \"" + config + "\"");
Mark Otto's avatar
grunt    
Mark Otto committed
3811
          }
Mark Otto's avatar
dist    
Mark Otto committed
3812

Mark Otto's avatar
grunt    
Mark Otto committed
3813
3814
3815
3816
3817
          data[config]();
        }
      });
    };

Mark Otto's avatar
Mark Otto committed
3818
    _createClass(Tab, null, [{
Mark Otto's avatar
dist    
Mark Otto committed
3819
      key: "VERSION",
Jacob Thornton's avatar
Jacob Thornton committed
3820
3821
3822
3823
      get: function get() {
        return VERSION;
      }
    }]);
Mark Otto's avatar
dist    
Mark Otto committed
3824
3825
3826
3827
3828
3829
3830
3831
    return Tab;
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */

Mark Otto's avatar
dist    
Mark Otto committed
3832

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

Mark Otto's avatar
dist    
Mark Otto committed
3836
    Tab._jQueryInterface.call($$$1(this), 'show');
Mark Otto's avatar
dist    
Mark Otto committed
3837
  });
Mark Otto's avatar
grunt    
Mark Otto committed
3838
3839
3840
3841
3842
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */
Jacob Thornton's avatar
Jacob Thornton committed
3843

Mark Otto's avatar
dist    
Mark Otto committed
3844
3845
  $$$1.fn[NAME] = Tab._jQueryInterface;
  $$$1.fn[NAME].Constructor = Tab;
Mark Otto's avatar
dist    
Mark Otto committed
3846

Mark Otto's avatar
dist    
Mark Otto committed
3847
3848
  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
Mark Otto's avatar
dist    
Mark Otto committed
3849
    return Tab._jQueryInterface;
Jacob Thornton's avatar
Jacob Thornton committed
3850
3851
  };

Mark Otto's avatar
dist    
Mark Otto committed
3852
  return Tab;
Mark Otto's avatar
dist    
Mark Otto committed
3853
}($);
Mark Otto's avatar
grunt    
Mark Otto committed
3854

Mark Otto's avatar
dist    
Mark Otto committed
3855
3856
3857
3858
3859
3860
3861
/**
 * --------------------------------------------------------------------------
 * 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
3862
3863
(function ($$$1) {
  if (typeof $$$1 === 'undefined') {
Mark Otto's avatar
dist    
Mark Otto committed
3864
    throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
Mark Otto's avatar
dist    
Mark Otto committed
3865
3866
  }

Mark Otto's avatar
dist    
Mark Otto committed
3867
  var version = $$$1.fn.jquery.split(' ')[0].split('.');
Mark Otto's avatar
dist    
Mark Otto committed
3868
3869
3870
3871
3872
3873
3874
3875
  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
3876
  }
Mark Otto's avatar
dist    
Mark Otto committed
3877
})($);
Mark Otto's avatar
build    
Mark Otto committed
3878

Mark Otto's avatar
dist    
Mark Otto committed
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
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
3891
Object.defineProperty(exports, '__esModule', { value: true });
Mark Otto's avatar
dist    
Mark Otto committed
3892

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