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

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

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

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

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

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

    return target;
  };

  return _extends.apply(this, arguments);
}

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
84
        return undefined; // eslint-disable-line no-undefined
Jacob Thornton's avatar
Jacob Thornton committed
85
86
87
88
89
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).find(Selector.ACTIVES).filter("[data-parent=\"" + this._config.parent + "\"]"));
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
      return parent || element.parentNode;
Mark Otto's avatar
dist    
Mark Otto committed
1751
1752
    }; // eslint-disable-next-line complexity

Jacob Thornton's avatar
Jacob Thornton committed
1753

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

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

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

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

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

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

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

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

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

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

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

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

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

      items[index].focus();
    };

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

Mark Otto's avatar
dist    
Mark Otto committed
1836

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Jacob Thornton's avatar
Jacob Thornton committed
2065

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

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

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

Mark Otto's avatar
grunt    
Mark Otto committed
2077
2078
2079
2080
      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
2081

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
2389

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
2406
    var $target = $$$1(target).one(Event.SHOW, function (showEvent) {
Jacob Thornton's avatar
Jacob Thornton committed
2407
2408
2409
2410
2411
2412
      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
2413
        if ($$$1(_this10).is(':visible')) {
Mark Otto's avatar
dist    
Mark Otto committed
2414
          _this10.focus();
Jacob Thornton's avatar
Jacob Thornton committed
2415
2416
2417
2418
        }
      });
    });

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

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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
2532
2533
2534
2535
  var Tooltip =
  /*#__PURE__*/
  function () {
    function Tooltip(element, config) {
Mark Otto's avatar
dist    
Mark Otto committed
2536
2537
2538
2539
2540
2541
2542
2543
2544
      /**
       * 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
2545
2546
2547
2548
      this._isEnabled = true;
      this._timeout = 0;
      this._hoverState = '';
      this._activeTrigger = {};
Mark Otto's avatar
dist    
Mark Otto committed
2549
      this._popper = null; // protected
Jacob Thornton's avatar
Jacob Thornton committed
2550

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
3091

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Jacob Thornton's avatar
Jacob Thornton committed
3199

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

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

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


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

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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
3284

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

Jacob Thornton's avatar
Jacob Thornton committed
3539

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

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
3580

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

      this._activate(this._element, listElement);

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Jacob Thornton's avatar
Jacob Thornton committed
3796

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

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

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

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

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

Mark Otto's avatar
dist    
Mark Otto committed
3831

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

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

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

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

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

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

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

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

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