bootstrap.js 112 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
4
5
  * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
  * 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
90
91
92
93
      }
    };
  }

  function transitionEndTest() {
    if (window.QUnit) {
      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
124
125
126
127
128

  function escapeId(selector) {
    // we escape IDs in case of special selectors (selector = '#myId:something')
    // $.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
Mark Otto committed
151
152
153
154
155
      } // if it's an ID


      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
161
162
163
        return $selector.length > 0 ? selector : null;
      } catch (error) {
        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
246
    // public
    _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
420
    // public
    _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
633
    // public
    _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
748
749
750
751
752
753
754
        if ('ontouchstart' in document.documentElement) {
          // if it's a touch-enabled device, mouseenter/leave are fired as
          // part of the mouse compatibility events on first tap - the carousel
          // would stop cycling until user tapped out of it;
          // here, we listen for touchend, explicitly pause the carousel
          // (as if it's the second time we tap on it, mouseenter compat event
          // is NOT fired) and after a timeout (to allow for mouse compatibility
          // events to fire) we explicitly restart cycling
Mark Otto's avatar
dist    
Mark Otto committed
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
787
        default:
          return;
Jacob Thornton's avatar
Jacob Thornton committed
788
      }
Mark Otto's avatar
grunt    
Mark Otto committed
789
    };
Jacob Thornton's avatar
Jacob Thornton committed
790

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      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
866

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      event.preventDefault();
    };

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


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

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

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

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

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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
1100
        if (selector !== null && $$$1(selector).filter(element).length > 0) {
Mark Otto's avatar
build    
Mark Otto committed
1101
1102
1103
          this._triggerArray.push(elem);
        }
      }
Johann-S's avatar
build    
Johann-S committed
1104

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
1363

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

Mark Otto's avatar
dist    
Mark Otto committed
1537
1538
1539
1540
        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
1541
1542
1543
1544
1545
1546
1547
        } // 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
1548
        }
Johann-S's avatar
build    
Johann-S committed
1549

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

Mark Otto's avatar
dist    
Mark Otto committed
1556

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

      var offsetConf = {};

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

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

Jacob Thornton's avatar
Jacob Thornton committed
1672

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
1750
1751
      return parent || element.parentNode;
    };
Jacob Thornton's avatar
Jacob Thornton committed
1752

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

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

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

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

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

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

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
1788
1789
1790
      if (!items.length) {
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
1791

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

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

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

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

      items[index].focus();
    };

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

Mark Otto's avatar
dist    
Mark Otto committed
1835

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

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

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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
1929
  };
Jacob Thornton's avatar
Jacob Thornton committed
1930

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


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

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

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

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

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

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
1974
      this._isShown = true;
Jacob Thornton's avatar
Jacob Thornton committed
1975

Mark Otto's avatar
grunt    
Mark Otto committed
1976
      this._checkScrollbar();
Mark Otto's avatar
dist    
Mark Otto committed
1977

Mark Otto's avatar
grunt    
Mark Otto committed
1978
      this._setScrollbar();
Jacob Thornton's avatar
Jacob Thornton committed
1979

Mark Otto's avatar
dist    
Mark Otto committed
1980
1981
      this._adjustDialog();

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

Mark Otto's avatar
grunt    
Mark Otto committed
1984
      this._setEscapeEvent();
Mark Otto's avatar
dist    
Mark Otto committed
1985

Mark Otto's avatar
grunt    
Mark Otto committed
1986
      this._setResizeEvent();
Jacob Thornton's avatar
Jacob Thornton committed
1987

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

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

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

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

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

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

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

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
2029
      this._setEscapeEvent();
Mark Otto's avatar
dist    
Mark Otto committed
2030

Mark Otto's avatar
grunt    
Mark Otto committed
2031
      this._setResizeEvent();
Jacob Thornton's avatar
Jacob Thornton committed
2032

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
2060
    _proto.handleUpdate = function handleUpdate() {
Mark Otto's avatar
grunt    
Mark Otto committed
2061
      this._adjustDialog();
Mark Otto's avatar
dist    
Mark Otto committed
2062
    }; // private
Mark Otto's avatar
grunt    
Mark Otto committed
2063

Jacob Thornton's avatar
Jacob Thornton committed
2064

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

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
2076
2077
2078
2079
      if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
        // don't move modals dom position
        document.body.appendChild(this._element);
      }
Jacob Thornton's avatar
Jacob Thornton committed
2080

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
2163
      this._isTransitioning = false;
Mark Otto's avatar
dist    
Mark Otto committed
2164

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

Mark Otto's avatar
dist    
Mark Otto committed
2168
        _this7._resetAdjustments();
Mark Otto's avatar
dist    
Mark Otto committed
2169

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Mark Otto's avatar
Mark Otto committed
2304
        var actualPadding = document.body.style.paddingRight;
Mark Otto's avatar
dist    
Mark Otto committed
2305
2306
        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
2307
      }
Mark Otto's avatar
grunt    
Mark Otto committed
2308
    };
Jacob Thornton's avatar
Jacob Thornton committed
2309

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

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

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

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

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

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

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


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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
2388

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

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

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

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

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

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

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

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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
2529
  };
Jacob Thornton's avatar
Jacob Thornton committed
2530

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


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

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

Mark Otto's avatar
dist    
Mark Otto committed
2554
      this._setListeners();
Mark Otto's avatar
dist    
Mark Otto committed
2555
    } // getters
Jacob Thornton's avatar
Jacob Thornton committed
2556
2557


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

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

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

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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
2598
          return;
Mark Otto's avatar
grunt    
Mark Otto committed
2599
        }
Jacob Thornton's avatar
Jacob Thornton committed
2600

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

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

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

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

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

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

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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
2657
        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
2658

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

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

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

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

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

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

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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
2737
        _this2._cleanTipClass();
Mark Otto's avatar
dist    
Mark Otto committed
2738

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
2828
      return title;
Mark Otto's avatar
dist    
Mark Otto committed
2829
    }; // private
Jacob Thornton's avatar
Jacob Thornton committed
2830
2831


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
2951
2952
      return false;
    };
Jacob Thornton's avatar
Jacob Thornton committed
2953

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
3090

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
3156
  };
Mark Otto's avatar
dist    
Mark Otto committed
3157
3158
3159
3160

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

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

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

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

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

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

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

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

      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
3195
3196
      $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
    }; // private
Jacob Thornton's avatar
Jacob Thornton committed
3197

Jacob Thornton's avatar
Jacob Thornton committed
3198

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

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

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


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

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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
3283

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
3354
  };
Mark Otto's avatar
dist    
Mark Otto committed
3355
3356
3357
3358

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

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

Mark Otto's avatar
dist    
Mark Otto committed
3375
      this._process();
Mark Otto's avatar
dist    
Mark Otto committed
3376
    } // getters
Jacob Thornton's avatar
Jacob Thornton committed
3377
3378


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

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

Mark Otto's avatar
dist    
Mark Otto committed
3385
3386
3387
3388
3389
3390
      var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
      var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
      var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
      this._offsets = [];
      this._targets = [];
      this._scrollHeight = this._getScrollHeight();
Mark Otto's avatar
dist    
Mark Otto committed
3391
      var targets = $$$1.makeArray($$$1(this._selector));
Mark Otto's avatar
dist    
Mark Otto committed
3392
      targets.map(function (element) {
Mark Otto's avatar
dist    
Mark Otto committed
3393
        var target;
Mark Otto's avatar
dist    
Mark Otto committed
3394
        var targetSelector = Util.getSelectorFromElement(element);
Mark Otto's avatar
grunt    
Mark Otto committed
3395

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
3483
3484
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
3485

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

Mark Otto's avatar
dist    
Mark Otto committed
3489
        this._clear();
Mark Otto's avatar
dist    
Mark Otto committed
3490

Mark Otto's avatar
grunt    
Mark Otto committed
3491
3492
        return;
      }
Jacob Thornton's avatar
Jacob Thornton committed
3493

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
3506
      this._clear();
Mark Otto's avatar
grunt    
Mark Otto committed
3507

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


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

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

        $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
3527
3528
      }

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

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

Jacob Thornton's avatar
Jacob Thornton committed
3538

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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
3579

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

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

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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
3654
  };
Jacob Thornton's avatar
Jacob Thornton committed
3655

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


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

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

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

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

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

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

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

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

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

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

      this._activate(this._element, listElement);

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

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

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


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

Mark Otto's avatar
dist    
Mark Otto committed
3735
3736
      var activeElements;

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

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

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

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

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

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

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

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

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

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

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

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

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

      if (callback) {
        callback();
Johann-S's avatar
build    
Johann-S committed
3792
      }
Mark Otto's avatar
dist    
Mark Otto committed
3793
    }; // static
Johann-S's avatar
build    
Johann-S committed
3794

Jacob Thornton's avatar
Jacob Thornton committed
3795

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
3830

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

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

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

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

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

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

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

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

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