bootstrap 4.3.0 → 4.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +15 -1
  3. data/CHANGELOG.md +2 -14
  4. data/README.md +1 -1
  5. data/assets/javascripts/bootstrap-sprockets.js +7 -7
  6. data/assets/javascripts/bootstrap.js +1186 -1056
  7. data/assets/javascripts/bootstrap.min.js +4 -4
  8. data/assets/javascripts/bootstrap/alert.js +45 -65
  9. data/assets/javascripts/bootstrap/button.js +114 -80
  10. data/assets/javascripts/bootstrap/carousel.js +131 -186
  11. data/assets/javascripts/bootstrap/collapse.js +86 -140
  12. data/assets/javascripts/bootstrap/dropdown.js +152 -207
  13. data/assets/javascripts/bootstrap/modal.js +204 -214
  14. data/assets/javascripts/bootstrap/popover.js +41 -95
  15. data/assets/javascripts/bootstrap/scrollspy.js +69 -127
  16. data/assets/javascripts/bootstrap/tab.js +75 -95
  17. data/assets/javascripts/bootstrap/toast.js +87 -127
  18. data/assets/javascripts/bootstrap/tooltip.js +298 -198
  19. data/assets/javascripts/bootstrap/util.js +41 -20
  20. data/assets/stylesheets/_bootstrap-grid.scss +4 -4
  21. data/assets/stylesheets/_bootstrap-reboot.scss +4 -4
  22. data/assets/stylesheets/_bootstrap.scss +4 -4
  23. data/assets/stylesheets/bootstrap/_alert.scss +1 -0
  24. data/assets/stylesheets/bootstrap/_badge.scss +1 -1
  25. data/assets/stylesheets/bootstrap/_breadcrumb.scss +4 -1
  26. data/assets/stylesheets/bootstrap/_button-group.scss +1 -1
  27. data/assets/stylesheets/bootstrap/_buttons.scss +13 -8
  28. data/assets/stylesheets/bootstrap/_card.scss +42 -45
  29. data/assets/stylesheets/bootstrap/_carousel.scss +6 -6
  30. data/assets/stylesheets/bootstrap/_close.scss +2 -3
  31. data/assets/stylesheets/bootstrap/_code.scss +1 -1
  32. data/assets/stylesheets/bootstrap/_custom-forms.scss +34 -17
  33. data/assets/stylesheets/bootstrap/_dropdown.scss +6 -5
  34. data/assets/stylesheets/bootstrap/_forms.scss +26 -9
  35. data/assets/stylesheets/bootstrap/_functions.scss +63 -5
  36. data/assets/stylesheets/bootstrap/_grid.scss +32 -11
  37. data/assets/stylesheets/bootstrap/_images.scss +2 -2
  38. data/assets/stylesheets/bootstrap/_input-group.scss +1 -2
  39. data/assets/stylesheets/bootstrap/_list-group.scss +36 -31
  40. data/assets/stylesheets/bootstrap/_mixins.scss +3 -3
  41. data/assets/stylesheets/bootstrap/_modal.scss +26 -15
  42. data/assets/stylesheets/bootstrap/_nav.scss +6 -3
  43. data/assets/stylesheets/bootstrap/_navbar.scss +45 -15
  44. data/assets/stylesheets/bootstrap/_pagination.scss +3 -2
  45. data/assets/stylesheets/bootstrap/_popover.scss +8 -9
  46. data/assets/stylesheets/bootstrap/_print.scss +2 -2
  47. data/assets/stylesheets/bootstrap/_progress.scss +6 -2
  48. data/assets/stylesheets/bootstrap/_reboot.scss +32 -31
  49. data/assets/stylesheets/bootstrap/_root.scss +1 -0
  50. data/assets/stylesheets/bootstrap/_spinners.scss +3 -2
  51. data/assets/stylesheets/bootstrap/_tables.scss +3 -3
  52. data/assets/stylesheets/bootstrap/_toasts.scss +4 -2
  53. data/assets/stylesheets/bootstrap/_type.scss +2 -2
  54. data/assets/stylesheets/bootstrap/_utilities.scss +2 -1
  55. data/assets/stylesheets/bootstrap/_variables.scss +51 -32
  56. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +5 -3
  57. data/assets/stylesheets/bootstrap/mixins/_badge.scss +1 -1
  58. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +27 -14
  59. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +11 -8
  60. data/assets/stylesheets/bootstrap/mixins/_caret.scss +8 -8
  61. data/assets/stylesheets/bootstrap/mixins/_float.scss +3 -3
  62. data/assets/stylesheets/bootstrap/mixins/_forms.scss +35 -49
  63. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +29 -15
  64. data/assets/stylesheets/bootstrap/mixins/_grid.scss +25 -7
  65. data/assets/stylesheets/bootstrap/mixins/_hover.scss +4 -4
  66. data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -1
  67. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +1 -1
  68. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  69. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +2 -1
  70. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +1 -1
  71. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +4 -3
  72. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +1 -1
  73. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +3 -2
  74. data/assets/stylesheets/bootstrap/mixins/_transition.scss +18 -8
  75. data/assets/stylesheets/bootstrap/utilities/_background.scss +2 -2
  76. data/assets/stylesheets/bootstrap/utilities/_borders.scss +1 -1
  77. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +5 -0
  78. data/assets/stylesheets/bootstrap/utilities/_text.scss +4 -4
  79. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +0 -8
  80. data/bootstrap.gemspec +1 -1
  81. data/lib/bootstrap/version.rb +2 -2
  82. data/tasks/updater/js.rb +1 -1
  83. data/tasks/updater/network.rb +2 -2
  84. data/test/dummy_rails/app/assets/config/manifest.js +3 -0
  85. data/test/dummy_rails/app/assets/stylesheets/.browserslistrc +1 -0
  86. data/test/gemfiles/rails_6_0.gemfile +7 -0
  87. data/test/support/dummy_rails_integration.rb +3 -1
  88. data/test/test_helper.rb +18 -13
  89. metadata +11 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e4f88628d1020f4ed1af944a91de25e047b12ddde97532ca3c735333e6619612
4
- data.tar.gz: 14c57cf9e092cbc6fd3a0994cf154fba1638e3c856481a914a4ab6697941e1eb
3
+ metadata.gz: c98730831570e775bdcfefbd2d2946465d8cd26716d9da6d77e3153fd9d89e2d
4
+ data.tar.gz: b60a53933709daca80ab25a866fba41e45eea139d86e994af22fba22c131cfb8
5
5
  SHA512:
6
- metadata.gz: 8d08c1912dd142aec7b7568d47dbd66c09f98d8e6d779115d30ee1790f812cc1db0674dffa7b6c02a5a68af1d89869b4e02b66fbf7047fc02b90ecf7771ce970
7
- data.tar.gz: cf835b6f910d227b6e967b51e0cc0c1811e2730c5f7c91065a9581952752b7339a751776307690bdd0e672769f983874c2587fa2837b5099f820c04cd2fd5a3a
6
+ metadata.gz: 746ad8cdde80a8a6c98ec324671d8e4468fa5a647a4d40fbf255c9da606316090316ddfaa6104d17ff8ae7a4e4449349acf4fb7594a42bcff642b1983fa7bdb1
7
+ data.tar.gz: 53425f816ce5d20ceaab079d717ddf14ad911d44ebbd64970cb04a8990e464cfa68fcc7390b7f90ebdada88b7d6d371b6dfcb657030fabdbbe3efe7f63c4ab29
@@ -1,11 +1,25 @@
1
1
  language: ruby
2
2
  sudo: false
3
+ addons:
4
+ apt:
5
+ packages:
6
+ - chromium-browser
3
7
  rvm:
4
- - 2.3.8
8
+ - 2.5
9
+ - 2.6
10
+ - 2.7
11
+
5
12
  gemfile:
6
13
  - test/gemfiles/rails_4_2.gemfile
7
14
  - test/gemfiles/rails_5_0.gemfile
8
15
  - test/gemfiles/rails_5_1.gemfile
16
+ - test/gemfiles/rails_6_0.gemfile
17
+
18
+ jobs:
19
+ exclude:
20
+ rvm: 2.7
21
+ gemfile: test/gemfiles/rails_4_2.gemfile
22
+
9
23
  cache: bundler
10
24
  bundler_args: --path ../../vendor/bundle --without debug
11
25
  notifications:
@@ -6,21 +6,9 @@ The changelog only includes changes specific to the RubyGem.
6
6
  The Bootstrap framework changes can be found in [the Releases section of twbs/bootstrap](https://github.com/twbs/bootstrap/releases).
7
7
  Release announcement posts on [the official Bootstrap blog](http://blog.getbootstrap.com) contain summaries of the most noteworthy changes made in each release of Bootstrap.
8
8
 
9
- # 4.1.1
9
+ # 4.2.1
10
10
 
11
- No gem-specific changes.
12
-
13
- # 4.1.0
14
-
15
- No gem-specific changes.
16
-
17
- # 4.0.0
18
-
19
- No gem-specific changes.
20
-
21
- # 4.0.0.beta3
22
-
23
- No gem-specific changes.
11
+ * Bootstrap rubygem now depends on SassC instead of Sass.
24
12
 
25
13
  # 4.0.0.beta2.1
26
14
 
data/README.md CHANGED
@@ -17,7 +17,7 @@ Please see the appropriate guide for your environment of choice:
17
17
  Add `bootstrap` to your Gemfile:
18
18
 
19
19
  ```ruby
20
- gem 'bootstrap', '~> 4.3.0'
20
+ gem 'bootstrap', '~> 4.5.3'
21
21
  ```
22
22
 
23
23
  Ensure that `sprockets-rails` is at least v2.3.2.
@@ -1,12 +1,12 @@
1
1
  //= require ./bootstrap/util
2
- //= require ./bootstrap/alert
3
- //= require ./bootstrap/button
4
- //= require ./bootstrap/carousel
5
2
  //= require ./bootstrap/collapse
6
- //= require ./bootstrap/dropdown
7
- //= require ./bootstrap/modal
3
+ //= require ./bootstrap/alert
4
+ //= require ./bootstrap/tab
8
5
  //= require ./bootstrap/tooltip
9
6
  //= require ./bootstrap/popover
10
- //= require ./bootstrap/scrollspy
11
- //= require ./bootstrap/tab
7
+ //= require ./bootstrap/dropdown
8
+ //= require ./bootstrap/carousel
9
+ //= require ./bootstrap/button
10
+ //= require ./bootstrap/modal
12
11
  //= require ./bootstrap/toast
12
+ //= require ./bootstrap/scrollspy
@@ -1,16 +1,18 @@
1
1
  /*!
2
- * Bootstrap v4.3.0 (https://getbootstrap.com/)
3
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2
+ * Bootstrap v4.5.3 (https://getbootstrap.com/)
3
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
7
7
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) :
8
8
  typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) :
9
- (global = global || self, factory(global.bootstrap = {}, global.jQuery, global.Popper));
10
- }(this, function (exports, $, Popper) { 'use strict';
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.bootstrap = {}, global.jQuery, global.Popper));
10
+ }(this, (function (exports, $, Popper) { 'use strict';
11
11
 
12
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
- Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
+
14
+ var $__default = /*#__PURE__*/_interopDefaultLegacy($);
15
+ var Popper__default = /*#__PURE__*/_interopDefaultLegacy(Popper);
14
16
 
15
17
  function _defineProperties(target, props) {
16
18
  for (var i = 0; i < props.length; i++) {
@@ -28,38 +30,22 @@
28
30
  return Constructor;
29
31
  }
30
32
 
31
- function _defineProperty(obj, key, value) {
32
- if (key in obj) {
33
- Object.defineProperty(obj, key, {
34
- value: value,
35
- enumerable: true,
36
- configurable: true,
37
- writable: true
38
- });
39
- } else {
40
- obj[key] = value;
41
- }
42
-
43
- return obj;
44
- }
45
-
46
- function _objectSpread(target) {
47
- for (var i = 1; i < arguments.length; i++) {
48
- var source = arguments[i] != null ? arguments[i] : {};
49
- var ownKeys = Object.keys(source);
33
+ function _extends() {
34
+ _extends = Object.assign || function (target) {
35
+ for (var i = 1; i < arguments.length; i++) {
36
+ var source = arguments[i];
50
37
 
51
- if (typeof Object.getOwnPropertySymbols === 'function') {
52
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
53
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
54
- }));
38
+ for (var key in source) {
39
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
40
+ target[key] = source[key];
41
+ }
42
+ }
55
43
  }
56
44
 
57
- ownKeys.forEach(function (key) {
58
- _defineProperty(target, key, source[key]);
59
- });
60
- }
45
+ return target;
46
+ };
61
47
 
62
- return target;
48
+ return _extends.apply(this, arguments);
63
49
  }
64
50
 
65
51
  function _inheritsLoose(subClass, superClass) {
@@ -70,8 +56,8 @@
70
56
 
71
57
  /**
72
58
  * --------------------------------------------------------------------------
73
- * Bootstrap (v4.3.0): util.js
74
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
59
+ * Bootstrap (v4.5.3): util.js
60
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
75
61
  * --------------------------------------------------------------------------
76
62
  */
77
63
  /**
@@ -85,6 +71,10 @@
85
71
  var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
86
72
 
87
73
  function toType(obj) {
74
+ if (obj === null || typeof obj === 'undefined') {
75
+ return "" + obj;
76
+ }
77
+
88
78
  return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
89
79
  }
90
80
 
@@ -93,11 +83,11 @@
93
83
  bindType: TRANSITION_END,
94
84
  delegateType: TRANSITION_END,
95
85
  handle: function handle(event) {
96
- if ($(event.target).is(this)) {
86
+ if ($__default['default'](event.target).is(this)) {
97
87
  return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
98
88
  }
99
89
 
100
- return undefined; // eslint-disable-line no-undefined
90
+ return undefined;
101
91
  }
102
92
  };
103
93
  }
@@ -106,7 +96,7 @@
106
96
  var _this = this;
107
97
 
108
98
  var called = false;
109
- $(this).one(Util.TRANSITION_END, function () {
99
+ $__default['default'](this).one(Util.TRANSITION_END, function () {
110
100
  called = true;
111
101
  });
112
102
  setTimeout(function () {
@@ -118,8 +108,8 @@
118
108
  }
119
109
 
120
110
  function setTransitionEndSupport() {
121
- $.fn.emulateTransitionEnd = transitionEndEmulator;
122
- $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
111
+ $__default['default'].fn.emulateTransitionEnd = transitionEndEmulator;
112
+ $__default['default'].event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
123
113
  }
124
114
  /**
125
115
  * --------------------------------------------------------------------------
@@ -132,7 +122,6 @@
132
122
  TRANSITION_END: 'bsTransitionEnd',
133
123
  getUID: function getUID(prefix) {
134
124
  do {
135
- // eslint-disable-next-line no-bitwise
136
125
  prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
137
126
  } while (document.getElementById(prefix));
138
127
 
@@ -148,7 +137,7 @@
148
137
 
149
138
  try {
150
139
  return document.querySelector(selector) ? selector : null;
151
- } catch (err) {
140
+ } catch (_) {
152
141
  return null;
153
142
  }
154
143
  },
@@ -158,8 +147,8 @@
158
147
  } // Get transition-duration of the element
159
148
 
160
149
 
161
- var transitionDuration = $(element).css('transition-duration');
162
- var transitionDelay = $(element).css('transition-delay');
150
+ var transitionDuration = $__default['default'](element).css('transition-duration');
151
+ var transitionDelay = $__default['default'](element).css('transition-delay');
163
152
  var floatTransitionDuration = parseFloat(transitionDuration);
164
153
  var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
165
154
 
@@ -176,9 +165,8 @@
176
165
  return element.offsetHeight;
177
166
  },
178
167
  triggerTransitionEnd: function triggerTransitionEnd(element) {
179
- $(element).trigger(TRANSITION_END);
168
+ $__default['default'](element).trigger(TRANSITION_END);
180
169
  },
181
- // TODO: Remove in v5
182
170
  supportsTransitionEnd: function supportsTransitionEnd() {
183
171
  return Boolean(TRANSITION_END);
184
172
  },
@@ -219,8 +207,25 @@
219
207
  }
220
208
 
221
209
  return Util.findShadowRoot(element.parentNode);
210
+ },
211
+ jQueryDetection: function jQueryDetection() {
212
+ if (typeof $__default['default'] === 'undefined') {
213
+ throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
214
+ }
215
+
216
+ var version = $__default['default'].fn.jquery.split(' ')[0].split('.');
217
+ var minMajor = 1;
218
+ var ltMajor = 2;
219
+ var minMinor = 9;
220
+ var minPatch = 1;
221
+ var maxMajor = 4;
222
+
223
+ if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
224
+ throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
225
+ }
222
226
  }
223
227
  };
228
+ Util.jQueryDetection();
224
229
  setTransitionEndSupport();
225
230
 
226
231
  /**
@@ -230,34 +235,25 @@
230
235
  */
231
236
 
232
237
  var NAME = 'alert';
233
- var VERSION = '4.3.0';
238
+ var VERSION = '4.5.3';
234
239
  var DATA_KEY = 'bs.alert';
235
240
  var EVENT_KEY = "." + DATA_KEY;
236
241
  var DATA_API_KEY = '.data-api';
237
- var JQUERY_NO_CONFLICT = $.fn[NAME];
238
- var Selector = {
239
- DISMISS: '[data-dismiss="alert"]'
240
- };
241
- var Event = {
242
- CLOSE: "close" + EVENT_KEY,
243
- CLOSED: "closed" + EVENT_KEY,
244
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
245
- };
246
- var ClassName = {
247
- ALERT: 'alert',
248
- FADE: 'fade',
249
- SHOW: 'show'
250
- /**
251
- * ------------------------------------------------------------------------
252
- * Class Definition
253
- * ------------------------------------------------------------------------
254
- */
255
-
256
- };
242
+ var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME];
243
+ var SELECTOR_DISMISS = '[data-dismiss="alert"]';
244
+ var EVENT_CLOSE = "close" + EVENT_KEY;
245
+ var EVENT_CLOSED = "closed" + EVENT_KEY;
246
+ var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
247
+ var CLASS_NAME_ALERT = 'alert';
248
+ var CLASS_NAME_FADE = 'fade';
249
+ var CLASS_NAME_SHOW = 'show';
250
+ /**
251
+ * ------------------------------------------------------------------------
252
+ * Class Definition
253
+ * ------------------------------------------------------------------------
254
+ */
257
255
 
258
- var Alert =
259
- /*#__PURE__*/
260
- function () {
256
+ var Alert = /*#__PURE__*/function () {
261
257
  function Alert(element) {
262
258
  this._element = element;
263
259
  } // Getters
@@ -283,7 +279,7 @@
283
279
  };
284
280
 
285
281
  _proto.dispose = function dispose() {
286
- $.removeData(this._element, DATA_KEY);
282
+ $__default['default'].removeData(this._element, DATA_KEY);
287
283
  this._element = null;
288
284
  } // Private
289
285
  ;
@@ -297,43 +293,43 @@
297
293
  }
298
294
 
299
295
  if (!parent) {
300
- parent = $(element).closest("." + ClassName.ALERT)[0];
296
+ parent = $__default['default'](element).closest("." + CLASS_NAME_ALERT)[0];
301
297
  }
302
298
 
303
299
  return parent;
304
300
  };
305
301
 
306
302
  _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
307
- var closeEvent = $.Event(Event.CLOSE);
308
- $(element).trigger(closeEvent);
303
+ var closeEvent = $__default['default'].Event(EVENT_CLOSE);
304
+ $__default['default'](element).trigger(closeEvent);
309
305
  return closeEvent;
310
306
  };
311
307
 
312
308
  _proto._removeElement = function _removeElement(element) {
313
309
  var _this = this;
314
310
 
315
- $(element).removeClass(ClassName.SHOW);
311
+ $__default['default'](element).removeClass(CLASS_NAME_SHOW);
316
312
 
317
- if (!$(element).hasClass(ClassName.FADE)) {
313
+ if (!$__default['default'](element).hasClass(CLASS_NAME_FADE)) {
318
314
  this._destroyElement(element);
319
315
 
320
316
  return;
321
317
  }
322
318
 
323
319
  var transitionDuration = Util.getTransitionDurationFromElement(element);
324
- $(element).one(Util.TRANSITION_END, function (event) {
320
+ $__default['default'](element).one(Util.TRANSITION_END, function (event) {
325
321
  return _this._destroyElement(element, event);
326
322
  }).emulateTransitionEnd(transitionDuration);
327
323
  };
328
324
 
329
325
  _proto._destroyElement = function _destroyElement(element) {
330
- $(element).detach().trigger(Event.CLOSED).remove();
326
+ $__default['default'](element).detach().trigger(EVENT_CLOSED).remove();
331
327
  } // Static
332
328
  ;
333
329
 
334
330
  Alert._jQueryInterface = function _jQueryInterface(config) {
335
331
  return this.each(function () {
336
- var $element = $(this);
332
+ var $element = $__default['default'](this);
337
333
  var data = $element.data(DATA_KEY);
338
334
 
339
335
  if (!data) {
@@ -373,18 +369,18 @@
373
369
  */
374
370
 
375
371
 
376
- $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
372
+ $__default['default'](document).on(EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert._handleDismiss(new Alert()));
377
373
  /**
378
374
  * ------------------------------------------------------------------------
379
375
  * jQuery
380
376
  * ------------------------------------------------------------------------
381
377
  */
382
378
 
383
- $.fn[NAME] = Alert._jQueryInterface;
384
- $.fn[NAME].Constructor = Alert;
379
+ $__default['default'].fn[NAME] = Alert._jQueryInterface;
380
+ $__default['default'].fn[NAME].Constructor = Alert;
385
381
 
386
- $.fn[NAME].noConflict = function () {
387
- $.fn[NAME] = JQUERY_NO_CONFLICT;
382
+ $__default['default'].fn[NAME].noConflict = function () {
383
+ $__default['default'].fn[NAME] = JQUERY_NO_CONFLICT;
388
384
  return Alert._jQueryInterface;
389
385
  };
390
386
 
@@ -395,39 +391,34 @@
395
391
  */
396
392
 
397
393
  var NAME$1 = 'button';
398
- var VERSION$1 = '4.3.0';
394
+ var VERSION$1 = '4.5.3';
399
395
  var DATA_KEY$1 = 'bs.button';
400
396
  var EVENT_KEY$1 = "." + DATA_KEY$1;
401
397
  var DATA_API_KEY$1 = '.data-api';
402
- var JQUERY_NO_CONFLICT$1 = $.fn[NAME$1];
403
- var ClassName$1 = {
404
- ACTIVE: 'active',
405
- BUTTON: 'btn',
406
- FOCUS: 'focus'
407
- };
408
- var Selector$1 = {
409
- DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
410
- DATA_TOGGLE: '[data-toggle="buttons"]',
411
- INPUT: 'input:not([type="hidden"])',
412
- ACTIVE: '.active',
413
- BUTTON: '.btn'
414
- };
415
- var Event$1 = {
416
- CLICK_DATA_API: "click" + EVENT_KEY$1 + DATA_API_KEY$1,
417
- FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY$1 + DATA_API_KEY$1 + " " + ("blur" + EVENT_KEY$1 + DATA_API_KEY$1)
418
- /**
419
- * ------------------------------------------------------------------------
420
- * Class Definition
421
- * ------------------------------------------------------------------------
422
- */
423
-
424
- };
398
+ var JQUERY_NO_CONFLICT$1 = $__default['default'].fn[NAME$1];
399
+ var CLASS_NAME_ACTIVE = 'active';
400
+ var CLASS_NAME_BUTTON = 'btn';
401
+ var CLASS_NAME_FOCUS = 'focus';
402
+ var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^="button"]';
403
+ var SELECTOR_DATA_TOGGLES = '[data-toggle="buttons"]';
404
+ var SELECTOR_DATA_TOGGLE = '[data-toggle="button"]';
405
+ var SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle="buttons"] .btn';
406
+ var SELECTOR_INPUT = 'input:not([type="hidden"])';
407
+ var SELECTOR_ACTIVE = '.active';
408
+ var SELECTOR_BUTTON = '.btn';
409
+ var EVENT_CLICK_DATA_API$1 = "click" + EVENT_KEY$1 + DATA_API_KEY$1;
410
+ var EVENT_FOCUS_BLUR_DATA_API = "focus" + EVENT_KEY$1 + DATA_API_KEY$1 + " " + ("blur" + EVENT_KEY$1 + DATA_API_KEY$1);
411
+ var EVENT_LOAD_DATA_API = "load" + EVENT_KEY$1 + DATA_API_KEY$1;
412
+ /**
413
+ * ------------------------------------------------------------------------
414
+ * Class Definition
415
+ * ------------------------------------------------------------------------
416
+ */
425
417
 
426
- var Button =
427
- /*#__PURE__*/
428
- function () {
418
+ var Button = /*#__PURE__*/function () {
429
419
  function Button(element) {
430
420
  this._element = element;
421
+ this.shouldAvoidTriggerChange = false;
431
422
  } // Getters
432
423
 
433
424
 
@@ -437,31 +428,33 @@
437
428
  _proto.toggle = function toggle() {
438
429
  var triggerChangeEvent = true;
439
430
  var addAriaPressed = true;
440
- var rootElement = $(this._element).closest(Selector$1.DATA_TOGGLE)[0];
431
+ var rootElement = $__default['default'](this._element).closest(SELECTOR_DATA_TOGGLES)[0];
441
432
 
442
433
  if (rootElement) {
443
- var input = this._element.querySelector(Selector$1.INPUT);
434
+ var input = this._element.querySelector(SELECTOR_INPUT);
444
435
 
445
436
  if (input) {
446
437
  if (input.type === 'radio') {
447
- if (input.checked && this._element.classList.contains(ClassName$1.ACTIVE)) {
438
+ if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {
448
439
  triggerChangeEvent = false;
449
440
  } else {
450
- var activeElement = rootElement.querySelector(Selector$1.ACTIVE);
441
+ var activeElement = rootElement.querySelector(SELECTOR_ACTIVE);
451
442
 
452
443
  if (activeElement) {
453
- $(activeElement).removeClass(ClassName$1.ACTIVE);
444
+ $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE);
454
445
  }
455
446
  }
456
447
  }
457
448
 
458
449
  if (triggerChangeEvent) {
459
- if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
460
- return;
450
+ // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input
451
+ if (input.type === 'checkbox' || input.type === 'radio') {
452
+ input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE);
461
453
  }
462
454
 
463
- input.checked = !this._element.classList.contains(ClassName$1.ACTIVE);
464
- $(input).trigger('change');
455
+ if (!this.shouldAvoidTriggerChange) {
456
+ $__default['default'](input).trigger('change');
457
+ }
465
458
  }
466
459
 
467
460
  input.focus();
@@ -469,30 +462,35 @@
469
462
  }
470
463
  }
471
464
 
472
- if (addAriaPressed) {
473
- this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName$1.ACTIVE));
474
- }
465
+ if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {
466
+ if (addAriaPressed) {
467
+ this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE));
468
+ }
475
469
 
476
- if (triggerChangeEvent) {
477
- $(this._element).toggleClass(ClassName$1.ACTIVE);
470
+ if (triggerChangeEvent) {
471
+ $__default['default'](this._element).toggleClass(CLASS_NAME_ACTIVE);
472
+ }
478
473
  }
479
474
  };
480
475
 
481
476
  _proto.dispose = function dispose() {
482
- $.removeData(this._element, DATA_KEY$1);
477
+ $__default['default'].removeData(this._element, DATA_KEY$1);
483
478
  this._element = null;
484
479
  } // Static
485
480
  ;
486
481
 
487
- Button._jQueryInterface = function _jQueryInterface(config) {
482
+ Button._jQueryInterface = function _jQueryInterface(config, avoidTriggerChange) {
488
483
  return this.each(function () {
489
- var data = $(this).data(DATA_KEY$1);
484
+ var $element = $__default['default'](this);
485
+ var data = $element.data(DATA_KEY$1);
490
486
 
491
487
  if (!data) {
492
488
  data = new Button(this);
493
- $(this).data(DATA_KEY$1, data);
489
+ $element.data(DATA_KEY$1, data);
494
490
  }
495
491
 
492
+ data.shouldAvoidTriggerChange = avoidTriggerChange;
493
+
496
494
  if (config === 'toggle') {
497
495
  data[config]();
498
496
  }
@@ -515,18 +513,61 @@
515
513
  */
516
514
 
517
515
 
518
- $(document).on(Event$1.CLICK_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
519
- event.preventDefault();
516
+ $__default['default'](document).on(EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
520
517
  var button = event.target;
518
+ var initialButton = button;
521
519
 
522
- if (!$(button).hasClass(ClassName$1.BUTTON)) {
523
- button = $(button).closest(Selector$1.BUTTON);
520
+ if (!$__default['default'](button).hasClass(CLASS_NAME_BUTTON)) {
521
+ button = $__default['default'](button).closest(SELECTOR_BUTTON)[0];
524
522
  }
525
523
 
526
- Button._jQueryInterface.call($(button), 'toggle');
527
- }).on(Event$1.FOCUS_BLUR_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
528
- var button = $(event.target).closest(Selector$1.BUTTON)[0];
529
- $(button).toggleClass(ClassName$1.FOCUS, /^focus(in)?$/.test(event.type));
524
+ if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {
525
+ event.preventDefault(); // work around Firefox bug #1540995
526
+ } else {
527
+ var inputBtn = button.querySelector(SELECTOR_INPUT);
528
+
529
+ if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {
530
+ event.preventDefault(); // work around Firefox bug #1540995
531
+
532
+ return;
533
+ }
534
+
535
+ if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') {
536
+ Button._jQueryInterface.call($__default['default'](button), 'toggle', initialButton.tagName === 'INPUT');
537
+ }
538
+ }
539
+ }).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
540
+ var button = $__default['default'](event.target).closest(SELECTOR_BUTTON)[0];
541
+ $__default['default'](button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type));
542
+ });
543
+ $__default['default'](window).on(EVENT_LOAD_DATA_API, function () {
544
+ // ensure correct active class is set to match the controls' actual values/states
545
+ // find all checkboxes/readio buttons inside data-toggle groups
546
+ var buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS));
547
+
548
+ for (var i = 0, len = buttons.length; i < len; i++) {
549
+ var button = buttons[i];
550
+ var input = button.querySelector(SELECTOR_INPUT);
551
+
552
+ if (input.checked || input.hasAttribute('checked')) {
553
+ button.classList.add(CLASS_NAME_ACTIVE);
554
+ } else {
555
+ button.classList.remove(CLASS_NAME_ACTIVE);
556
+ }
557
+ } // find all button toggles
558
+
559
+
560
+ buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));
561
+
562
+ for (var _i = 0, _len = buttons.length; _i < _len; _i++) {
563
+ var _button = buttons[_i];
564
+
565
+ if (_button.getAttribute('aria-pressed') === 'true') {
566
+ _button.classList.add(CLASS_NAME_ACTIVE);
567
+ } else {
568
+ _button.classList.remove(CLASS_NAME_ACTIVE);
569
+ }
570
+ }
530
571
  });
531
572
  /**
532
573
  * ------------------------------------------------------------------------
@@ -534,11 +575,11 @@
534
575
  * ------------------------------------------------------------------------
535
576
  */
536
577
 
537
- $.fn[NAME$1] = Button._jQueryInterface;
538
- $.fn[NAME$1].Constructor = Button;
578
+ $__default['default'].fn[NAME$1] = Button._jQueryInterface;
579
+ $__default['default'].fn[NAME$1].Constructor = Button;
539
580
 
540
- $.fn[NAME$1].noConflict = function () {
541
- $.fn[NAME$1] = JQUERY_NO_CONFLICT$1;
581
+ $__default['default'].fn[NAME$1].noConflict = function () {
582
+ $__default['default'].fn[NAME$1] = JQUERY_NO_CONFLICT$1;
542
583
  return Button._jQueryInterface;
543
584
  };
544
585
 
@@ -549,11 +590,11 @@
549
590
  */
550
591
 
551
592
  var NAME$2 = 'carousel';
552
- var VERSION$2 = '4.3.0';
593
+ var VERSION$2 = '4.5.3';
553
594
  var DATA_KEY$2 = 'bs.carousel';
554
595
  var EVENT_KEY$2 = "." + DATA_KEY$2;
555
596
  var DATA_API_KEY$2 = '.data-api';
556
- var JQUERY_NO_CONFLICT$2 = $.fn[NAME$2];
597
+ var JQUERY_NO_CONFLICT$2 = $__default['default'].fn[NAME$2];
557
598
  var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
558
599
 
559
600
  var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
@@ -577,62 +618,50 @@
577
618
  wrap: 'boolean',
578
619
  touch: 'boolean'
579
620
  };
580
- var Direction = {
581
- NEXT: 'next',
582
- PREV: 'prev',
583
- LEFT: 'left',
584
- RIGHT: 'right'
585
- };
586
- var Event$2 = {
587
- SLIDE: "slide" + EVENT_KEY$2,
588
- SLID: "slid" + EVENT_KEY$2,
589
- KEYDOWN: "keydown" + EVENT_KEY$2,
590
- MOUSEENTER: "mouseenter" + EVENT_KEY$2,
591
- MOUSELEAVE: "mouseleave" + EVENT_KEY$2,
592
- TOUCHSTART: "touchstart" + EVENT_KEY$2,
593
- TOUCHMOVE: "touchmove" + EVENT_KEY$2,
594
- TOUCHEND: "touchend" + EVENT_KEY$2,
595
- POINTERDOWN: "pointerdown" + EVENT_KEY$2,
596
- POINTERUP: "pointerup" + EVENT_KEY$2,
597
- DRAG_START: "dragstart" + EVENT_KEY$2,
598
- LOAD_DATA_API: "load" + EVENT_KEY$2 + DATA_API_KEY$2,
599
- CLICK_DATA_API: "click" + EVENT_KEY$2 + DATA_API_KEY$2
600
- };
601
- var ClassName$2 = {
602
- CAROUSEL: 'carousel',
603
- ACTIVE: 'active',
604
- SLIDE: 'slide',
605
- RIGHT: 'carousel-item-right',
606
- LEFT: 'carousel-item-left',
607
- NEXT: 'carousel-item-next',
608
- PREV: 'carousel-item-prev',
609
- ITEM: 'carousel-item',
610
- POINTER_EVENT: 'pointer-event'
611
- };
612
- var Selector$2 = {
613
- ACTIVE: '.active',
614
- ACTIVE_ITEM: '.active.carousel-item',
615
- ITEM: '.carousel-item',
616
- ITEM_IMG: '.carousel-item img',
617
- NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
618
- INDICATORS: '.carousel-indicators',
619
- DATA_SLIDE: '[data-slide], [data-slide-to]',
620
- DATA_RIDE: '[data-ride="carousel"]'
621
- };
621
+ var DIRECTION_NEXT = 'next';
622
+ var DIRECTION_PREV = 'prev';
623
+ var DIRECTION_LEFT = 'left';
624
+ var DIRECTION_RIGHT = 'right';
625
+ var EVENT_SLIDE = "slide" + EVENT_KEY$2;
626
+ var EVENT_SLID = "slid" + EVENT_KEY$2;
627
+ var EVENT_KEYDOWN = "keydown" + EVENT_KEY$2;
628
+ var EVENT_MOUSEENTER = "mouseenter" + EVENT_KEY$2;
629
+ var EVENT_MOUSELEAVE = "mouseleave" + EVENT_KEY$2;
630
+ var EVENT_TOUCHSTART = "touchstart" + EVENT_KEY$2;
631
+ var EVENT_TOUCHMOVE = "touchmove" + EVENT_KEY$2;
632
+ var EVENT_TOUCHEND = "touchend" + EVENT_KEY$2;
633
+ var EVENT_POINTERDOWN = "pointerdown" + EVENT_KEY$2;
634
+ var EVENT_POINTERUP = "pointerup" + EVENT_KEY$2;
635
+ var EVENT_DRAG_START = "dragstart" + EVENT_KEY$2;
636
+ var EVENT_LOAD_DATA_API$1 = "load" + EVENT_KEY$2 + DATA_API_KEY$2;
637
+ var EVENT_CLICK_DATA_API$2 = "click" + EVENT_KEY$2 + DATA_API_KEY$2;
638
+ var CLASS_NAME_CAROUSEL = 'carousel';
639
+ var CLASS_NAME_ACTIVE$1 = 'active';
640
+ var CLASS_NAME_SLIDE = 'slide';
641
+ var CLASS_NAME_RIGHT = 'carousel-item-right';
642
+ var CLASS_NAME_LEFT = 'carousel-item-left';
643
+ var CLASS_NAME_NEXT = 'carousel-item-next';
644
+ var CLASS_NAME_PREV = 'carousel-item-prev';
645
+ var CLASS_NAME_POINTER_EVENT = 'pointer-event';
646
+ var SELECTOR_ACTIVE$1 = '.active';
647
+ var SELECTOR_ACTIVE_ITEM = '.active.carousel-item';
648
+ var SELECTOR_ITEM = '.carousel-item';
649
+ var SELECTOR_ITEM_IMG = '.carousel-item img';
650
+ var SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';
651
+ var SELECTOR_INDICATORS = '.carousel-indicators';
652
+ var SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]';
653
+ var SELECTOR_DATA_RIDE = '[data-ride="carousel"]';
622
654
  var PointerType = {
623
655
  TOUCH: 'touch',
624
656
  PEN: 'pen'
625
- /**
626
- * ------------------------------------------------------------------------
627
- * Class Definition
628
- * ------------------------------------------------------------------------
629
- */
630
-
631
657
  };
658
+ /**
659
+ * ------------------------------------------------------------------------
660
+ * Class Definition
661
+ * ------------------------------------------------------------------------
662
+ */
632
663
 
633
- var Carousel =
634
- /*#__PURE__*/
635
- function () {
664
+ var Carousel = /*#__PURE__*/function () {
636
665
  function Carousel(element, config) {
637
666
  this._items = null;
638
667
  this._interval = null;
@@ -644,7 +673,7 @@
644
673
  this.touchDeltaX = 0;
645
674
  this._config = this._getConfig(config);
646
675
  this._element = element;
647
- this._indicatorsElement = this._element.querySelector(Selector$2.INDICATORS);
676
+ this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS);
648
677
  this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
649
678
  this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);
650
679
 
@@ -657,21 +686,22 @@
657
686
  // Public
658
687
  _proto.next = function next() {
659
688
  if (!this._isSliding) {
660
- this._slide(Direction.NEXT);
689
+ this._slide(DIRECTION_NEXT);
661
690
  }
662
691
  };
663
692
 
664
693
  _proto.nextWhenVisible = function nextWhenVisible() {
665
- // Don't call next when the page isn't visible
694
+ var $element = $__default['default'](this._element); // Don't call next when the page isn't visible
666
695
  // or the carousel or its parent isn't visible
667
- if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') {
696
+
697
+ if (!document.hidden && $element.is(':visible') && $element.css('visibility') !== 'hidden') {
668
698
  this.next();
669
699
  }
670
700
  };
671
701
 
672
702
  _proto.prev = function prev() {
673
703
  if (!this._isSliding) {
674
- this._slide(Direction.PREV);
704
+ this._slide(DIRECTION_PREV);
675
705
  }
676
706
  };
677
707
 
@@ -680,7 +710,7 @@
680
710
  this._isPaused = true;
681
711
  }
682
712
 
683
- if (this._element.querySelector(Selector$2.NEXT_PREV)) {
713
+ if (this._element.querySelector(SELECTOR_NEXT_PREV)) {
684
714
  Util.triggerTransitionEnd(this._element);
685
715
  this.cycle(true);
686
716
  }
@@ -707,7 +737,7 @@
707
737
  _proto.to = function to(index) {
708
738
  var _this = this;
709
739
 
710
- this._activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);
740
+ this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);
711
741
 
712
742
  var activeIndex = this._getItemIndex(this._activeElement);
713
743
 
@@ -716,7 +746,7 @@
716
746
  }
717
747
 
718
748
  if (this._isSliding) {
719
- $(this._element).one(Event$2.SLID, function () {
749
+ $__default['default'](this._element).one(EVENT_SLID, function () {
720
750
  return _this.to(index);
721
751
  });
722
752
  return;
@@ -728,14 +758,14 @@
728
758
  return;
729
759
  }
730
760
 
731
- var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
761
+ var direction = index > activeIndex ? DIRECTION_NEXT : DIRECTION_PREV;
732
762
 
733
763
  this._slide(direction, this._items[index]);
734
764
  };
735
765
 
736
766
  _proto.dispose = function dispose() {
737
- $(this._element).off(EVENT_KEY$2);
738
- $.removeData(this._element, DATA_KEY$2);
767
+ $__default['default'](this._element).off(EVENT_KEY$2);
768
+ $__default['default'].removeData(this._element, DATA_KEY$2);
739
769
  this._items = null;
740
770
  this._config = null;
741
771
  this._element = null;
@@ -748,7 +778,7 @@
748
778
  ;
749
779
 
750
780
  _proto._getConfig = function _getConfig(config) {
751
- config = _objectSpread({}, Default, config);
781
+ config = _extends({}, Default, config);
752
782
  Util.typeCheckConfig(NAME$2, config, DefaultType);
753
783
  return config;
754
784
  };
@@ -760,7 +790,8 @@
760
790
  return;
761
791
  }
762
792
 
763
- var direction = absDeltax / this.touchDeltaX; // swipe left
793
+ var direction = absDeltax / this.touchDeltaX;
794
+ this.touchDeltaX = 0; // swipe left
764
795
 
765
796
  if (direction > 0) {
766
797
  this.prev();
@@ -776,15 +807,15 @@
776
807
  var _this2 = this;
777
808
 
778
809
  if (this._config.keyboard) {
779
- $(this._element).on(Event$2.KEYDOWN, function (event) {
810
+ $__default['default'](this._element).on(EVENT_KEYDOWN, function (event) {
780
811
  return _this2._keydown(event);
781
812
  });
782
813
  }
783
814
 
784
815
  if (this._config.pause === 'hover') {
785
- $(this._element).on(Event$2.MOUSEENTER, function (event) {
816
+ $__default['default'](this._element).on(EVENT_MOUSEENTER, function (event) {
786
817
  return _this2.pause(event);
787
- }).on(Event$2.MOUSELEAVE, function (event) {
818
+ }).on(EVENT_MOUSELEAVE, function (event) {
788
819
  return _this2.cycle(event);
789
820
  });
790
821
  }
@@ -845,27 +876,27 @@
845
876
  }
846
877
  };
847
878
 
848
- $(this._element.querySelectorAll(Selector$2.ITEM_IMG)).on(Event$2.DRAG_START, function (e) {
879
+ $__default['default'](this._element.querySelectorAll(SELECTOR_ITEM_IMG)).on(EVENT_DRAG_START, function (e) {
849
880
  return e.preventDefault();
850
881
  });
851
882
 
852
883
  if (this._pointerEvent) {
853
- $(this._element).on(Event$2.POINTERDOWN, function (event) {
884
+ $__default['default'](this._element).on(EVENT_POINTERDOWN, function (event) {
854
885
  return start(event);
855
886
  });
856
- $(this._element).on(Event$2.POINTERUP, function (event) {
887
+ $__default['default'](this._element).on(EVENT_POINTERUP, function (event) {
857
888
  return end(event);
858
889
  });
859
890
 
860
- this._element.classList.add(ClassName$2.POINTER_EVENT);
891
+ this._element.classList.add(CLASS_NAME_POINTER_EVENT);
861
892
  } else {
862
- $(this._element).on(Event$2.TOUCHSTART, function (event) {
893
+ $__default['default'](this._element).on(EVENT_TOUCHSTART, function (event) {
863
894
  return start(event);
864
895
  });
865
- $(this._element).on(Event$2.TOUCHMOVE, function (event) {
896
+ $__default['default'](this._element).on(EVENT_TOUCHMOVE, function (event) {
866
897
  return move(event);
867
898
  });
868
- $(this._element).on(Event$2.TOUCHEND, function (event) {
899
+ $__default['default'](this._element).on(EVENT_TOUCHEND, function (event) {
869
900
  return end(event);
870
901
  });
871
902
  }
@@ -886,19 +917,17 @@
886
917
  event.preventDefault();
887
918
  this.next();
888
919
  break;
889
-
890
- default:
891
920
  }
892
921
  };
893
922
 
894
923
  _proto._getItemIndex = function _getItemIndex(element) {
895
- this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector$2.ITEM)) : [];
924
+ this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM)) : [];
896
925
  return this._items.indexOf(element);
897
926
  };
898
927
 
899
928
  _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
900
- var isNextDirection = direction === Direction.NEXT;
901
- var isPrevDirection = direction === Direction.PREV;
929
+ var isNextDirection = direction === DIRECTION_NEXT;
930
+ var isPrevDirection = direction === DIRECTION_PREV;
902
931
 
903
932
  var activeIndex = this._getItemIndex(activeElement);
904
933
 
@@ -909,7 +938,7 @@
909
938
  return activeElement;
910
939
  }
911
940
 
912
- var delta = direction === Direction.PREV ? -1 : 1;
941
+ var delta = direction === DIRECTION_PREV ? -1 : 1;
913
942
  var itemIndex = (activeIndex + delta) % this._items.length;
914
943
  return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
915
944
  };
@@ -917,27 +946,27 @@
917
946
  _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
918
947
  var targetIndex = this._getItemIndex(relatedTarget);
919
948
 
920
- var fromIndex = this._getItemIndex(this._element.querySelector(Selector$2.ACTIVE_ITEM));
949
+ var fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM));
921
950
 
922
- var slideEvent = $.Event(Event$2.SLIDE, {
951
+ var slideEvent = $__default['default'].Event(EVENT_SLIDE, {
923
952
  relatedTarget: relatedTarget,
924
953
  direction: eventDirectionName,
925
954
  from: fromIndex,
926
955
  to: targetIndex
927
956
  });
928
- $(this._element).trigger(slideEvent);
957
+ $__default['default'](this._element).trigger(slideEvent);
929
958
  return slideEvent;
930
959
  };
931
960
 
932
961
  _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
933
962
  if (this._indicatorsElement) {
934
- var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector$2.ACTIVE));
935
- $(indicators).removeClass(ClassName$2.ACTIVE);
963
+ var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE$1));
964
+ $__default['default'](indicators).removeClass(CLASS_NAME_ACTIVE$1);
936
965
 
937
966
  var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
938
967
 
939
968
  if (nextIndicator) {
940
- $(nextIndicator).addClass(ClassName$2.ACTIVE);
969
+ $__default['default'](nextIndicator).addClass(CLASS_NAME_ACTIVE$1);
941
970
  }
942
971
  }
943
972
  };
@@ -945,7 +974,7 @@
945
974
  _proto._slide = function _slide(direction, element) {
946
975
  var _this4 = this;
947
976
 
948
- var activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);
977
+ var activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);
949
978
 
950
979
  var activeElementIndex = this._getItemIndex(activeElement);
951
980
 
@@ -958,17 +987,17 @@
958
987
  var orderClassName;
959
988
  var eventDirectionName;
960
989
 
961
- if (direction === Direction.NEXT) {
962
- directionalClassName = ClassName$2.LEFT;
963
- orderClassName = ClassName$2.NEXT;
964
- eventDirectionName = Direction.LEFT;
990
+ if (direction === DIRECTION_NEXT) {
991
+ directionalClassName = CLASS_NAME_LEFT;
992
+ orderClassName = CLASS_NAME_NEXT;
993
+ eventDirectionName = DIRECTION_LEFT;
965
994
  } else {
966
- directionalClassName = ClassName$2.RIGHT;
967
- orderClassName = ClassName$2.PREV;
968
- eventDirectionName = Direction.RIGHT;
995
+ directionalClassName = CLASS_NAME_RIGHT;
996
+ orderClassName = CLASS_NAME_PREV;
997
+ eventDirectionName = DIRECTION_RIGHT;
969
998
  }
970
999
 
971
- if (nextElement && $(nextElement).hasClass(ClassName$2.ACTIVE)) {
1000
+ if (nextElement && $__default['default'](nextElement).hasClass(CLASS_NAME_ACTIVE$1)) {
972
1001
  this._isSliding = false;
973
1002
  return;
974
1003
  }
@@ -992,18 +1021,18 @@
992
1021
 
993
1022
  this._setActiveIndicatorElement(nextElement);
994
1023
 
995
- var slidEvent = $.Event(Event$2.SLID, {
1024
+ var slidEvent = $__default['default'].Event(EVENT_SLID, {
996
1025
  relatedTarget: nextElement,
997
1026
  direction: eventDirectionName,
998
1027
  from: activeElementIndex,
999
1028
  to: nextElementIndex
1000
1029
  });
1001
1030
 
1002
- if ($(this._element).hasClass(ClassName$2.SLIDE)) {
1003
- $(nextElement).addClass(orderClassName);
1031
+ if ($__default['default'](this._element).hasClass(CLASS_NAME_SLIDE)) {
1032
+ $__default['default'](nextElement).addClass(orderClassName);
1004
1033
  Util.reflow(nextElement);
1005
- $(activeElement).addClass(directionalClassName);
1006
- $(nextElement).addClass(directionalClassName);
1034
+ $__default['default'](activeElement).addClass(directionalClassName);
1035
+ $__default['default'](nextElement).addClass(directionalClassName);
1007
1036
  var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10);
1008
1037
 
1009
1038
  if (nextElementInterval) {
@@ -1014,19 +1043,19 @@
1014
1043
  }
1015
1044
 
1016
1045
  var transitionDuration = Util.getTransitionDurationFromElement(activeElement);
1017
- $(activeElement).one(Util.TRANSITION_END, function () {
1018
- $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName$2.ACTIVE);
1019
- $(activeElement).removeClass(ClassName$2.ACTIVE + " " + orderClassName + " " + directionalClassName);
1046
+ $__default['default'](activeElement).one(Util.TRANSITION_END, function () {
1047
+ $__default['default'](nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(CLASS_NAME_ACTIVE$1);
1048
+ $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE$1 + " " + orderClassName + " " + directionalClassName);
1020
1049
  _this4._isSliding = false;
1021
1050
  setTimeout(function () {
1022
- return $(_this4._element).trigger(slidEvent);
1051
+ return $__default['default'](_this4._element).trigger(slidEvent);
1023
1052
  }, 0);
1024
1053
  }).emulateTransitionEnd(transitionDuration);
1025
1054
  } else {
1026
- $(activeElement).removeClass(ClassName$2.ACTIVE);
1027
- $(nextElement).addClass(ClassName$2.ACTIVE);
1055
+ $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE$1);
1056
+ $__default['default'](nextElement).addClass(CLASS_NAME_ACTIVE$1);
1028
1057
  this._isSliding = false;
1029
- $(this._element).trigger(slidEvent);
1058
+ $__default['default'](this._element).trigger(slidEvent);
1030
1059
  }
1031
1060
 
1032
1061
  if (isCycling) {
@@ -1037,19 +1066,19 @@
1037
1066
 
1038
1067
  Carousel._jQueryInterface = function _jQueryInterface(config) {
1039
1068
  return this.each(function () {
1040
- var data = $(this).data(DATA_KEY$2);
1069
+ var data = $__default['default'](this).data(DATA_KEY$2);
1041
1070
 
1042
- var _config = _objectSpread({}, Default, $(this).data());
1071
+ var _config = _extends({}, Default, $__default['default'](this).data());
1043
1072
 
1044
1073
  if (typeof config === 'object') {
1045
- _config = _objectSpread({}, _config, config);
1074
+ _config = _extends({}, _config, config);
1046
1075
  }
1047
1076
 
1048
1077
  var action = typeof config === 'string' ? config : _config.slide;
1049
1078
 
1050
1079
  if (!data) {
1051
1080
  data = new Carousel(this, _config);
1052
- $(this).data(DATA_KEY$2, data);
1081
+ $__default['default'](this).data(DATA_KEY$2, data);
1053
1082
  }
1054
1083
 
1055
1084
  if (typeof config === 'number') {
@@ -1074,13 +1103,13 @@
1074
1103
  return;
1075
1104
  }
1076
1105
 
1077
- var target = $(selector)[0];
1106
+ var target = $__default['default'](selector)[0];
1078
1107
 
1079
- if (!target || !$(target).hasClass(ClassName$2.CAROUSEL)) {
1108
+ if (!target || !$__default['default'](target).hasClass(CLASS_NAME_CAROUSEL)) {
1080
1109
  return;
1081
1110
  }
1082
1111
 
1083
- var config = _objectSpread({}, $(target).data(), $(this).data());
1112
+ var config = _extends({}, $__default['default'](target).data(), $__default['default'](this).data());
1084
1113
 
1085
1114
  var slideIndex = this.getAttribute('data-slide-to');
1086
1115
 
@@ -1088,10 +1117,10 @@
1088
1117
  config.interval = false;
1089
1118
  }
1090
1119
 
1091
- Carousel._jQueryInterface.call($(target), config);
1120
+ Carousel._jQueryInterface.call($__default['default'](target), config);
1092
1121
 
1093
1122
  if (slideIndex) {
1094
- $(target).data(DATA_KEY$2).to(slideIndex);
1123
+ $__default['default'](target).data(DATA_KEY$2).to(slideIndex);
1095
1124
  }
1096
1125
 
1097
1126
  event.preventDefault();
@@ -1118,12 +1147,12 @@
1118
1147
  */
1119
1148
 
1120
1149
 
1121
- $(document).on(Event$2.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel._dataApiClickHandler);
1122
- $(window).on(Event$2.LOAD_DATA_API, function () {
1123
- var carousels = [].slice.call(document.querySelectorAll(Selector$2.DATA_RIDE));
1150
+ $__default['default'](document).on(EVENT_CLICK_DATA_API$2, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler);
1151
+ $__default['default'](window).on(EVENT_LOAD_DATA_API$1, function () {
1152
+ var carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE));
1124
1153
 
1125
1154
  for (var i = 0, len = carousels.length; i < len; i++) {
1126
- var $carousel = $(carousels[i]);
1155
+ var $carousel = $__default['default'](carousels[i]);
1127
1156
 
1128
1157
  Carousel._jQueryInterface.call($carousel, $carousel.data());
1129
1158
  }
@@ -1134,11 +1163,11 @@
1134
1163
  * ------------------------------------------------------------------------
1135
1164
  */
1136
1165
 
1137
- $.fn[NAME$2] = Carousel._jQueryInterface;
1138
- $.fn[NAME$2].Constructor = Carousel;
1166
+ $__default['default'].fn[NAME$2] = Carousel._jQueryInterface;
1167
+ $__default['default'].fn[NAME$2].Constructor = Carousel;
1139
1168
 
1140
- $.fn[NAME$2].noConflict = function () {
1141
- $.fn[NAME$2] = JQUERY_NO_CONFLICT$2;
1169
+ $__default['default'].fn[NAME$2].noConflict = function () {
1170
+ $__default['default'].fn[NAME$2] = JQUERY_NO_CONFLICT$2;
1142
1171
  return Carousel._jQueryInterface;
1143
1172
  };
1144
1173
 
@@ -1149,11 +1178,11 @@
1149
1178
  */
1150
1179
 
1151
1180
  var NAME$3 = 'collapse';
1152
- var VERSION$3 = '4.3.0';
1181
+ var VERSION$3 = '4.5.3';
1153
1182
  var DATA_KEY$3 = 'bs.collapse';
1154
1183
  var EVENT_KEY$3 = "." + DATA_KEY$3;
1155
1184
  var DATA_API_KEY$3 = '.data-api';
1156
- var JQUERY_NO_CONFLICT$3 = $.fn[NAME$3];
1185
+ var JQUERY_NO_CONFLICT$3 = $__default['default'].fn[NAME$3];
1157
1186
  var Default$1 = {
1158
1187
  toggle: true,
1159
1188
  parent: ''
@@ -1162,43 +1191,32 @@
1162
1191
  toggle: 'boolean',
1163
1192
  parent: '(string|element)'
1164
1193
  };
1165
- var Event$3 = {
1166
- SHOW: "show" + EVENT_KEY$3,
1167
- SHOWN: "shown" + EVENT_KEY$3,
1168
- HIDE: "hide" + EVENT_KEY$3,
1169
- HIDDEN: "hidden" + EVENT_KEY$3,
1170
- CLICK_DATA_API: "click" + EVENT_KEY$3 + DATA_API_KEY$3
1171
- };
1172
- var ClassName$3 = {
1173
- SHOW: 'show',
1174
- COLLAPSE: 'collapse',
1175
- COLLAPSING: 'collapsing',
1176
- COLLAPSED: 'collapsed'
1177
- };
1178
- var Dimension = {
1179
- WIDTH: 'width',
1180
- HEIGHT: 'height'
1181
- };
1182
- var Selector$3 = {
1183
- ACTIVES: '.show, .collapsing',
1184
- DATA_TOGGLE: '[data-toggle="collapse"]'
1185
- /**
1186
- * ------------------------------------------------------------------------
1187
- * Class Definition
1188
- * ------------------------------------------------------------------------
1189
- */
1190
-
1191
- };
1194
+ var EVENT_SHOW = "show" + EVENT_KEY$3;
1195
+ var EVENT_SHOWN = "shown" + EVENT_KEY$3;
1196
+ var EVENT_HIDE = "hide" + EVENT_KEY$3;
1197
+ var EVENT_HIDDEN = "hidden" + EVENT_KEY$3;
1198
+ var EVENT_CLICK_DATA_API$3 = "click" + EVENT_KEY$3 + DATA_API_KEY$3;
1199
+ var CLASS_NAME_SHOW$1 = 'show';
1200
+ var CLASS_NAME_COLLAPSE = 'collapse';
1201
+ var CLASS_NAME_COLLAPSING = 'collapsing';
1202
+ var CLASS_NAME_COLLAPSED = 'collapsed';
1203
+ var DIMENSION_WIDTH = 'width';
1204
+ var DIMENSION_HEIGHT = 'height';
1205
+ var SELECTOR_ACTIVES = '.show, .collapsing';
1206
+ var SELECTOR_DATA_TOGGLE$1 = '[data-toggle="collapse"]';
1207
+ /**
1208
+ * ------------------------------------------------------------------------
1209
+ * Class Definition
1210
+ * ------------------------------------------------------------------------
1211
+ */
1192
1212
 
1193
- var Collapse =
1194
- /*#__PURE__*/
1195
- function () {
1213
+ var Collapse = /*#__PURE__*/function () {
1196
1214
  function Collapse(element, config) {
1197
1215
  this._isTransitioning = false;
1198
1216
  this._element = element;
1199
1217
  this._config = this._getConfig(config);
1200
1218
  this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
1201
- var toggleList = [].slice.call(document.querySelectorAll(Selector$3.DATA_TOGGLE));
1219
+ var toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$1));
1202
1220
 
1203
1221
  for (var i = 0, len = toggleList.length; i < len; i++) {
1204
1222
  var elem = toggleList[i];
@@ -1230,7 +1248,7 @@
1230
1248
 
1231
1249
  // Public
1232
1250
  _proto.toggle = function toggle() {
1233
- if ($(this._element).hasClass(ClassName$3.SHOW)) {
1251
+ if ($__default['default'](this._element).hasClass(CLASS_NAME_SHOW$1)) {
1234
1252
  this.hide();
1235
1253
  } else {
1236
1254
  this.show();
@@ -1240,7 +1258,7 @@
1240
1258
  _proto.show = function show() {
1241
1259
  var _this = this;
1242
1260
 
1243
- if (this._isTransitioning || $(this._element).hasClass(ClassName$3.SHOW)) {
1261
+ if (this._isTransitioning || $__default['default'](this._element).hasClass(CLASS_NAME_SHOW$1)) {
1244
1262
  return;
1245
1263
  }
1246
1264
 
@@ -1248,12 +1266,12 @@
1248
1266
  var activesData;
1249
1267
 
1250
1268
  if (this._parent) {
1251
- actives = [].slice.call(this._parent.querySelectorAll(Selector$3.ACTIVES)).filter(function (elem) {
1269
+ actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES)).filter(function (elem) {
1252
1270
  if (typeof _this._config.parent === 'string') {
1253
1271
  return elem.getAttribute('data-parent') === _this._config.parent;
1254
1272
  }
1255
1273
 
1256
- return elem.classList.contains(ClassName$3.COLLAPSE);
1274
+ return elem.classList.contains(CLASS_NAME_COLLAPSE);
1257
1275
  });
1258
1276
 
1259
1277
  if (actives.length === 0) {
@@ -1262,64 +1280,64 @@
1262
1280
  }
1263
1281
 
1264
1282
  if (actives) {
1265
- activesData = $(actives).not(this._selector).data(DATA_KEY$3);
1283
+ activesData = $__default['default'](actives).not(this._selector).data(DATA_KEY$3);
1266
1284
 
1267
1285
  if (activesData && activesData._isTransitioning) {
1268
1286
  return;
1269
1287
  }
1270
1288
  }
1271
1289
 
1272
- var startEvent = $.Event(Event$3.SHOW);
1273
- $(this._element).trigger(startEvent);
1290
+ var startEvent = $__default['default'].Event(EVENT_SHOW);
1291
+ $__default['default'](this._element).trigger(startEvent);
1274
1292
 
1275
1293
  if (startEvent.isDefaultPrevented()) {
1276
1294
  return;
1277
1295
  }
1278
1296
 
1279
1297
  if (actives) {
1280
- Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide');
1298
+ Collapse._jQueryInterface.call($__default['default'](actives).not(this._selector), 'hide');
1281
1299
 
1282
1300
  if (!activesData) {
1283
- $(actives).data(DATA_KEY$3, null);
1301
+ $__default['default'](actives).data(DATA_KEY$3, null);
1284
1302
  }
1285
1303
  }
1286
1304
 
1287
1305
  var dimension = this._getDimension();
1288
1306
 
1289
- $(this._element).removeClass(ClassName$3.COLLAPSE).addClass(ClassName$3.COLLAPSING);
1307
+ $__default['default'](this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING);
1290
1308
  this._element.style[dimension] = 0;
1291
1309
 
1292
1310
  if (this._triggerArray.length) {
1293
- $(this._triggerArray).removeClass(ClassName$3.COLLAPSED).attr('aria-expanded', true);
1311
+ $__default['default'](this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true);
1294
1312
  }
1295
1313
 
1296
1314
  this.setTransitioning(true);
1297
1315
 
1298
1316
  var complete = function complete() {
1299
- $(_this._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).addClass(ClassName$3.SHOW);
1317
+ $__default['default'](_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW$1);
1300
1318
  _this._element.style[dimension] = '';
1301
1319
 
1302
1320
  _this.setTransitioning(false);
1303
1321
 
1304
- $(_this._element).trigger(Event$3.SHOWN);
1322
+ $__default['default'](_this._element).trigger(EVENT_SHOWN);
1305
1323
  };
1306
1324
 
1307
1325
  var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
1308
1326
  var scrollSize = "scroll" + capitalizedDimension;
1309
1327
  var transitionDuration = Util.getTransitionDurationFromElement(this._element);
1310
- $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
1328
+ $__default['default'](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
1311
1329
  this._element.style[dimension] = this._element[scrollSize] + "px";
1312
1330
  };
1313
1331
 
1314
1332
  _proto.hide = function hide() {
1315
1333
  var _this2 = this;
1316
1334
 
1317
- if (this._isTransitioning || !$(this._element).hasClass(ClassName$3.SHOW)) {
1335
+ if (this._isTransitioning || !$__default['default'](this._element).hasClass(CLASS_NAME_SHOW$1)) {
1318
1336
  return;
1319
1337
  }
1320
1338
 
1321
- var startEvent = $.Event(Event$3.HIDE);
1322
- $(this._element).trigger(startEvent);
1339
+ var startEvent = $__default['default'].Event(EVENT_HIDE);
1340
+ $__default['default'](this._element).trigger(startEvent);
1323
1341
 
1324
1342
  if (startEvent.isDefaultPrevented()) {
1325
1343
  return;
@@ -1329,7 +1347,7 @@
1329
1347
 
1330
1348
  this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
1331
1349
  Util.reflow(this._element);
1332
- $(this._element).addClass(ClassName$3.COLLAPSING).removeClass(ClassName$3.COLLAPSE).removeClass(ClassName$3.SHOW);
1350
+ $__default['default'](this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW$1);
1333
1351
  var triggerArrayLength = this._triggerArray.length;
1334
1352
 
1335
1353
  if (triggerArrayLength > 0) {
@@ -1338,10 +1356,10 @@
1338
1356
  var selector = Util.getSelectorFromElement(trigger);
1339
1357
 
1340
1358
  if (selector !== null) {
1341
- var $elem = $([].slice.call(document.querySelectorAll(selector)));
1359
+ var $elem = $__default['default']([].slice.call(document.querySelectorAll(selector)));
1342
1360
 
1343
- if (!$elem.hasClass(ClassName$3.SHOW)) {
1344
- $(trigger).addClass(ClassName$3.COLLAPSED).attr('aria-expanded', false);
1361
+ if (!$elem.hasClass(CLASS_NAME_SHOW$1)) {
1362
+ $__default['default'](trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false);
1345
1363
  }
1346
1364
  }
1347
1365
  }
@@ -1352,12 +1370,12 @@
1352
1370
  var complete = function complete() {
1353
1371
  _this2.setTransitioning(false);
1354
1372
 
1355
- $(_this2._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).trigger(Event$3.HIDDEN);
1373
+ $__default['default'](_this2._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE).trigger(EVENT_HIDDEN);
1356
1374
  };
1357
1375
 
1358
1376
  this._element.style[dimension] = '';
1359
1377
  var transitionDuration = Util.getTransitionDurationFromElement(this._element);
1360
- $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
1378
+ $__default['default'](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
1361
1379
  };
1362
1380
 
1363
1381
  _proto.setTransitioning = function setTransitioning(isTransitioning) {
@@ -1365,7 +1383,7 @@
1365
1383
  };
1366
1384
 
1367
1385
  _proto.dispose = function dispose() {
1368
- $.removeData(this._element, DATA_KEY$3);
1386
+ $__default['default'].removeData(this._element, DATA_KEY$3);
1369
1387
  this._config = null;
1370
1388
  this._parent = null;
1371
1389
  this._element = null;
@@ -1375,7 +1393,7 @@
1375
1393
  ;
1376
1394
 
1377
1395
  _proto._getConfig = function _getConfig(config) {
1378
- config = _objectSpread({}, Default$1, config);
1396
+ config = _extends({}, Default$1, config);
1379
1397
  config.toggle = Boolean(config.toggle); // Coerce string values
1380
1398
 
1381
1399
  Util.typeCheckConfig(NAME$3, config, DefaultType$1);
@@ -1383,8 +1401,8 @@
1383
1401
  };
1384
1402
 
1385
1403
  _proto._getDimension = function _getDimension() {
1386
- var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
1387
- return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
1404
+ var hasWidth = $__default['default'](this._element).hasClass(DIMENSION_WIDTH);
1405
+ return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT;
1388
1406
  };
1389
1407
 
1390
1408
  _proto._getParent = function _getParent() {
@@ -1404,17 +1422,17 @@
1404
1422
 
1405
1423
  var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
1406
1424
  var children = [].slice.call(parent.querySelectorAll(selector));
1407
- $(children).each(function (i, element) {
1425
+ $__default['default'](children).each(function (i, element) {
1408
1426
  _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
1409
1427
  });
1410
1428
  return parent;
1411
1429
  };
1412
1430
 
1413
1431
  _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
1414
- var isOpen = $(element).hasClass(ClassName$3.SHOW);
1432
+ var isOpen = $__default['default'](element).hasClass(CLASS_NAME_SHOW$1);
1415
1433
 
1416
1434
  if (triggerArray.length) {
1417
- $(triggerArray).toggleClass(ClassName$3.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
1435
+ $__default['default'](triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
1418
1436
  }
1419
1437
  } // Static
1420
1438
  ;
@@ -1426,18 +1444,18 @@
1426
1444
 
1427
1445
  Collapse._jQueryInterface = function _jQueryInterface(config) {
1428
1446
  return this.each(function () {
1429
- var $this = $(this);
1430
- var data = $this.data(DATA_KEY$3);
1447
+ var $element = $__default['default'](this);
1448
+ var data = $element.data(DATA_KEY$3);
1431
1449
 
1432
- var _config = _objectSpread({}, Default$1, $this.data(), typeof config === 'object' && config ? config : {});
1450
+ var _config = _extends({}, Default$1, $element.data(), typeof config === 'object' && config ? config : {});
1433
1451
 
1434
- if (!data && _config.toggle && /show|hide/.test(config)) {
1452
+ if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {
1435
1453
  _config.toggle = false;
1436
1454
  }
1437
1455
 
1438
1456
  if (!data) {
1439
1457
  data = new Collapse(this, _config);
1440
- $this.data(DATA_KEY$3, data);
1458
+ $element.data(DATA_KEY$3, data);
1441
1459
  }
1442
1460
 
1443
1461
  if (typeof config === 'string') {
@@ -1471,17 +1489,17 @@
1471
1489
  */
1472
1490
 
1473
1491
 
1474
- $(document).on(Event$3.CLICK_DATA_API, Selector$3.DATA_TOGGLE, function (event) {
1492
+ $__default['default'](document).on(EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$1, function (event) {
1475
1493
  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
1476
1494
  if (event.currentTarget.tagName === 'A') {
1477
1495
  event.preventDefault();
1478
1496
  }
1479
1497
 
1480
- var $trigger = $(this);
1498
+ var $trigger = $__default['default'](this);
1481
1499
  var selector = Util.getSelectorFromElement(this);
1482
1500
  var selectors = [].slice.call(document.querySelectorAll(selector));
1483
- $(selectors).each(function () {
1484
- var $target = $(this);
1501
+ $__default['default'](selectors).each(function () {
1502
+ var $target = $__default['default'](this);
1485
1503
  var data = $target.data(DATA_KEY$3);
1486
1504
  var config = data ? 'toggle' : $trigger.data();
1487
1505
 
@@ -1494,11 +1512,11 @@
1494
1512
  * ------------------------------------------------------------------------
1495
1513
  */
1496
1514
 
1497
- $.fn[NAME$3] = Collapse._jQueryInterface;
1498
- $.fn[NAME$3].Constructor = Collapse;
1515
+ $__default['default'].fn[NAME$3] = Collapse._jQueryInterface;
1516
+ $__default['default'].fn[NAME$3].Constructor = Collapse;
1499
1517
 
1500
- $.fn[NAME$3].noConflict = function () {
1501
- $.fn[NAME$3] = JQUERY_NO_CONFLICT$3;
1518
+ $__default['default'].fn[NAME$3].noConflict = function () {
1519
+ $__default['default'].fn[NAME$3] = JQUERY_NO_CONFLICT$3;
1502
1520
  return Collapse._jQueryInterface;
1503
1521
  };
1504
1522
 
@@ -1509,11 +1527,11 @@
1509
1527
  */
1510
1528
 
1511
1529
  var NAME$4 = 'dropdown';
1512
- var VERSION$4 = '4.3.0';
1530
+ var VERSION$4 = '4.5.3';
1513
1531
  var DATA_KEY$4 = 'bs.dropdown';
1514
1532
  var EVENT_KEY$4 = "." + DATA_KEY$4;
1515
1533
  var DATA_API_KEY$4 = '.data-api';
1516
- var JQUERY_NO_CONFLICT$4 = $.fn[NAME$4];
1534
+ var JQUERY_NO_CONFLICT$4 = $__default['default'].fn[NAME$4];
1517
1535
  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
1518
1536
 
1519
1537
  var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
@@ -1527,67 +1545,55 @@
1527
1545
  var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
1528
1546
 
1529
1547
  var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
1530
- var Event$4 = {
1531
- HIDE: "hide" + EVENT_KEY$4,
1532
- HIDDEN: "hidden" + EVENT_KEY$4,
1533
- SHOW: "show" + EVENT_KEY$4,
1534
- SHOWN: "shown" + EVENT_KEY$4,
1535
- CLICK: "click" + EVENT_KEY$4,
1536
- CLICK_DATA_API: "click" + EVENT_KEY$4 + DATA_API_KEY$4,
1537
- KEYDOWN_DATA_API: "keydown" + EVENT_KEY$4 + DATA_API_KEY$4,
1538
- KEYUP_DATA_API: "keyup" + EVENT_KEY$4 + DATA_API_KEY$4
1539
- };
1540
- var ClassName$4 = {
1541
- DISABLED: 'disabled',
1542
- SHOW: 'show',
1543
- DROPUP: 'dropup',
1544
- DROPRIGHT: 'dropright',
1545
- DROPLEFT: 'dropleft',
1546
- MENURIGHT: 'dropdown-menu-right',
1547
- MENULEFT: 'dropdown-menu-left',
1548
- POSITION_STATIC: 'position-static'
1549
- };
1550
- var Selector$4 = {
1551
- DATA_TOGGLE: '[data-toggle="dropdown"]',
1552
- FORM_CHILD: '.dropdown form',
1553
- MENU: '.dropdown-menu',
1554
- NAVBAR_NAV: '.navbar-nav',
1555
- VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
1556
- };
1557
- var AttachmentMap = {
1558
- TOP: 'top-start',
1559
- TOPEND: 'top-end',
1560
- BOTTOM: 'bottom-start',
1561
- BOTTOMEND: 'bottom-end',
1562
- RIGHT: 'right-start',
1563
- RIGHTEND: 'right-end',
1564
- LEFT: 'left-start',
1565
- LEFTEND: 'left-end'
1566
- };
1548
+ var EVENT_HIDE$1 = "hide" + EVENT_KEY$4;
1549
+ var EVENT_HIDDEN$1 = "hidden" + EVENT_KEY$4;
1550
+ var EVENT_SHOW$1 = "show" + EVENT_KEY$4;
1551
+ var EVENT_SHOWN$1 = "shown" + EVENT_KEY$4;
1552
+ var EVENT_CLICK = "click" + EVENT_KEY$4;
1553
+ var EVENT_CLICK_DATA_API$4 = "click" + EVENT_KEY$4 + DATA_API_KEY$4;
1554
+ var EVENT_KEYDOWN_DATA_API = "keydown" + EVENT_KEY$4 + DATA_API_KEY$4;
1555
+ var EVENT_KEYUP_DATA_API = "keyup" + EVENT_KEY$4 + DATA_API_KEY$4;
1556
+ var CLASS_NAME_DISABLED = 'disabled';
1557
+ var CLASS_NAME_SHOW$2 = 'show';
1558
+ var CLASS_NAME_DROPUP = 'dropup';
1559
+ var CLASS_NAME_DROPRIGHT = 'dropright';
1560
+ var CLASS_NAME_DROPLEFT = 'dropleft';
1561
+ var CLASS_NAME_MENURIGHT = 'dropdown-menu-right';
1562
+ var CLASS_NAME_POSITION_STATIC = 'position-static';
1563
+ var SELECTOR_DATA_TOGGLE$2 = '[data-toggle="dropdown"]';
1564
+ var SELECTOR_FORM_CHILD = '.dropdown form';
1565
+ var SELECTOR_MENU = '.dropdown-menu';
1566
+ var SELECTOR_NAVBAR_NAV = '.navbar-nav';
1567
+ var SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
1568
+ var PLACEMENT_TOP = 'top-start';
1569
+ var PLACEMENT_TOPEND = 'top-end';
1570
+ var PLACEMENT_BOTTOM = 'bottom-start';
1571
+ var PLACEMENT_BOTTOMEND = 'bottom-end';
1572
+ var PLACEMENT_RIGHT = 'right-start';
1573
+ var PLACEMENT_LEFT = 'left-start';
1567
1574
  var Default$2 = {
1568
1575
  offset: 0,
1569
1576
  flip: true,
1570
1577
  boundary: 'scrollParent',
1571
1578
  reference: 'toggle',
1572
- display: 'dynamic'
1579
+ display: 'dynamic',
1580
+ popperConfig: null
1573
1581
  };
1574
1582
  var DefaultType$2 = {
1575
1583
  offset: '(number|string|function)',
1576
1584
  flip: 'boolean',
1577
1585
  boundary: '(string|element)',
1578
1586
  reference: '(string|element)',
1579
- display: 'string'
1580
- /**
1581
- * ------------------------------------------------------------------------
1582
- * Class Definition
1583
- * ------------------------------------------------------------------------
1584
- */
1585
-
1587
+ display: 'string',
1588
+ popperConfig: '(null|object)'
1586
1589
  };
1590
+ /**
1591
+ * ------------------------------------------------------------------------
1592
+ * Class Definition
1593
+ * ------------------------------------------------------------------------
1594
+ */
1587
1595
 
1588
- var Dropdown =
1589
- /*#__PURE__*/
1590
- function () {
1596
+ var Dropdown = /*#__PURE__*/function () {
1591
1597
  function Dropdown(element, config) {
1592
1598
  this._element = element;
1593
1599
  this._popper = null;
@@ -1603,13 +1609,11 @@
1603
1609
 
1604
1610
  // Public
1605
1611
  _proto.toggle = function toggle() {
1606
- if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED)) {
1612
+ if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED)) {
1607
1613
  return;
1608
1614
  }
1609
1615
 
1610
- var parent = Dropdown._getParentFromElement(this._element);
1611
-
1612
- var isActive = $(this._menu).hasClass(ClassName$4.SHOW);
1616
+ var isActive = $__default['default'](this._menu).hasClass(CLASS_NAME_SHOW$2);
1613
1617
 
1614
1618
  Dropdown._clearMenus();
1615
1619
 
@@ -1617,23 +1621,38 @@
1617
1621
  return;
1618
1622
  }
1619
1623
 
1624
+ this.show(true);
1625
+ };
1626
+
1627
+ _proto.show = function show(usePopper) {
1628
+ if (usePopper === void 0) {
1629
+ usePopper = false;
1630
+ }
1631
+
1632
+ if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED) || $__default['default'](this._menu).hasClass(CLASS_NAME_SHOW$2)) {
1633
+ return;
1634
+ }
1635
+
1620
1636
  var relatedTarget = {
1621
1637
  relatedTarget: this._element
1622
1638
  };
1623
- var showEvent = $.Event(Event$4.SHOW, relatedTarget);
1624
- $(parent).trigger(showEvent);
1639
+ var showEvent = $__default['default'].Event(EVENT_SHOW$1, relatedTarget);
1640
+
1641
+ var parent = Dropdown._getParentFromElement(this._element);
1642
+
1643
+ $__default['default'](parent).trigger(showEvent);
1625
1644
 
1626
1645
  if (showEvent.isDefaultPrevented()) {
1627
1646
  return;
1628
1647
  } // Disable totally Popper.js for Dropdown in Navbar
1629
1648
 
1630
1649
 
1631
- if (!this._inNavbar) {
1650
+ if (!this._inNavbar && usePopper) {
1632
1651
  /**
1633
1652
  * Check for Popper dependency
1634
1653
  * Popper - https://popper.js.org
1635
1654
  */
1636
- if (typeof Popper === 'undefined') {
1655
+ if (typeof Popper__default['default'] === 'undefined') {
1637
1656
  throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org/)');
1638
1657
  }
1639
1658
 
@@ -1653,75 +1672,57 @@
1653
1672
 
1654
1673
 
1655
1674
  if (this._config.boundary !== 'scrollParent') {
1656
- $(parent).addClass(ClassName$4.POSITION_STATIC);
1675
+ $__default['default'](parent).addClass(CLASS_NAME_POSITION_STATIC);
1657
1676
  }
1658
1677
 
1659
- this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
1678
+ this._popper = new Popper__default['default'](referenceElement, this._menu, this._getPopperConfig());
1660
1679
  } // If this is a touch-enabled device we add extra
1661
1680
  // empty mouseover listeners to the body's immediate children;
1662
1681
  // only needed because of broken event delegation on iOS
1663
1682
  // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
1664
1683
 
1665
1684
 
1666
- if ('ontouchstart' in document.documentElement && $(parent).closest(Selector$4.NAVBAR_NAV).length === 0) {
1667
- $(document.body).children().on('mouseover', null, $.noop);
1685
+ if ('ontouchstart' in document.documentElement && $__default['default'](parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {
1686
+ $__default['default'](document.body).children().on('mouseover', null, $__default['default'].noop);
1668
1687
  }
1669
1688
 
1670
1689
  this._element.focus();
1671
1690
 
1672
1691
  this._element.setAttribute('aria-expanded', true);
1673
1692
 
1674
- $(this._menu).toggleClass(ClassName$4.SHOW);
1675
- $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));
1676
- };
1677
-
1678
- _proto.show = function show() {
1679
- if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || $(this._menu).hasClass(ClassName$4.SHOW)) {
1680
- return;
1681
- }
1682
-
1683
- var relatedTarget = {
1684
- relatedTarget: this._element
1685
- };
1686
- var showEvent = $.Event(Event$4.SHOW, relatedTarget);
1687
-
1688
- var parent = Dropdown._getParentFromElement(this._element);
1689
-
1690
- $(parent).trigger(showEvent);
1691
-
1692
- if (showEvent.isDefaultPrevented()) {
1693
- return;
1694
- }
1695
-
1696
- $(this._menu).toggleClass(ClassName$4.SHOW);
1697
- $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));
1693
+ $__default['default'](this._menu).toggleClass(CLASS_NAME_SHOW$2);
1694
+ $__default['default'](parent).toggleClass(CLASS_NAME_SHOW$2).trigger($__default['default'].Event(EVENT_SHOWN$1, relatedTarget));
1698
1695
  };
1699
1696
 
1700
1697
  _proto.hide = function hide() {
1701
- if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || !$(this._menu).hasClass(ClassName$4.SHOW)) {
1698
+ if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED) || !$__default['default'](this._menu).hasClass(CLASS_NAME_SHOW$2)) {
1702
1699
  return;
1703
1700
  }
1704
1701
 
1705
1702
  var relatedTarget = {
1706
1703
  relatedTarget: this._element
1707
1704
  };
1708
- var hideEvent = $.Event(Event$4.HIDE, relatedTarget);
1705
+ var hideEvent = $__default['default'].Event(EVENT_HIDE$1, relatedTarget);
1709
1706
 
1710
1707
  var parent = Dropdown._getParentFromElement(this._element);
1711
1708
 
1712
- $(parent).trigger(hideEvent);
1709
+ $__default['default'](parent).trigger(hideEvent);
1713
1710
 
1714
1711
  if (hideEvent.isDefaultPrevented()) {
1715
1712
  return;
1716
1713
  }
1717
1714
 
1718
- $(this._menu).toggleClass(ClassName$4.SHOW);
1719
- $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));
1715
+ if (this._popper) {
1716
+ this._popper.destroy();
1717
+ }
1718
+
1719
+ $__default['default'](this._menu).toggleClass(CLASS_NAME_SHOW$2);
1720
+ $__default['default'](parent).toggleClass(CLASS_NAME_SHOW$2).trigger($__default['default'].Event(EVENT_HIDDEN$1, relatedTarget));
1720
1721
  };
1721
1722
 
1722
1723
  _proto.dispose = function dispose() {
1723
- $.removeData(this._element, DATA_KEY$4);
1724
- $(this._element).off(EVENT_KEY$4);
1724
+ $__default['default'].removeData(this._element, DATA_KEY$4);
1725
+ $__default['default'](this._element).off(EVENT_KEY$4);
1725
1726
  this._element = null;
1726
1727
  this._menu = null;
1727
1728
 
@@ -1744,7 +1745,7 @@
1744
1745
  _proto._addEventListeners = function _addEventListeners() {
1745
1746
  var _this = this;
1746
1747
 
1747
- $(this._element).on(Event$4.CLICK, function (event) {
1748
+ $__default['default'](this._element).on(EVENT_CLICK, function (event) {
1748
1749
  event.preventDefault();
1749
1750
  event.stopPropagation();
1750
1751
 
@@ -1753,7 +1754,7 @@
1753
1754
  };
1754
1755
 
1755
1756
  _proto._getConfig = function _getConfig(config) {
1756
- config = _objectSpread({}, this.constructor.Default, $(this._element).data(), config);
1757
+ config = _extends({}, this.constructor.Default, $__default['default'](this._element).data(), config);
1757
1758
  Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType);
1758
1759
  return config;
1759
1760
  };
@@ -1763,7 +1764,7 @@
1763
1764
  var parent = Dropdown._getParentFromElement(this._element);
1764
1765
 
1765
1766
  if (parent) {
1766
- this._menu = parent.querySelector(Selector$4.MENU);
1767
+ this._menu = parent.querySelector(SELECTOR_MENU);
1767
1768
  }
1768
1769
  }
1769
1770
 
@@ -1771,28 +1772,24 @@
1771
1772
  };
1772
1773
 
1773
1774
  _proto._getPlacement = function _getPlacement() {
1774
- var $parentDropdown = $(this._element.parentNode);
1775
- var placement = AttachmentMap.BOTTOM; // Handle dropup
1775
+ var $parentDropdown = $__default['default'](this._element.parentNode);
1776
+ var placement = PLACEMENT_BOTTOM; // Handle dropup
1776
1777
 
1777
- if ($parentDropdown.hasClass(ClassName$4.DROPUP)) {
1778
- placement = AttachmentMap.TOP;
1779
-
1780
- if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {
1781
- placement = AttachmentMap.TOPEND;
1782
- }
1783
- } else if ($parentDropdown.hasClass(ClassName$4.DROPRIGHT)) {
1784
- placement = AttachmentMap.RIGHT;
1785
- } else if ($parentDropdown.hasClass(ClassName$4.DROPLEFT)) {
1786
- placement = AttachmentMap.LEFT;
1787
- } else if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {
1788
- placement = AttachmentMap.BOTTOMEND;
1778
+ if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {
1779
+ placement = $__default['default'](this._menu).hasClass(CLASS_NAME_MENURIGHT) ? PLACEMENT_TOPEND : PLACEMENT_TOP;
1780
+ } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {
1781
+ placement = PLACEMENT_RIGHT;
1782
+ } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {
1783
+ placement = PLACEMENT_LEFT;
1784
+ } else if ($__default['default'](this._menu).hasClass(CLASS_NAME_MENURIGHT)) {
1785
+ placement = PLACEMENT_BOTTOMEND;
1789
1786
  }
1790
1787
 
1791
1788
  return placement;
1792
1789
  };
1793
1790
 
1794
1791
  _proto._detectNavbar = function _detectNavbar() {
1795
- return $(this._element).closest('.navbar').length > 0;
1792
+ return $__default['default'](this._element).closest('.navbar').length > 0;
1796
1793
  };
1797
1794
 
1798
1795
  _proto._getOffset = function _getOffset() {
@@ -1802,7 +1799,7 @@
1802
1799
 
1803
1800
  if (typeof this._config.offset === 'function') {
1804
1801
  offset.fn = function (data) {
1805
- data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {});
1802
+ data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {});
1806
1803
  return data;
1807
1804
  };
1808
1805
  } else {
@@ -1823,9 +1820,8 @@
1823
1820
  preventOverflow: {
1824
1821
  boundariesElement: this._config.boundary
1825
1822
  }
1826
- } // Disable Popper.js if we have a static display
1827
-
1828
- };
1823
+ }
1824
+ }; // Disable Popper.js if we have a static display
1829
1825
 
1830
1826
  if (this._config.display === 'static') {
1831
1827
  popperConfig.modifiers.applyStyle = {
@@ -1833,19 +1829,19 @@
1833
1829
  };
1834
1830
  }
1835
1831
 
1836
- return popperConfig;
1832
+ return _extends({}, popperConfig, this._config.popperConfig);
1837
1833
  } // Static
1838
1834
  ;
1839
1835
 
1840
1836
  Dropdown._jQueryInterface = function _jQueryInterface(config) {
1841
1837
  return this.each(function () {
1842
- var data = $(this).data(DATA_KEY$4);
1838
+ var data = $__default['default'](this).data(DATA_KEY$4);
1843
1839
 
1844
1840
  var _config = typeof config === 'object' ? config : null;
1845
1841
 
1846
1842
  if (!data) {
1847
1843
  data = new Dropdown(this, _config);
1848
- $(this).data(DATA_KEY$4, data);
1844
+ $__default['default'](this).data(DATA_KEY$4, data);
1849
1845
  }
1850
1846
 
1851
1847
  if (typeof config === 'string') {
@@ -1863,12 +1859,12 @@
1863
1859
  return;
1864
1860
  }
1865
1861
 
1866
- var toggles = [].slice.call(document.querySelectorAll(Selector$4.DATA_TOGGLE));
1862
+ var toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$2));
1867
1863
 
1868
1864
  for (var i = 0, len = toggles.length; i < len; i++) {
1869
1865
  var parent = Dropdown._getParentFromElement(toggles[i]);
1870
1866
 
1871
- var context = $(toggles[i]).data(DATA_KEY$4);
1867
+ var context = $__default['default'](toggles[i]).data(DATA_KEY$4);
1872
1868
  var relatedTarget = {
1873
1869
  relatedTarget: toggles[i]
1874
1870
  };
@@ -1883,16 +1879,16 @@
1883
1879
 
1884
1880
  var dropdownMenu = context._menu;
1885
1881
 
1886
- if (!$(parent).hasClass(ClassName$4.SHOW)) {
1882
+ if (!$__default['default'](parent).hasClass(CLASS_NAME_SHOW$2)) {
1887
1883
  continue;
1888
1884
  }
1889
1885
 
1890
- if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) {
1886
+ if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $__default['default'].contains(parent, event.target)) {
1891
1887
  continue;
1892
1888
  }
1893
1889
 
1894
- var hideEvent = $.Event(Event$4.HIDE, relatedTarget);
1895
- $(parent).trigger(hideEvent);
1890
+ var hideEvent = $__default['default'].Event(EVENT_HIDE$1, relatedTarget);
1891
+ $__default['default'](parent).trigger(hideEvent);
1896
1892
 
1897
1893
  if (hideEvent.isDefaultPrevented()) {
1898
1894
  continue;
@@ -1901,12 +1897,17 @@
1901
1897
 
1902
1898
 
1903
1899
  if ('ontouchstart' in document.documentElement) {
1904
- $(document.body).children().off('mouseover', null, $.noop);
1900
+ $__default['default'](document.body).children().off('mouseover', null, $__default['default'].noop);
1905
1901
  }
1906
1902
 
1907
1903
  toggles[i].setAttribute('aria-expanded', 'false');
1908
- $(dropdownMenu).removeClass(ClassName$4.SHOW);
1909
- $(parent).removeClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));
1904
+
1905
+ if (context._popper) {
1906
+ context._popper.destroy();
1907
+ }
1908
+
1909
+ $__default['default'](dropdownMenu).removeClass(CLASS_NAME_SHOW$2);
1910
+ $__default['default'](parent).removeClass(CLASS_NAME_SHOW$2).trigger($__default['default'].Event(EVENT_HIDDEN$1, relatedTarget));
1910
1911
  }
1911
1912
  };
1912
1913
 
@@ -1930,32 +1931,37 @@
1930
1931
  // - If key is other than escape
1931
1932
  // - If key is not up or down => not a dropdown command
1932
1933
  // - If trigger inside the menu => not a dropdown command
1933
- 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 || $(event.target).closest(Selector$4.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
1934
+ 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 || $__default['default'](event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
1934
1935
  return;
1935
1936
  }
1936
1937
 
1937
- event.preventDefault();
1938
- event.stopPropagation();
1939
-
1940
- if (this.disabled || $(this).hasClass(ClassName$4.DISABLED)) {
1938
+ if (this.disabled || $__default['default'](this).hasClass(CLASS_NAME_DISABLED)) {
1941
1939
  return;
1942
1940
  }
1943
1941
 
1944
1942
  var parent = Dropdown._getParentFromElement(this);
1945
1943
 
1946
- var isActive = $(parent).hasClass(ClassName$4.SHOW);
1944
+ var isActive = $__default['default'](parent).hasClass(CLASS_NAME_SHOW$2);
1945
+
1946
+ if (!isActive && event.which === ESCAPE_KEYCODE) {
1947
+ return;
1948
+ }
1947
1949
 
1948
- if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
1950
+ event.preventDefault();
1951
+ event.stopPropagation();
1952
+
1953
+ if (!isActive || event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE) {
1949
1954
  if (event.which === ESCAPE_KEYCODE) {
1950
- var toggle = parent.querySelector(Selector$4.DATA_TOGGLE);
1951
- $(toggle).trigger('focus');
1955
+ $__default['default'](parent.querySelector(SELECTOR_DATA_TOGGLE$2)).trigger('focus');
1952
1956
  }
1953
1957
 
1954
- $(this).trigger('click');
1958
+ $__default['default'](this).trigger('click');
1955
1959
  return;
1956
1960
  }
1957
1961
 
1958
- var items = [].slice.call(parent.querySelectorAll(Selector$4.VISIBLE_ITEMS));
1962
+ var items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS)).filter(function (item) {
1963
+ return $__default['default'](item).is(':visible');
1964
+ });
1959
1965
 
1960
1966
  if (items.length === 0) {
1961
1967
  return;
@@ -2006,12 +2012,12 @@
2006
2012
  */
2007
2013
 
2008
2014
 
2009
- $(document).on(Event$4.KEYDOWN_DATA_API, Selector$4.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event$4.KEYDOWN_DATA_API, Selector$4.MENU, Dropdown._dataApiKeydownHandler).on(Event$4.CLICK_DATA_API + " " + Event$4.KEYUP_DATA_API, Dropdown._clearMenus).on(Event$4.CLICK_DATA_API, Selector$4.DATA_TOGGLE, function (event) {
2015
+ $__default['default'](document).on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$2, Dropdown._dataApiKeydownHandler).on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler).on(EVENT_CLICK_DATA_API$4 + " " + EVENT_KEYUP_DATA_API, Dropdown._clearMenus).on(EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$2, function (event) {
2010
2016
  event.preventDefault();
2011
2017
  event.stopPropagation();
2012
2018
 
2013
- Dropdown._jQueryInterface.call($(this), 'toggle');
2014
- }).on(Event$4.CLICK_DATA_API, Selector$4.FORM_CHILD, function (e) {
2019
+ Dropdown._jQueryInterface.call($__default['default'](this), 'toggle');
2020
+ }).on(EVENT_CLICK_DATA_API$4, SELECTOR_FORM_CHILD, function (e) {
2015
2021
  e.stopPropagation();
2016
2022
  });
2017
2023
  /**
@@ -2020,11 +2026,11 @@
2020
2026
  * ------------------------------------------------------------------------
2021
2027
  */
2022
2028
 
2023
- $.fn[NAME$4] = Dropdown._jQueryInterface;
2024
- $.fn[NAME$4].Constructor = Dropdown;
2029
+ $__default['default'].fn[NAME$4] = Dropdown._jQueryInterface;
2030
+ $__default['default'].fn[NAME$4].Constructor = Dropdown;
2025
2031
 
2026
- $.fn[NAME$4].noConflict = function () {
2027
- $.fn[NAME$4] = JQUERY_NO_CONFLICT$4;
2032
+ $__default['default'].fn[NAME$4].noConflict = function () {
2033
+ $__default['default'].fn[NAME$4] = JQUERY_NO_CONFLICT$4;
2028
2034
  return Dropdown._jQueryInterface;
2029
2035
  };
2030
2036
 
@@ -2035,11 +2041,11 @@
2035
2041
  */
2036
2042
 
2037
2043
  var NAME$5 = 'modal';
2038
- var VERSION$5 = '4.3.0';
2044
+ var VERSION$5 = '4.5.3';
2039
2045
  var DATA_KEY$5 = 'bs.modal';
2040
2046
  var EVENT_KEY$5 = "." + DATA_KEY$5;
2041
2047
  var DATA_API_KEY$5 = '.data-api';
2042
- var JQUERY_NO_CONFLICT$5 = $.fn[NAME$5];
2048
+ var JQUERY_NO_CONFLICT$5 = $__default['default'].fn[NAME$5];
2043
2049
  var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key
2044
2050
 
2045
2051
  var Default$3 = {
@@ -2054,49 +2060,42 @@
2054
2060
  focus: 'boolean',
2055
2061
  show: 'boolean'
2056
2062
  };
2057
- var Event$5 = {
2058
- HIDE: "hide" + EVENT_KEY$5,
2059
- HIDDEN: "hidden" + EVENT_KEY$5,
2060
- SHOW: "show" + EVENT_KEY$5,
2061
- SHOWN: "shown" + EVENT_KEY$5,
2062
- FOCUSIN: "focusin" + EVENT_KEY$5,
2063
- RESIZE: "resize" + EVENT_KEY$5,
2064
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY$5,
2065
- KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY$5,
2066
- MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY$5,
2067
- MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY$5,
2068
- CLICK_DATA_API: "click" + EVENT_KEY$5 + DATA_API_KEY$5
2069
- };
2070
- var ClassName$5 = {
2071
- SCROLLABLE: 'modal-dialog-scrollable',
2072
- SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
2073
- BACKDROP: 'modal-backdrop',
2074
- OPEN: 'modal-open',
2075
- FADE: 'fade',
2076
- SHOW: 'show'
2077
- };
2078
- var Selector$5 = {
2079
- DIALOG: '.modal-dialog',
2080
- MODAL_BODY: '.modal-body',
2081
- DATA_TOGGLE: '[data-toggle="modal"]',
2082
- DATA_DISMISS: '[data-dismiss="modal"]',
2083
- FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
2084
- STICKY_CONTENT: '.sticky-top'
2085
- /**
2086
- * ------------------------------------------------------------------------
2087
- * Class Definition
2088
- * ------------------------------------------------------------------------
2089
- */
2090
-
2091
- };
2063
+ var EVENT_HIDE$2 = "hide" + EVENT_KEY$5;
2064
+ var EVENT_HIDE_PREVENTED = "hidePrevented" + EVENT_KEY$5;
2065
+ var EVENT_HIDDEN$2 = "hidden" + EVENT_KEY$5;
2066
+ var EVENT_SHOW$2 = "show" + EVENT_KEY$5;
2067
+ var EVENT_SHOWN$2 = "shown" + EVENT_KEY$5;
2068
+ var EVENT_FOCUSIN = "focusin" + EVENT_KEY$5;
2069
+ var EVENT_RESIZE = "resize" + EVENT_KEY$5;
2070
+ var EVENT_CLICK_DISMISS = "click.dismiss" + EVENT_KEY$5;
2071
+ var EVENT_KEYDOWN_DISMISS = "keydown.dismiss" + EVENT_KEY$5;
2072
+ var EVENT_MOUSEUP_DISMISS = "mouseup.dismiss" + EVENT_KEY$5;
2073
+ var EVENT_MOUSEDOWN_DISMISS = "mousedown.dismiss" + EVENT_KEY$5;
2074
+ var EVENT_CLICK_DATA_API$5 = "click" + EVENT_KEY$5 + DATA_API_KEY$5;
2075
+ var CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable';
2076
+ var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';
2077
+ var CLASS_NAME_BACKDROP = 'modal-backdrop';
2078
+ var CLASS_NAME_OPEN = 'modal-open';
2079
+ var CLASS_NAME_FADE$1 = 'fade';
2080
+ var CLASS_NAME_SHOW$3 = 'show';
2081
+ var CLASS_NAME_STATIC = 'modal-static';
2082
+ var SELECTOR_DIALOG = '.modal-dialog';
2083
+ var SELECTOR_MODAL_BODY = '.modal-body';
2084
+ var SELECTOR_DATA_TOGGLE$3 = '[data-toggle="modal"]';
2085
+ var SELECTOR_DATA_DISMISS = '[data-dismiss="modal"]';
2086
+ var SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
2087
+ var SELECTOR_STICKY_CONTENT = '.sticky-top';
2088
+ /**
2089
+ * ------------------------------------------------------------------------
2090
+ * Class Definition
2091
+ * ------------------------------------------------------------------------
2092
+ */
2092
2093
 
2093
- var Modal =
2094
- /*#__PURE__*/
2095
- function () {
2094
+ var Modal = /*#__PURE__*/function () {
2096
2095
  function Modal(element, config) {
2097
2096
  this._config = this._getConfig(config);
2098
2097
  this._element = element;
2099
- this._dialog = element.querySelector(Selector$5.DIALOG);
2098
+ this._dialog = element.querySelector(SELECTOR_DIALOG);
2100
2099
  this._backdrop = null;
2101
2100
  this._isShown = false;
2102
2101
  this._isBodyOverflowing = false;
@@ -2120,14 +2119,14 @@
2120
2119
  return;
2121
2120
  }
2122
2121
 
2123
- if ($(this._element).hasClass(ClassName$5.FADE)) {
2122
+ if ($__default['default'](this._element).hasClass(CLASS_NAME_FADE$1)) {
2124
2123
  this._isTransitioning = true;
2125
2124
  }
2126
2125
 
2127
- var showEvent = $.Event(Event$5.SHOW, {
2126
+ var showEvent = $__default['default'].Event(EVENT_SHOW$2, {
2128
2127
  relatedTarget: relatedTarget
2129
2128
  });
2130
- $(this._element).trigger(showEvent);
2129
+ $__default['default'](this._element).trigger(showEvent);
2131
2130
 
2132
2131
  if (this._isShown || showEvent.isDefaultPrevented()) {
2133
2132
  return;
@@ -2145,12 +2144,12 @@
2145
2144
 
2146
2145
  this._setResizeEvent();
2147
2146
 
2148
- $(this._element).on(Event$5.CLICK_DISMISS, Selector$5.DATA_DISMISS, function (event) {
2147
+ $__default['default'](this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) {
2149
2148
  return _this.hide(event);
2150
2149
  });
2151
- $(this._dialog).on(Event$5.MOUSEDOWN_DISMISS, function () {
2152
- $(_this._element).one(Event$5.MOUSEUP_DISMISS, function (event) {
2153
- if ($(event.target).is(_this._element)) {
2150
+ $__default['default'](this._dialog).on(EVENT_MOUSEDOWN_DISMISS, function () {
2151
+ $__default['default'](_this._element).one(EVENT_MOUSEUP_DISMISS, function (event) {
2152
+ if ($__default['default'](event.target).is(_this._element)) {
2154
2153
  _this._ignoreBackdropClick = true;
2155
2154
  }
2156
2155
  });
@@ -2172,15 +2171,15 @@
2172
2171
  return;
2173
2172
  }
2174
2173
 
2175
- var hideEvent = $.Event(Event$5.HIDE);
2176
- $(this._element).trigger(hideEvent);
2174
+ var hideEvent = $__default['default'].Event(EVENT_HIDE$2);
2175
+ $__default['default'](this._element).trigger(hideEvent);
2177
2176
 
2178
2177
  if (!this._isShown || hideEvent.isDefaultPrevented()) {
2179
2178
  return;
2180
2179
  }
2181
2180
 
2182
2181
  this._isShown = false;
2183
- var transition = $(this._element).hasClass(ClassName$5.FADE);
2182
+ var transition = $__default['default'](this._element).hasClass(CLASS_NAME_FADE$1);
2184
2183
 
2185
2184
  if (transition) {
2186
2185
  this._isTransitioning = true;
@@ -2190,14 +2189,14 @@
2190
2189
 
2191
2190
  this._setResizeEvent();
2192
2191
 
2193
- $(document).off(Event$5.FOCUSIN);
2194
- $(this._element).removeClass(ClassName$5.SHOW);
2195
- $(this._element).off(Event$5.CLICK_DISMISS);
2196
- $(this._dialog).off(Event$5.MOUSEDOWN_DISMISS);
2192
+ $__default['default'](document).off(EVENT_FOCUSIN);
2193
+ $__default['default'](this._element).removeClass(CLASS_NAME_SHOW$3);
2194
+ $__default['default'](this._element).off(EVENT_CLICK_DISMISS);
2195
+ $__default['default'](this._dialog).off(EVENT_MOUSEDOWN_DISMISS);
2197
2196
 
2198
2197
  if (transition) {
2199
2198
  var transitionDuration = Util.getTransitionDurationFromElement(this._element);
2200
- $(this._element).one(Util.TRANSITION_END, function (event) {
2199
+ $__default['default'](this._element).one(Util.TRANSITION_END, function (event) {
2201
2200
  return _this2._hideModal(event);
2202
2201
  }).emulateTransitionEnd(transitionDuration);
2203
2202
  } else {
@@ -2207,16 +2206,16 @@
2207
2206
 
2208
2207
  _proto.dispose = function dispose() {
2209
2208
  [window, this._element, this._dialog].forEach(function (htmlElement) {
2210
- return $(htmlElement).off(EVENT_KEY$5);
2209
+ return $__default['default'](htmlElement).off(EVENT_KEY$5);
2211
2210
  });
2212
2211
  /**
2213
- * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`
2212
+ * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`
2214
2213
  * Do not move `document` in `htmlElements` array
2215
- * It will remove `Event.CLICK_DATA_API` event that should remain
2214
+ * It will remove `EVENT_CLICK_DATA_API` event that should remain
2216
2215
  */
2217
2216
 
2218
- $(document).off(Event$5.FOCUSIN);
2219
- $.removeData(this._element, DATA_KEY$5);
2217
+ $__default['default'](document).off(EVENT_FOCUSIN);
2218
+ $__default['default'].removeData(this._element, DATA_KEY$5);
2220
2219
  this._config = null;
2221
2220
  this._element = null;
2222
2221
  this._dialog = null;
@@ -2234,15 +2233,53 @@
2234
2233
  ;
2235
2234
 
2236
2235
  _proto._getConfig = function _getConfig(config) {
2237
- config = _objectSpread({}, Default$3, config);
2236
+ config = _extends({}, Default$3, config);
2238
2237
  Util.typeCheckConfig(NAME$5, config, DefaultType$3);
2239
2238
  return config;
2240
2239
  };
2241
2240
 
2242
- _proto._showElement = function _showElement(relatedTarget) {
2241
+ _proto._triggerBackdropTransition = function _triggerBackdropTransition() {
2243
2242
  var _this3 = this;
2244
2243
 
2245
- var transition = $(this._element).hasClass(ClassName$5.FADE);
2244
+ if (this._config.backdrop === 'static') {
2245
+ var hideEventPrevented = $__default['default'].Event(EVENT_HIDE_PREVENTED);
2246
+ $__default['default'](this._element).trigger(hideEventPrevented);
2247
+
2248
+ if (hideEventPrevented.isDefaultPrevented()) {
2249
+ return;
2250
+ }
2251
+
2252
+ var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
2253
+
2254
+ if (!isModalOverflowing) {
2255
+ this._element.style.overflowY = 'hidden';
2256
+ }
2257
+
2258
+ this._element.classList.add(CLASS_NAME_STATIC);
2259
+
2260
+ var modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog);
2261
+ $__default['default'](this._element).off(Util.TRANSITION_END);
2262
+ $__default['default'](this._element).one(Util.TRANSITION_END, function () {
2263
+ _this3._element.classList.remove(CLASS_NAME_STATIC);
2264
+
2265
+ if (!isModalOverflowing) {
2266
+ $__default['default'](_this3._element).one(Util.TRANSITION_END, function () {
2267
+ _this3._element.style.overflowY = '';
2268
+ }).emulateTransitionEnd(_this3._element, modalTransitionDuration);
2269
+ }
2270
+ }).emulateTransitionEnd(modalTransitionDuration);
2271
+
2272
+ this._element.focus();
2273
+ } else {
2274
+ this.hide();
2275
+ }
2276
+ };
2277
+
2278
+ _proto._showElement = function _showElement(relatedTarget) {
2279
+ var _this4 = this;
2280
+
2281
+ var transition = $__default['default'](this._element).hasClass(CLASS_NAME_FADE$1);
2282
+ var modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null;
2246
2283
 
2247
2284
  if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
2248
2285
  // Don't move modal's DOM position
@@ -2255,8 +2292,10 @@
2255
2292
 
2256
2293
  this._element.setAttribute('aria-modal', true);
2257
2294
 
2258
- if ($(this._dialog).hasClass(ClassName$5.SCROLLABLE)) {
2259
- this._dialog.querySelector(Selector$5.MODAL_BODY).scrollTop = 0;
2295
+ this._element.setAttribute('role', 'dialog');
2296
+
2297
+ if ($__default['default'](this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {
2298
+ modalBody.scrollTop = 0;
2260
2299
  } else {
2261
2300
  this._element.scrollTop = 0;
2262
2301
  }
@@ -2265,74 +2304,76 @@
2265
2304
  Util.reflow(this._element);
2266
2305
  }
2267
2306
 
2268
- $(this._element).addClass(ClassName$5.SHOW);
2307
+ $__default['default'](this._element).addClass(CLASS_NAME_SHOW$3);
2269
2308
 
2270
2309
  if (this._config.focus) {
2271
2310
  this._enforceFocus();
2272
2311
  }
2273
2312
 
2274
- var shownEvent = $.Event(Event$5.SHOWN, {
2313
+ var shownEvent = $__default['default'].Event(EVENT_SHOWN$2, {
2275
2314
  relatedTarget: relatedTarget
2276
2315
  });
2277
2316
 
2278
2317
  var transitionComplete = function transitionComplete() {
2279
- if (_this3._config.focus) {
2280
- _this3._element.focus();
2318
+ if (_this4._config.focus) {
2319
+ _this4._element.focus();
2281
2320
  }
2282
2321
 
2283
- _this3._isTransitioning = false;
2284
- $(_this3._element).trigger(shownEvent);
2322
+ _this4._isTransitioning = false;
2323
+ $__default['default'](_this4._element).trigger(shownEvent);
2285
2324
  };
2286
2325
 
2287
2326
  if (transition) {
2288
2327
  var transitionDuration = Util.getTransitionDurationFromElement(this._dialog);
2289
- $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
2328
+ $__default['default'](this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
2290
2329
  } else {
2291
2330
  transitionComplete();
2292
2331
  }
2293
2332
  };
2294
2333
 
2295
2334
  _proto._enforceFocus = function _enforceFocus() {
2296
- var _this4 = this;
2335
+ var _this5 = this;
2297
2336
 
2298
- $(document).off(Event$5.FOCUSIN) // Guard against infinite focus loop
2299
- .on(Event$5.FOCUSIN, function (event) {
2300
- if (document !== event.target && _this4._element !== event.target && $(_this4._element).has(event.target).length === 0) {
2301
- _this4._element.focus();
2337
+ $__default['default'](document).off(EVENT_FOCUSIN) // Guard against infinite focus loop
2338
+ .on(EVENT_FOCUSIN, function (event) {
2339
+ if (document !== event.target && _this5._element !== event.target && $__default['default'](_this5._element).has(event.target).length === 0) {
2340
+ _this5._element.focus();
2302
2341
  }
2303
2342
  });
2304
2343
  };
2305
2344
 
2306
2345
  _proto._setEscapeEvent = function _setEscapeEvent() {
2307
- var _this5 = this;
2346
+ var _this6 = this;
2308
2347
 
2309
- if (this._isShown && this._config.keyboard) {
2310
- $(this._element).on(Event$5.KEYDOWN_DISMISS, function (event) {
2311
- if (event.which === ESCAPE_KEYCODE$1) {
2348
+ if (this._isShown) {
2349
+ $__default['default'](this._element).on(EVENT_KEYDOWN_DISMISS, function (event) {
2350
+ if (_this6._config.keyboard && event.which === ESCAPE_KEYCODE$1) {
2312
2351
  event.preventDefault();
2313
2352
 
2314
- _this5.hide();
2353
+ _this6.hide();
2354
+ } else if (!_this6._config.keyboard && event.which === ESCAPE_KEYCODE$1) {
2355
+ _this6._triggerBackdropTransition();
2315
2356
  }
2316
2357
  });
2317
2358
  } else if (!this._isShown) {
2318
- $(this._element).off(Event$5.KEYDOWN_DISMISS);
2359
+ $__default['default'](this._element).off(EVENT_KEYDOWN_DISMISS);
2319
2360
  }
2320
2361
  };
2321
2362
 
2322
2363
  _proto._setResizeEvent = function _setResizeEvent() {
2323
- var _this6 = this;
2364
+ var _this7 = this;
2324
2365
 
2325
2366
  if (this._isShown) {
2326
- $(window).on(Event$5.RESIZE, function (event) {
2327
- return _this6.handleUpdate(event);
2367
+ $__default['default'](window).on(EVENT_RESIZE, function (event) {
2368
+ return _this7.handleUpdate(event);
2328
2369
  });
2329
2370
  } else {
2330
- $(window).off(Event$5.RESIZE);
2371
+ $__default['default'](window).off(EVENT_RESIZE);
2331
2372
  }
2332
2373
  };
2333
2374
 
2334
2375
  _proto._hideModal = function _hideModal() {
2335
- var _this7 = this;
2376
+ var _this8 = this;
2336
2377
 
2337
2378
  this._element.style.display = 'none';
2338
2379
 
@@ -2340,43 +2381,45 @@
2340
2381
 
2341
2382
  this._element.removeAttribute('aria-modal');
2342
2383
 
2384
+ this._element.removeAttribute('role');
2385
+
2343
2386
  this._isTransitioning = false;
2344
2387
 
2345
2388
  this._showBackdrop(function () {
2346
- $(document.body).removeClass(ClassName$5.OPEN);
2389
+ $__default['default'](document.body).removeClass(CLASS_NAME_OPEN);
2347
2390
 
2348
- _this7._resetAdjustments();
2391
+ _this8._resetAdjustments();
2349
2392
 
2350
- _this7._resetScrollbar();
2393
+ _this8._resetScrollbar();
2351
2394
 
2352
- $(_this7._element).trigger(Event$5.HIDDEN);
2395
+ $__default['default'](_this8._element).trigger(EVENT_HIDDEN$2);
2353
2396
  });
2354
2397
  };
2355
2398
 
2356
2399
  _proto._removeBackdrop = function _removeBackdrop() {
2357
2400
  if (this._backdrop) {
2358
- $(this._backdrop).remove();
2401
+ $__default['default'](this._backdrop).remove();
2359
2402
  this._backdrop = null;
2360
2403
  }
2361
2404
  };
2362
2405
 
2363
2406
  _proto._showBackdrop = function _showBackdrop(callback) {
2364
- var _this8 = this;
2407
+ var _this9 = this;
2365
2408
 
2366
- var animate = $(this._element).hasClass(ClassName$5.FADE) ? ClassName$5.FADE : '';
2409
+ var animate = $__default['default'](this._element).hasClass(CLASS_NAME_FADE$1) ? CLASS_NAME_FADE$1 : '';
2367
2410
 
2368
2411
  if (this._isShown && this._config.backdrop) {
2369
2412
  this._backdrop = document.createElement('div');
2370
- this._backdrop.className = ClassName$5.BACKDROP;
2413
+ this._backdrop.className = CLASS_NAME_BACKDROP;
2371
2414
 
2372
2415
  if (animate) {
2373
2416
  this._backdrop.classList.add(animate);
2374
2417
  }
2375
2418
 
2376
- $(this._backdrop).appendTo(document.body);
2377
- $(this._element).on(Event$5.CLICK_DISMISS, function (event) {
2378
- if (_this8._ignoreBackdropClick) {
2379
- _this8._ignoreBackdropClick = false;
2419
+ $__default['default'](this._backdrop).appendTo(document.body);
2420
+ $__default['default'](this._element).on(EVENT_CLICK_DISMISS, function (event) {
2421
+ if (_this9._ignoreBackdropClick) {
2422
+ _this9._ignoreBackdropClick = false;
2380
2423
  return;
2381
2424
  }
2382
2425
 
@@ -2384,18 +2427,14 @@
2384
2427
  return;
2385
2428
  }
2386
2429
 
2387
- if (_this8._config.backdrop === 'static') {
2388
- _this8._element.focus();
2389
- } else {
2390
- _this8.hide();
2391
- }
2430
+ _this9._triggerBackdropTransition();
2392
2431
  });
2393
2432
 
2394
2433
  if (animate) {
2395
2434
  Util.reflow(this._backdrop);
2396
2435
  }
2397
2436
 
2398
- $(this._backdrop).addClass(ClassName$5.SHOW);
2437
+ $__default['default'](this._backdrop).addClass(CLASS_NAME_SHOW$3);
2399
2438
 
2400
2439
  if (!callback) {
2401
2440
  return;
@@ -2407,22 +2446,22 @@
2407
2446
  }
2408
2447
 
2409
2448
  var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
2410
- $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
2449
+ $__default['default'](this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
2411
2450
  } else if (!this._isShown && this._backdrop) {
2412
- $(this._backdrop).removeClass(ClassName$5.SHOW);
2451
+ $__default['default'](this._backdrop).removeClass(CLASS_NAME_SHOW$3);
2413
2452
 
2414
2453
  var callbackRemove = function callbackRemove() {
2415
- _this8._removeBackdrop();
2454
+ _this9._removeBackdrop();
2416
2455
 
2417
2456
  if (callback) {
2418
2457
  callback();
2419
2458
  }
2420
2459
  };
2421
2460
 
2422
- if ($(this._element).hasClass(ClassName$5.FADE)) {
2461
+ if ($__default['default'](this._element).hasClass(CLASS_NAME_FADE$1)) {
2423
2462
  var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
2424
2463
 
2425
- $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
2464
+ $__default['default'](this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
2426
2465
  } else {
2427
2466
  callbackRemove();
2428
2467
  }
@@ -2454,66 +2493,66 @@
2454
2493
 
2455
2494
  _proto._checkScrollbar = function _checkScrollbar() {
2456
2495
  var rect = document.body.getBoundingClientRect();
2457
- this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
2496
+ this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth;
2458
2497
  this._scrollbarWidth = this._getScrollbarWidth();
2459
2498
  };
2460
2499
 
2461
2500
  _proto._setScrollbar = function _setScrollbar() {
2462
- var _this9 = this;
2501
+ var _this10 = this;
2463
2502
 
2464
2503
  if (this._isBodyOverflowing) {
2465
2504
  // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
2466
2505
  // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
2467
- var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));
2468
- var stickyContent = [].slice.call(document.querySelectorAll(Selector$5.STICKY_CONTENT)); // Adjust fixed content padding
2506
+ var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));
2507
+ var stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT)); // Adjust fixed content padding
2469
2508
 
2470
- $(fixedContent).each(function (index, element) {
2509
+ $__default['default'](fixedContent).each(function (index, element) {
2471
2510
  var actualPadding = element.style.paddingRight;
2472
- var calculatedPadding = $(element).css('padding-right');
2473
- $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
2511
+ var calculatedPadding = $__default['default'](element).css('padding-right');
2512
+ $__default['default'](element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this10._scrollbarWidth + "px");
2474
2513
  }); // Adjust sticky content margin
2475
2514
 
2476
- $(stickyContent).each(function (index, element) {
2515
+ $__default['default'](stickyContent).each(function (index, element) {
2477
2516
  var actualMargin = element.style.marginRight;
2478
- var calculatedMargin = $(element).css('margin-right');
2479
- $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px");
2517
+ var calculatedMargin = $__default['default'](element).css('margin-right');
2518
+ $__default['default'](element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this10._scrollbarWidth + "px");
2480
2519
  }); // Adjust body padding
2481
2520
 
2482
2521
  var actualPadding = document.body.style.paddingRight;
2483
- var calculatedPadding = $(document.body).css('padding-right');
2484
- $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
2522
+ var calculatedPadding = $__default['default'](document.body).css('padding-right');
2523
+ $__default['default'](document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
2485
2524
  }
2486
2525
 
2487
- $(document.body).addClass(ClassName$5.OPEN);
2526
+ $__default['default'](document.body).addClass(CLASS_NAME_OPEN);
2488
2527
  };
2489
2528
 
2490
2529
  _proto._resetScrollbar = function _resetScrollbar() {
2491
2530
  // Restore fixed content padding
2492
- var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));
2493
- $(fixedContent).each(function (index, element) {
2494
- var padding = $(element).data('padding-right');
2495
- $(element).removeData('padding-right');
2531
+ var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));
2532
+ $__default['default'](fixedContent).each(function (index, element) {
2533
+ var padding = $__default['default'](element).data('padding-right');
2534
+ $__default['default'](element).removeData('padding-right');
2496
2535
  element.style.paddingRight = padding ? padding : '';
2497
2536
  }); // Restore sticky content
2498
2537
 
2499
- var elements = [].slice.call(document.querySelectorAll("" + Selector$5.STICKY_CONTENT));
2500
- $(elements).each(function (index, element) {
2501
- var margin = $(element).data('margin-right');
2538
+ var elements = [].slice.call(document.querySelectorAll("" + SELECTOR_STICKY_CONTENT));
2539
+ $__default['default'](elements).each(function (index, element) {
2540
+ var margin = $__default['default'](element).data('margin-right');
2502
2541
 
2503
2542
  if (typeof margin !== 'undefined') {
2504
- $(element).css('margin-right', margin).removeData('margin-right');
2543
+ $__default['default'](element).css('margin-right', margin).removeData('margin-right');
2505
2544
  }
2506
2545
  }); // Restore body padding
2507
2546
 
2508
- var padding = $(document.body).data('padding-right');
2509
- $(document.body).removeData('padding-right');
2547
+ var padding = $__default['default'](document.body).data('padding-right');
2548
+ $__default['default'](document.body).removeData('padding-right');
2510
2549
  document.body.style.paddingRight = padding ? padding : '';
2511
2550
  };
2512
2551
 
2513
2552
  _proto._getScrollbarWidth = function _getScrollbarWidth() {
2514
2553
  // thx d.walsh
2515
2554
  var scrollDiv = document.createElement('div');
2516
- scrollDiv.className = ClassName$5.SCROLLBAR_MEASURER;
2555
+ scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;
2517
2556
  document.body.appendChild(scrollDiv);
2518
2557
  var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
2519
2558
  document.body.removeChild(scrollDiv);
@@ -2523,13 +2562,13 @@
2523
2562
 
2524
2563
  Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
2525
2564
  return this.each(function () {
2526
- var data = $(this).data(DATA_KEY$5);
2565
+ var data = $__default['default'](this).data(DATA_KEY$5);
2527
2566
 
2528
- var _config = _objectSpread({}, Default$3, $(this).data(), typeof config === 'object' && config ? config : {});
2567
+ var _config = _extends({}, Default$3, $__default['default'](this).data(), typeof config === 'object' && config ? config : {});
2529
2568
 
2530
2569
  if (!data) {
2531
2570
  data = new Modal(this, _config);
2532
- $(this).data(DATA_KEY$5, data);
2571
+ $__default['default'](this).data(DATA_KEY$5, data);
2533
2572
  }
2534
2573
 
2535
2574
  if (typeof config === 'string') {
@@ -2565,8 +2604,8 @@
2565
2604
  */
2566
2605
 
2567
2606
 
2568
- $(document).on(Event$5.CLICK_DATA_API, Selector$5.DATA_TOGGLE, function (event) {
2569
- var _this10 = this;
2607
+ $__default['default'](document).on(EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$3, function (event) {
2608
+ var _this11 = this;
2570
2609
 
2571
2610
  var target;
2572
2611
  var selector = Util.getSelectorFromElement(this);
@@ -2575,26 +2614,26 @@
2575
2614
  target = document.querySelector(selector);
2576
2615
  }
2577
2616
 
2578
- var config = $(target).data(DATA_KEY$5) ? 'toggle' : _objectSpread({}, $(target).data(), $(this).data());
2617
+ var config = $__default['default'](target).data(DATA_KEY$5) ? 'toggle' : _extends({}, $__default['default'](target).data(), $__default['default'](this).data());
2579
2618
 
2580
2619
  if (this.tagName === 'A' || this.tagName === 'AREA') {
2581
2620
  event.preventDefault();
2582
2621
  }
2583
2622
 
2584
- var $target = $(target).one(Event$5.SHOW, function (showEvent) {
2623
+ var $target = $__default['default'](target).one(EVENT_SHOW$2, function (showEvent) {
2585
2624
  if (showEvent.isDefaultPrevented()) {
2586
2625
  // Only register focus restorer if modal will actually get shown
2587
2626
  return;
2588
2627
  }
2589
2628
 
2590
- $target.one(Event$5.HIDDEN, function () {
2591
- if ($(_this10).is(':visible')) {
2592
- _this10.focus();
2629
+ $target.one(EVENT_HIDDEN$2, function () {
2630
+ if ($__default['default'](_this11).is(':visible')) {
2631
+ _this11.focus();
2593
2632
  }
2594
2633
  });
2595
2634
  });
2596
2635
 
2597
- Modal._jQueryInterface.call($(target), config, this);
2636
+ Modal._jQueryInterface.call($__default['default'](target), config, this);
2598
2637
  });
2599
2638
  /**
2600
2639
  * ------------------------------------------------------------------------
@@ -2602,14 +2641,135 @@
2602
2641
  * ------------------------------------------------------------------------
2603
2642
  */
2604
2643
 
2605
- $.fn[NAME$5] = Modal._jQueryInterface;
2606
- $.fn[NAME$5].Constructor = Modal;
2644
+ $__default['default'].fn[NAME$5] = Modal._jQueryInterface;
2645
+ $__default['default'].fn[NAME$5].Constructor = Modal;
2607
2646
 
2608
- $.fn[NAME$5].noConflict = function () {
2609
- $.fn[NAME$5] = JQUERY_NO_CONFLICT$5;
2647
+ $__default['default'].fn[NAME$5].noConflict = function () {
2648
+ $__default['default'].fn[NAME$5] = JQUERY_NO_CONFLICT$5;
2610
2649
  return Modal._jQueryInterface;
2611
2650
  };
2612
2651
 
2652
+ /**
2653
+ * --------------------------------------------------------------------------
2654
+ * Bootstrap (v4.5.3): tools/sanitizer.js
2655
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
2656
+ * --------------------------------------------------------------------------
2657
+ */
2658
+ var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];
2659
+ var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i;
2660
+ var DefaultWhitelist = {
2661
+ // Global attributes allowed on any supplied element below.
2662
+ '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
2663
+ a: ['target', 'href', 'title', 'rel'],
2664
+ area: [],
2665
+ b: [],
2666
+ br: [],
2667
+ col: [],
2668
+ code: [],
2669
+ div: [],
2670
+ em: [],
2671
+ hr: [],
2672
+ h1: [],
2673
+ h2: [],
2674
+ h3: [],
2675
+ h4: [],
2676
+ h5: [],
2677
+ h6: [],
2678
+ i: [],
2679
+ img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
2680
+ li: [],
2681
+ ol: [],
2682
+ p: [],
2683
+ pre: [],
2684
+ s: [],
2685
+ small: [],
2686
+ span: [],
2687
+ sub: [],
2688
+ sup: [],
2689
+ strong: [],
2690
+ u: [],
2691
+ ul: []
2692
+ };
2693
+ /**
2694
+ * A pattern that recognizes a commonly useful subset of URLs that are safe.
2695
+ *
2696
+ * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
2697
+ */
2698
+
2699
+ var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi;
2700
+ /**
2701
+ * A pattern that matches safe data URLs. Only matches image, video and audio types.
2702
+ *
2703
+ * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
2704
+ */
2705
+
2706
+ var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
2707
+
2708
+ function allowedAttribute(attr, allowedAttributeList) {
2709
+ var attrName = attr.nodeName.toLowerCase();
2710
+
2711
+ if (allowedAttributeList.indexOf(attrName) !== -1) {
2712
+ if (uriAttrs.indexOf(attrName) !== -1) {
2713
+ return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));
2714
+ }
2715
+
2716
+ return true;
2717
+ }
2718
+
2719
+ var regExp = allowedAttributeList.filter(function (attrRegex) {
2720
+ return attrRegex instanceof RegExp;
2721
+ }); // Check if a regular expression validates the attribute.
2722
+
2723
+ for (var i = 0, len = regExp.length; i < len; i++) {
2724
+ if (attrName.match(regExp[i])) {
2725
+ return true;
2726
+ }
2727
+ }
2728
+
2729
+ return false;
2730
+ }
2731
+
2732
+ function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {
2733
+ if (unsafeHtml.length === 0) {
2734
+ return unsafeHtml;
2735
+ }
2736
+
2737
+ if (sanitizeFn && typeof sanitizeFn === 'function') {
2738
+ return sanitizeFn(unsafeHtml);
2739
+ }
2740
+
2741
+ var domParser = new window.DOMParser();
2742
+ var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');
2743
+ var whitelistKeys = Object.keys(whiteList);
2744
+ var elements = [].slice.call(createdDocument.body.querySelectorAll('*'));
2745
+
2746
+ var _loop = function _loop(i, len) {
2747
+ var el = elements[i];
2748
+ var elName = el.nodeName.toLowerCase();
2749
+
2750
+ if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {
2751
+ el.parentNode.removeChild(el);
2752
+ return "continue";
2753
+ }
2754
+
2755
+ var attributeList = [].slice.call(el.attributes);
2756
+ var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);
2757
+ attributeList.forEach(function (attr) {
2758
+ if (!allowedAttribute(attr, whitelistedAttributes)) {
2759
+ el.removeAttribute(attr.nodeName);
2760
+ }
2761
+ });
2762
+ };
2763
+
2764
+ for (var i = 0, len = elements.length; i < len; i++) {
2765
+ var _ret = _loop(i);
2766
+
2767
+ if (_ret === "continue") continue;
2768
+ }
2769
+
2770
+ return createdDocument.body.innerHTML;
2771
+ }
2772
+
2613
2773
  /**
2614
2774
  * ------------------------------------------------------------------------
2615
2775
  * Constants
@@ -2617,12 +2777,13 @@
2617
2777
  */
2618
2778
 
2619
2779
  var NAME$6 = 'tooltip';
2620
- var VERSION$6 = '4.3.0';
2780
+ var VERSION$6 = '4.5.3';
2621
2781
  var DATA_KEY$6 = 'bs.tooltip';
2622
2782
  var EVENT_KEY$6 = "." + DATA_KEY$6;
2623
- var JQUERY_NO_CONFLICT$6 = $.fn[NAME$6];
2783
+ var JQUERY_NO_CONFLICT$6 = $__default['default'].fn[NAME$6];
2624
2784
  var CLASS_PREFIX = 'bs-tooltip';
2625
2785
  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
2786
+ var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];
2626
2787
  var DefaultType$4 = {
2627
2788
  animation: 'boolean',
2628
2789
  template: 'string',
@@ -2635,9 +2796,13 @@
2635
2796
  offset: '(number|string|function)',
2636
2797
  container: '(string|element|boolean)',
2637
2798
  fallbackPlacement: '(string|array)',
2638
- boundary: '(string|element)'
2799
+ boundary: '(string|element)',
2800
+ sanitize: 'boolean',
2801
+ sanitizeFn: '(null|function)',
2802
+ whiteList: 'object',
2803
+ popperConfig: '(null|object)'
2639
2804
  };
2640
- var AttachmentMap$1 = {
2805
+ var AttachmentMap = {
2641
2806
  AUTO: 'auto',
2642
2807
  TOP: 'top',
2643
2808
  RIGHT: 'right',
@@ -2656,13 +2821,15 @@
2656
2821
  offset: 0,
2657
2822
  container: false,
2658
2823
  fallbackPlacement: 'flip',
2659
- boundary: 'scrollParent'
2660
- };
2661
- var HoverState = {
2662
- SHOW: 'show',
2663
- OUT: 'out'
2824
+ boundary: 'scrollParent',
2825
+ sanitize: true,
2826
+ sanitizeFn: null,
2827
+ whiteList: DefaultWhitelist,
2828
+ popperConfig: null
2664
2829
  };
2665
- var Event$6 = {
2830
+ var HOVER_STATE_SHOW = 'show';
2831
+ var HOVER_STATE_OUT = 'out';
2832
+ var Event = {
2666
2833
  HIDE: "hide" + EVENT_KEY$6,
2667
2834
  HIDDEN: "hidden" + EVENT_KEY$6,
2668
2835
  SHOW: "show" + EVENT_KEY$6,
@@ -2674,37 +2841,23 @@
2674
2841
  MOUSEENTER: "mouseenter" + EVENT_KEY$6,
2675
2842
  MOUSELEAVE: "mouseleave" + EVENT_KEY$6
2676
2843
  };
2677
- var ClassName$6 = {
2678
- FADE: 'fade',
2679
- SHOW: 'show'
2680
- };
2681
- var Selector$6 = {
2682
- TOOLTIP: '.tooltip',
2683
- TOOLTIP_INNER: '.tooltip-inner',
2684
- ARROW: '.arrow'
2685
- };
2686
- var Trigger = {
2687
- HOVER: 'hover',
2688
- FOCUS: 'focus',
2689
- CLICK: 'click',
2690
- MANUAL: 'manual'
2691
- /**
2692
- * ------------------------------------------------------------------------
2693
- * Class Definition
2694
- * ------------------------------------------------------------------------
2695
- */
2696
-
2697
- };
2844
+ var CLASS_NAME_FADE$2 = 'fade';
2845
+ var CLASS_NAME_SHOW$4 = 'show';
2846
+ var SELECTOR_TOOLTIP_INNER = '.tooltip-inner';
2847
+ var SELECTOR_ARROW = '.arrow';
2848
+ var TRIGGER_HOVER = 'hover';
2849
+ var TRIGGER_FOCUS = 'focus';
2850
+ var TRIGGER_CLICK = 'click';
2851
+ var TRIGGER_MANUAL = 'manual';
2852
+ /**
2853
+ * ------------------------------------------------------------------------
2854
+ * Class Definition
2855
+ * ------------------------------------------------------------------------
2856
+ */
2698
2857
 
2699
- var Tooltip =
2700
- /*#__PURE__*/
2701
- function () {
2858
+ var Tooltip = /*#__PURE__*/function () {
2702
2859
  function Tooltip(element, config) {
2703
- /**
2704
- * Check for Popper dependency
2705
- * Popper - https://popper.js.org
2706
- */
2707
- if (typeof Popper === 'undefined') {
2860
+ if (typeof Popper__default['default'] === 'undefined') {
2708
2861
  throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)');
2709
2862
  } // private
2710
2863
 
@@ -2745,11 +2898,11 @@
2745
2898
 
2746
2899
  if (event) {
2747
2900
  var dataKey = this.constructor.DATA_KEY;
2748
- var context = $(event.currentTarget).data(dataKey);
2901
+ var context = $__default['default'](event.currentTarget).data(dataKey);
2749
2902
 
2750
2903
  if (!context) {
2751
2904
  context = new this.constructor(event.currentTarget, this._getDelegateConfig());
2752
- $(event.currentTarget).data(dataKey, context);
2905
+ $__default['default'](event.currentTarget).data(dataKey, context);
2753
2906
  }
2754
2907
 
2755
2908
  context._activeTrigger.click = !context._activeTrigger.click;
@@ -2760,7 +2913,7 @@
2760
2913
  context._leave(null, context);
2761
2914
  }
2762
2915
  } else {
2763
- if ($(this.getTipElement()).hasClass(ClassName$6.SHOW)) {
2916
+ if ($__default['default'](this.getTipElement()).hasClass(CLASS_NAME_SHOW$4)) {
2764
2917
  this._leave(null, this);
2765
2918
 
2766
2919
  return;
@@ -2772,12 +2925,12 @@
2772
2925
 
2773
2926
  _proto.dispose = function dispose() {
2774
2927
  clearTimeout(this._timeout);
2775
- $.removeData(this.element, this.constructor.DATA_KEY);
2776
- $(this.element).off(this.constructor.EVENT_KEY);
2777
- $(this.element).closest('.modal').off('hide.bs.modal');
2928
+ $__default['default'].removeData(this.element, this.constructor.DATA_KEY);
2929
+ $__default['default'](this.element).off(this.constructor.EVENT_KEY);
2930
+ $__default['default'](this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler);
2778
2931
 
2779
2932
  if (this.tip) {
2780
- $(this.tip).remove();
2933
+ $__default['default'](this.tip).remove();
2781
2934
  }
2782
2935
 
2783
2936
  this._isEnabled = null;
@@ -2785,7 +2938,7 @@
2785
2938
  this._hoverState = null;
2786
2939
  this._activeTrigger = null;
2787
2940
 
2788
- if (this._popper !== null) {
2941
+ if (this._popper) {
2789
2942
  this._popper.destroy();
2790
2943
  }
2791
2944
 
@@ -2798,16 +2951,16 @@
2798
2951
  _proto.show = function show() {
2799
2952
  var _this = this;
2800
2953
 
2801
- if ($(this.element).css('display') === 'none') {
2954
+ if ($__default['default'](this.element).css('display') === 'none') {
2802
2955
  throw new Error('Please use show on visible elements');
2803
2956
  }
2804
2957
 
2805
- var showEvent = $.Event(this.constructor.Event.SHOW);
2958
+ var showEvent = $__default['default'].Event(this.constructor.Event.SHOW);
2806
2959
 
2807
2960
  if (this.isWithContent() && this._isEnabled) {
2808
- $(this.element).trigger(showEvent);
2961
+ $__default['default'](this.element).trigger(showEvent);
2809
2962
  var shadowRoot = Util.findShadowRoot(this.element);
2810
- var isInTheDom = $.contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element);
2963
+ var isInTheDom = $__default['default'].contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element);
2811
2964
 
2812
2965
  if (showEvent.isDefaultPrevented() || !isInTheDom) {
2813
2966
  return;
@@ -2820,7 +2973,7 @@
2820
2973
  this.setContent();
2821
2974
 
2822
2975
  if (this.config.animation) {
2823
- $(tip).addClass(ClassName$6.FADE);
2976
+ $__default['default'](tip).addClass(CLASS_NAME_FADE$2);
2824
2977
  }
2825
2978
 
2826
2979
  var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
@@ -2831,43 +2984,21 @@
2831
2984
 
2832
2985
  var container = this._getContainer();
2833
2986
 
2834
- $(tip).data(this.constructor.DATA_KEY, this);
2987
+ $__default['default'](tip).data(this.constructor.DATA_KEY, this);
2835
2988
 
2836
- if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {
2837
- $(tip).appendTo(container);
2989
+ if (!$__default['default'].contains(this.element.ownerDocument.documentElement, this.tip)) {
2990
+ $__default['default'](tip).appendTo(container);
2838
2991
  }
2839
2992
 
2840
- $(this.element).trigger(this.constructor.Event.INSERTED);
2841
- this._popper = new Popper(this.element, tip, {
2842
- placement: attachment,
2843
- modifiers: {
2844
- offset: this._getOffset(),
2845
- flip: {
2846
- behavior: this.config.fallbackPlacement
2847
- },
2848
- arrow: {
2849
- element: Selector$6.ARROW
2850
- },
2851
- preventOverflow: {
2852
- boundariesElement: this.config.boundary
2853
- }
2854
- },
2855
- onCreate: function onCreate(data) {
2856
- if (data.originalPlacement !== data.placement) {
2857
- _this._handlePopperPlacementChange(data);
2858
- }
2859
- },
2860
- onUpdate: function onUpdate(data) {
2861
- return _this._handlePopperPlacementChange(data);
2862
- }
2863
- });
2864
- $(tip).addClass(ClassName$6.SHOW); // If this is a touch-enabled device we add extra
2993
+ $__default['default'](this.element).trigger(this.constructor.Event.INSERTED);
2994
+ this._popper = new Popper__default['default'](this.element, tip, this._getPopperConfig(attachment));
2995
+ $__default['default'](tip).addClass(CLASS_NAME_SHOW$4); // If this is a touch-enabled device we add extra
2865
2996
  // empty mouseover listeners to the body's immediate children;
2866
2997
  // only needed because of broken event delegation on iOS
2867
2998
  // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
2868
2999
 
2869
3000
  if ('ontouchstart' in document.documentElement) {
2870
- $(document.body).children().on('mouseover', null, $.noop);
3001
+ $__default['default'](document.body).children().on('mouseover', null, $__default['default'].noop);
2871
3002
  }
2872
3003
 
2873
3004
  var complete = function complete() {
@@ -2877,16 +3008,16 @@
2877
3008
 
2878
3009
  var prevHoverState = _this._hoverState;
2879
3010
  _this._hoverState = null;
2880
- $(_this.element).trigger(_this.constructor.Event.SHOWN);
3011
+ $__default['default'](_this.element).trigger(_this.constructor.Event.SHOWN);
2881
3012
 
2882
- if (prevHoverState === HoverState.OUT) {
3013
+ if (prevHoverState === HOVER_STATE_OUT) {
2883
3014
  _this._leave(null, _this);
2884
3015
  }
2885
3016
  };
2886
3017
 
2887
- if ($(this.tip).hasClass(ClassName$6.FADE)) {
3018
+ if ($__default['default'](this.tip).hasClass(CLASS_NAME_FADE$2)) {
2888
3019
  var transitionDuration = Util.getTransitionDurationFromElement(this.tip);
2889
- $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
3020
+ $__default['default'](this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
2890
3021
  } else {
2891
3022
  complete();
2892
3023
  }
@@ -2897,10 +3028,10 @@
2897
3028
  var _this2 = this;
2898
3029
 
2899
3030
  var tip = this.getTipElement();
2900
- var hideEvent = $.Event(this.constructor.Event.HIDE);
3031
+ var hideEvent = $__default['default'].Event(this.constructor.Event.HIDE);
2901
3032
 
2902
3033
  var complete = function complete() {
2903
- if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
3034
+ if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {
2904
3035
  tip.parentNode.removeChild(tip);
2905
3036
  }
2906
3037
 
@@ -2908,7 +3039,7 @@
2908
3039
 
2909
3040
  _this2.element.removeAttribute('aria-describedby');
2910
3041
 
2911
- $(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
3042
+ $__default['default'](_this2.element).trigger(_this2.constructor.Event.HIDDEN);
2912
3043
 
2913
3044
  if (_this2._popper !== null) {
2914
3045
  _this2._popper.destroy();
@@ -2919,26 +3050,26 @@
2919
3050
  }
2920
3051
  };
2921
3052
 
2922
- $(this.element).trigger(hideEvent);
3053
+ $__default['default'](this.element).trigger(hideEvent);
2923
3054
 
2924
3055
  if (hideEvent.isDefaultPrevented()) {
2925
3056
  return;
2926
3057
  }
2927
3058
 
2928
- $(tip).removeClass(ClassName$6.SHOW); // If this is a touch-enabled device we remove the extra
3059
+ $__default['default'](tip).removeClass(CLASS_NAME_SHOW$4); // If this is a touch-enabled device we remove the extra
2929
3060
  // empty mouseover listeners we added for iOS support
2930
3061
 
2931
3062
  if ('ontouchstart' in document.documentElement) {
2932
- $(document.body).children().off('mouseover', null, $.noop);
3063
+ $__default['default'](document.body).children().off('mouseover', null, $__default['default'].noop);
2933
3064
  }
2934
3065
 
2935
- this._activeTrigger[Trigger.CLICK] = false;
2936
- this._activeTrigger[Trigger.FOCUS] = false;
2937
- this._activeTrigger[Trigger.HOVER] = false;
3066
+ this._activeTrigger[TRIGGER_CLICK] = false;
3067
+ this._activeTrigger[TRIGGER_FOCUS] = false;
3068
+ this._activeTrigger[TRIGGER_HOVER] = false;
2938
3069
 
2939
- if ($(this.tip).hasClass(ClassName$6.FADE)) {
3070
+ if ($__default['default'](this.tip).hasClass(CLASS_NAME_FADE$2)) {
2940
3071
  var transitionDuration = Util.getTransitionDurationFromElement(tip);
2941
- $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
3072
+ $__default['default'](tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
2942
3073
  } else {
2943
3074
  complete();
2944
3075
  }
@@ -2958,34 +3089,42 @@
2958
3089
  };
2959
3090
 
2960
3091
  _proto.addAttachmentClass = function addAttachmentClass(attachment) {
2961
- $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
3092
+ $__default['default'](this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
2962
3093
  };
2963
3094
 
2964
3095
  _proto.getTipElement = function getTipElement() {
2965
- this.tip = this.tip || $(this.config.template)[0];
3096
+ this.tip = this.tip || $__default['default'](this.config.template)[0];
2966
3097
  return this.tip;
2967
3098
  };
2968
3099
 
2969
3100
  _proto.setContent = function setContent() {
2970
3101
  var tip = this.getTipElement();
2971
- this.setElementContent($(tip.querySelectorAll(Selector$6.TOOLTIP_INNER)), this.getTitle());
2972
- $(tip).removeClass(ClassName$6.FADE + " " + ClassName$6.SHOW);
3102
+ this.setElementContent($__default['default'](tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle());
3103
+ $__default['default'](tip).removeClass(CLASS_NAME_FADE$2 + " " + CLASS_NAME_SHOW$4);
2973
3104
  };
2974
3105
 
2975
3106
  _proto.setElementContent = function setElementContent($element, content) {
2976
- var html = this.config.html;
2977
-
2978
3107
  if (typeof content === 'object' && (content.nodeType || content.jquery)) {
2979
3108
  // Content is a DOM node or a jQuery
2980
- if (html) {
2981
- if (!$(content).parent().is($element)) {
3109
+ if (this.config.html) {
3110
+ if (!$__default['default'](content).parent().is($element)) {
2982
3111
  $element.empty().append(content);
2983
3112
  }
2984
3113
  } else {
2985
- $element.text($(content).text());
3114
+ $element.text($__default['default'](content).text());
3115
+ }
3116
+
3117
+ return;
3118
+ }
3119
+
3120
+ if (this.config.html) {
3121
+ if (this.config.sanitize) {
3122
+ content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn);
2986
3123
  }
3124
+
3125
+ $element.html(content);
2987
3126
  } else {
2988
- $element[html ? 'html' : 'text'](content);
3127
+ $element.text(content);
2989
3128
  }
2990
3129
  };
2991
3130
 
@@ -3000,14 +3139,43 @@
3000
3139
  } // Private
3001
3140
  ;
3002
3141
 
3003
- _proto._getOffset = function _getOffset() {
3142
+ _proto._getPopperConfig = function _getPopperConfig(attachment) {
3004
3143
  var _this3 = this;
3005
3144
 
3145
+ var defaultBsConfig = {
3146
+ placement: attachment,
3147
+ modifiers: {
3148
+ offset: this._getOffset(),
3149
+ flip: {
3150
+ behavior: this.config.fallbackPlacement
3151
+ },
3152
+ arrow: {
3153
+ element: SELECTOR_ARROW
3154
+ },
3155
+ preventOverflow: {
3156
+ boundariesElement: this.config.boundary
3157
+ }
3158
+ },
3159
+ onCreate: function onCreate(data) {
3160
+ if (data.originalPlacement !== data.placement) {
3161
+ _this3._handlePopperPlacementChange(data);
3162
+ }
3163
+ },
3164
+ onUpdate: function onUpdate(data) {
3165
+ return _this3._handlePopperPlacementChange(data);
3166
+ }
3167
+ };
3168
+ return _extends({}, defaultBsConfig, this.config.popperConfig);
3169
+ };
3170
+
3171
+ _proto._getOffset = function _getOffset() {
3172
+ var _this4 = this;
3173
+
3006
3174
  var offset = {};
3007
3175
 
3008
3176
  if (typeof this.config.offset === 'function') {
3009
3177
  offset.fn = function (data) {
3010
- data.offsets = _objectSpread({}, data.offsets, _this3.config.offset(data.offsets, _this3.element) || {});
3178
+ data.offsets = _extends({}, data.offsets, _this4.config.offset(data.offsets, _this4.element) || {});
3011
3179
  return data;
3012
3180
  };
3013
3181
  } else {
@@ -3023,43 +3191,46 @@
3023
3191
  }
3024
3192
 
3025
3193
  if (Util.isElement(this.config.container)) {
3026
- return $(this.config.container);
3194
+ return $__default['default'](this.config.container);
3027
3195
  }
3028
3196
 
3029
- return $(document).find(this.config.container);
3197
+ return $__default['default'](document).find(this.config.container);
3030
3198
  };
3031
3199
 
3032
3200
  _proto._getAttachment = function _getAttachment(placement) {
3033
- return AttachmentMap$1[placement.toUpperCase()];
3201
+ return AttachmentMap[placement.toUpperCase()];
3034
3202
  };
3035
3203
 
3036
3204
  _proto._setListeners = function _setListeners() {
3037
- var _this4 = this;
3205
+ var _this5 = this;
3038
3206
 
3039
3207
  var triggers = this.config.trigger.split(' ');
3040
3208
  triggers.forEach(function (trigger) {
3041
3209
  if (trigger === 'click') {
3042
- $(_this4.element).on(_this4.constructor.Event.CLICK, _this4.config.selector, function (event) {
3043
- return _this4.toggle(event);
3210
+ $__default['default'](_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) {
3211
+ return _this5.toggle(event);
3044
3212
  });
3045
- } else if (trigger !== Trigger.MANUAL) {
3046
- var eventIn = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSEENTER : _this4.constructor.Event.FOCUSIN;
3047
- var eventOut = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSELEAVE : _this4.constructor.Event.FOCUSOUT;
3048
- $(_this4.element).on(eventIn, _this4.config.selector, function (event) {
3049
- return _this4._enter(event);
3050
- }).on(eventOut, _this4.config.selector, function (event) {
3051
- return _this4._leave(event);
3213
+ } else if (trigger !== TRIGGER_MANUAL) {
3214
+ var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN;
3215
+ var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT;
3216
+ $__default['default'](_this5.element).on(eventIn, _this5.config.selector, function (event) {
3217
+ return _this5._enter(event);
3218
+ }).on(eventOut, _this5.config.selector, function (event) {
3219
+ return _this5._leave(event);
3052
3220
  });
3053
3221
  }
3054
3222
  });
3055
- $(this.element).closest('.modal').on('hide.bs.modal', function () {
3056
- if (_this4.element) {
3057
- _this4.hide();
3223
+
3224
+ this._hideModalHandler = function () {
3225
+ if (_this5.element) {
3226
+ _this5.hide();
3058
3227
  }
3059
- });
3228
+ };
3229
+
3230
+ $__default['default'](this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler);
3060
3231
 
3061
3232
  if (this.config.selector) {
3062
- this.config = _objectSpread({}, this.config, {
3233
+ this.config = _extends({}, this.config, {
3063
3234
  trigger: 'manual',
3064
3235
  selector: ''
3065
3236
  });
@@ -3079,24 +3250,24 @@
3079
3250
 
3080
3251
  _proto._enter = function _enter(event, context) {
3081
3252
  var dataKey = this.constructor.DATA_KEY;
3082
- context = context || $(event.currentTarget).data(dataKey);
3253
+ context = context || $__default['default'](event.currentTarget).data(dataKey);
3083
3254
 
3084
3255
  if (!context) {
3085
3256
  context = new this.constructor(event.currentTarget, this._getDelegateConfig());
3086
- $(event.currentTarget).data(dataKey, context);
3257
+ $__default['default'](event.currentTarget).data(dataKey, context);
3087
3258
  }
3088
3259
 
3089
3260
  if (event) {
3090
- context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
3261
+ context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;
3091
3262
  }
3092
3263
 
3093
- if ($(context.getTipElement()).hasClass(ClassName$6.SHOW) || context._hoverState === HoverState.SHOW) {
3094
- context._hoverState = HoverState.SHOW;
3264
+ if ($__default['default'](context.getTipElement()).hasClass(CLASS_NAME_SHOW$4) || context._hoverState === HOVER_STATE_SHOW) {
3265
+ context._hoverState = HOVER_STATE_SHOW;
3095
3266
  return;
3096
3267
  }
3097
3268
 
3098
3269
  clearTimeout(context._timeout);
3099
- context._hoverState = HoverState.SHOW;
3270
+ context._hoverState = HOVER_STATE_SHOW;
3100
3271
 
3101
3272
  if (!context.config.delay || !context.config.delay.show) {
3102
3273
  context.show();
@@ -3104,7 +3275,7 @@
3104
3275
  }
3105
3276
 
3106
3277
  context._timeout = setTimeout(function () {
3107
- if (context._hoverState === HoverState.SHOW) {
3278
+ if (context._hoverState === HOVER_STATE_SHOW) {
3108
3279
  context.show();
3109
3280
  }
3110
3281
  }, context.config.delay.show);
@@ -3112,15 +3283,15 @@
3112
3283
 
3113
3284
  _proto._leave = function _leave(event, context) {
3114
3285
  var dataKey = this.constructor.DATA_KEY;
3115
- context = context || $(event.currentTarget).data(dataKey);
3286
+ context = context || $__default['default'](event.currentTarget).data(dataKey);
3116
3287
 
3117
3288
  if (!context) {
3118
3289
  context = new this.constructor(event.currentTarget, this._getDelegateConfig());
3119
- $(event.currentTarget).data(dataKey, context);
3290
+ $__default['default'](event.currentTarget).data(dataKey, context);
3120
3291
  }
3121
3292
 
3122
3293
  if (event) {
3123
- context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
3294
+ context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false;
3124
3295
  }
3125
3296
 
3126
3297
  if (context._isWithActiveTrigger()) {
@@ -3128,7 +3299,7 @@
3128
3299
  }
3129
3300
 
3130
3301
  clearTimeout(context._timeout);
3131
- context._hoverState = HoverState.OUT;
3302
+ context._hoverState = HOVER_STATE_OUT;
3132
3303
 
3133
3304
  if (!context.config.delay || !context.config.delay.hide) {
3134
3305
  context.hide();
@@ -3136,7 +3307,7 @@
3136
3307
  }
3137
3308
 
3138
3309
  context._timeout = setTimeout(function () {
3139
- if (context._hoverState === HoverState.OUT) {
3310
+ if (context._hoverState === HOVER_STATE_OUT) {
3140
3311
  context.hide();
3141
3312
  }
3142
3313
  }, context.config.delay.hide);
@@ -3153,7 +3324,13 @@
3153
3324
  };
3154
3325
 
3155
3326
  _proto._getConfig = function _getConfig(config) {
3156
- config = _objectSpread({}, this.constructor.Default, $(this.element).data(), typeof config === 'object' && config ? config : {});
3327
+ var dataAttributes = $__default['default'](this.element).data();
3328
+ Object.keys(dataAttributes).forEach(function (dataAttr) {
3329
+ if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {
3330
+ delete dataAttributes[dataAttr];
3331
+ }
3332
+ });
3333
+ config = _extends({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {});
3157
3334
 
3158
3335
  if (typeof config.delay === 'number') {
3159
3336
  config.delay = {
@@ -3171,6 +3348,11 @@
3171
3348
  }
3172
3349
 
3173
3350
  Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType);
3351
+
3352
+ if (config.sanitize) {
3353
+ config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);
3354
+ }
3355
+
3174
3356
  return config;
3175
3357
  };
3176
3358
 
@@ -3189,7 +3371,7 @@
3189
3371
  };
3190
3372
 
3191
3373
  _proto._cleanTipClass = function _cleanTipClass() {
3192
- var $tip = $(this.getTipElement());
3374
+ var $tip = $__default['default'](this.getTipElement());
3193
3375
  var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
3194
3376
 
3195
3377
  if (tabClass !== null && tabClass.length) {
@@ -3198,8 +3380,7 @@
3198
3380
  };
3199
3381
 
3200
3382
  _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {
3201
- var popperInstance = popperData.instance;
3202
- this.tip = popperInstance.popper;
3383
+ this.tip = popperData.instance.popper;
3203
3384
 
3204
3385
  this._cleanTipClass();
3205
3386
 
@@ -3214,7 +3395,7 @@
3214
3395
  return;
3215
3396
  }
3216
3397
 
3217
- $(tip).removeClass(ClassName$6.FADE);
3398
+ $__default['default'](tip).removeClass(CLASS_NAME_FADE$2);
3218
3399
  this.config.animation = false;
3219
3400
  this.hide();
3220
3401
  this.show();
@@ -3224,7 +3405,8 @@
3224
3405
 
3225
3406
  Tooltip._jQueryInterface = function _jQueryInterface(config) {
3226
3407
  return this.each(function () {
3227
- var data = $(this).data(DATA_KEY$6);
3408
+ var $element = $__default['default'](this);
3409
+ var data = $element.data(DATA_KEY$6);
3228
3410
 
3229
3411
  var _config = typeof config === 'object' && config;
3230
3412
 
@@ -3234,7 +3416,7 @@
3234
3416
 
3235
3417
  if (!data) {
3236
3418
  data = new Tooltip(this, _config);
3237
- $(this).data(DATA_KEY$6, data);
3419
+ $element.data(DATA_KEY$6, data);
3238
3420
  }
3239
3421
 
3240
3422
  if (typeof config === 'string') {
@@ -3270,7 +3452,7 @@
3270
3452
  }, {
3271
3453
  key: "Event",
3272
3454
  get: function get() {
3273
- return Event$6;
3455
+ return Event;
3274
3456
  }
3275
3457
  }, {
3276
3458
  key: "EVENT_KEY",
@@ -3293,11 +3475,11 @@
3293
3475
  */
3294
3476
 
3295
3477
 
3296
- $.fn[NAME$6] = Tooltip._jQueryInterface;
3297
- $.fn[NAME$6].Constructor = Tooltip;
3478
+ $__default['default'].fn[NAME$6] = Tooltip._jQueryInterface;
3479
+ $__default['default'].fn[NAME$6].Constructor = Tooltip;
3298
3480
 
3299
- $.fn[NAME$6].noConflict = function () {
3300
- $.fn[NAME$6] = JQUERY_NO_CONFLICT$6;
3481
+ $__default['default'].fn[NAME$6].noConflict = function () {
3482
+ $__default['default'].fn[NAME$6] = JQUERY_NO_CONFLICT$6;
3301
3483
  return Tooltip._jQueryInterface;
3302
3484
  };
3303
3485
 
@@ -3308,33 +3490,29 @@
3308
3490
  */
3309
3491
 
3310
3492
  var NAME$7 = 'popover';
3311
- var VERSION$7 = '4.3.0';
3493
+ var VERSION$7 = '4.5.3';
3312
3494
  var DATA_KEY$7 = 'bs.popover';
3313
3495
  var EVENT_KEY$7 = "." + DATA_KEY$7;
3314
- var JQUERY_NO_CONFLICT$7 = $.fn[NAME$7];
3496
+ var JQUERY_NO_CONFLICT$7 = $__default['default'].fn[NAME$7];
3315
3497
  var CLASS_PREFIX$1 = 'bs-popover';
3316
3498
  var BSCLS_PREFIX_REGEX$1 = new RegExp("(^|\\s)" + CLASS_PREFIX$1 + "\\S+", 'g');
3317
3499
 
3318
- var Default$5 = _objectSpread({}, Tooltip.Default, {
3500
+ var Default$5 = _extends({}, Tooltip.Default, {
3319
3501
  placement: 'right',
3320
3502
  trigger: 'click',
3321
3503
  content: '',
3322
3504
  template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
3323
3505
  });
3324
3506
 
3325
- var DefaultType$5 = _objectSpread({}, Tooltip.DefaultType, {
3507
+ var DefaultType$5 = _extends({}, Tooltip.DefaultType, {
3326
3508
  content: '(string|element|function)'
3327
3509
  });
3328
3510
 
3329
- var ClassName$7 = {
3330
- FADE: 'fade',
3331
- SHOW: 'show'
3332
- };
3333
- var Selector$7 = {
3334
- TITLE: '.popover-header',
3335
- CONTENT: '.popover-body'
3336
- };
3337
- var Event$7 = {
3511
+ var CLASS_NAME_FADE$3 = 'fade';
3512
+ var CLASS_NAME_SHOW$5 = 'show';
3513
+ var SELECTOR_TITLE = '.popover-header';
3514
+ var SELECTOR_CONTENT = '.popover-body';
3515
+ var Event$1 = {
3338
3516
  HIDE: "hide" + EVENT_KEY$7,
3339
3517
  HIDDEN: "hidden" + EVENT_KEY$7,
3340
3518
  SHOW: "show" + EVENT_KEY$7,
@@ -3345,17 +3523,14 @@
3345
3523
  FOCUSOUT: "focusout" + EVENT_KEY$7,
3346
3524
  MOUSEENTER: "mouseenter" + EVENT_KEY$7,
3347
3525
  MOUSELEAVE: "mouseleave" + EVENT_KEY$7
3348
- /**
3349
- * ------------------------------------------------------------------------
3350
- * Class Definition
3351
- * ------------------------------------------------------------------------
3352
- */
3353
-
3354
3526
  };
3527
+ /**
3528
+ * ------------------------------------------------------------------------
3529
+ * Class Definition
3530
+ * ------------------------------------------------------------------------
3531
+ */
3355
3532
 
3356
- var Popover =
3357
- /*#__PURE__*/
3358
- function (_Tooltip) {
3533
+ var Popover = /*#__PURE__*/function (_Tooltip) {
3359
3534
  _inheritsLoose(Popover, _Tooltip);
3360
3535
 
3361
3536
  function Popover() {
@@ -3370,18 +3545,18 @@
3370
3545
  };
3371
3546
 
3372
3547
  _proto.addAttachmentClass = function addAttachmentClass(attachment) {
3373
- $(this.getTipElement()).addClass(CLASS_PREFIX$1 + "-" + attachment);
3548
+ $__default['default'](this.getTipElement()).addClass(CLASS_PREFIX$1 + "-" + attachment);
3374
3549
  };
3375
3550
 
3376
3551
  _proto.getTipElement = function getTipElement() {
3377
- this.tip = this.tip || $(this.config.template)[0];
3552
+ this.tip = this.tip || $__default['default'](this.config.template)[0];
3378
3553
  return this.tip;
3379
3554
  };
3380
3555
 
3381
3556
  _proto.setContent = function setContent() {
3382
- var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events
3557
+ var $tip = $__default['default'](this.getTipElement()); // We use append for html objects to maintain js events
3383
3558
 
3384
- this.setElementContent($tip.find(Selector$7.TITLE), this.getTitle());
3559
+ this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle());
3385
3560
 
3386
3561
  var content = this._getContent();
3387
3562
 
@@ -3389,8 +3564,8 @@
3389
3564
  content = content.call(this.element);
3390
3565
  }
3391
3566
 
3392
- this.setElementContent($tip.find(Selector$7.CONTENT), content);
3393
- $tip.removeClass(ClassName$7.FADE + " " + ClassName$7.SHOW);
3567
+ this.setElementContent($tip.find(SELECTOR_CONTENT), content);
3568
+ $tip.removeClass(CLASS_NAME_FADE$3 + " " + CLASS_NAME_SHOW$5);
3394
3569
  } // Private
3395
3570
  ;
3396
3571
 
@@ -3399,7 +3574,7 @@
3399
3574
  };
3400
3575
 
3401
3576
  _proto._cleanTipClass = function _cleanTipClass() {
3402
- var $tip = $(this.getTipElement());
3577
+ var $tip = $__default['default'](this.getTipElement());
3403
3578
  var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX$1);
3404
3579
 
3405
3580
  if (tabClass !== null && tabClass.length > 0) {
@@ -3410,7 +3585,7 @@
3410
3585
 
3411
3586
  Popover._jQueryInterface = function _jQueryInterface(config) {
3412
3587
  return this.each(function () {
3413
- var data = $(this).data(DATA_KEY$7);
3588
+ var data = $__default['default'](this).data(DATA_KEY$7);
3414
3589
 
3415
3590
  var _config = typeof config === 'object' ? config : null;
3416
3591
 
@@ -3420,7 +3595,7 @@
3420
3595
 
3421
3596
  if (!data) {
3422
3597
  data = new Popover(this, _config);
3423
- $(this).data(DATA_KEY$7, data);
3598
+ $__default['default'](this).data(DATA_KEY$7, data);
3424
3599
  }
3425
3600
 
3426
3601
  if (typeof config === 'string') {
@@ -3457,7 +3632,7 @@
3457
3632
  }, {
3458
3633
  key: "Event",
3459
3634
  get: function get() {
3460
- return Event$7;
3635
+ return Event$1;
3461
3636
  }
3462
3637
  }, {
3463
3638
  key: "EVENT_KEY",
@@ -3480,11 +3655,11 @@
3480
3655
  */
3481
3656
 
3482
3657
 
3483
- $.fn[NAME$7] = Popover._jQueryInterface;
3484
- $.fn[NAME$7].Constructor = Popover;
3658
+ $__default['default'].fn[NAME$7] = Popover._jQueryInterface;
3659
+ $__default['default'].fn[NAME$7].Constructor = Popover;
3485
3660
 
3486
- $.fn[NAME$7].noConflict = function () {
3487
- $.fn[NAME$7] = JQUERY_NO_CONFLICT$7;
3661
+ $__default['default'].fn[NAME$7].noConflict = function () {
3662
+ $__default['default'].fn[NAME$7] = JQUERY_NO_CONFLICT$7;
3488
3663
  return Popover._jQueryInterface;
3489
3664
  };
3490
3665
 
@@ -3495,11 +3670,11 @@
3495
3670
  */
3496
3671
 
3497
3672
  var NAME$8 = 'scrollspy';
3498
- var VERSION$8 = '4.3.0';
3673
+ var VERSION$8 = '4.5.3';
3499
3674
  var DATA_KEY$8 = 'bs.scrollspy';
3500
3675
  var EVENT_KEY$8 = "." + DATA_KEY$8;
3501
3676
  var DATA_API_KEY$6 = '.data-api';
3502
- var JQUERY_NO_CONFLICT$8 = $.fn[NAME$8];
3677
+ var JQUERY_NO_CONFLICT$8 = $__default['default'].fn[NAME$8];
3503
3678
  var Default$6 = {
3504
3679
  offset: 10,
3505
3680
  method: 'auto',
@@ -3510,53 +3685,40 @@
3510
3685
  method: 'string',
3511
3686
  target: '(string|element)'
3512
3687
  };
3513
- var Event$8 = {
3514
- ACTIVATE: "activate" + EVENT_KEY$8,
3515
- SCROLL: "scroll" + EVENT_KEY$8,
3516
- LOAD_DATA_API: "load" + EVENT_KEY$8 + DATA_API_KEY$6
3517
- };
3518
- var ClassName$8 = {
3519
- DROPDOWN_ITEM: 'dropdown-item',
3520
- DROPDOWN_MENU: 'dropdown-menu',
3521
- ACTIVE: 'active'
3522
- };
3523
- var Selector$8 = {
3524
- DATA_SPY: '[data-spy="scroll"]',
3525
- ACTIVE: '.active',
3526
- NAV_LIST_GROUP: '.nav, .list-group',
3527
- NAV_LINKS: '.nav-link',
3528
- NAV_ITEMS: '.nav-item',
3529
- LIST_ITEMS: '.list-group-item',
3530
- DROPDOWN: '.dropdown',
3531
- DROPDOWN_ITEMS: '.dropdown-item',
3532
- DROPDOWN_TOGGLE: '.dropdown-toggle'
3533
- };
3534
- var OffsetMethod = {
3535
- OFFSET: 'offset',
3536
- POSITION: 'position'
3537
- /**
3538
- * ------------------------------------------------------------------------
3539
- * Class Definition
3540
- * ------------------------------------------------------------------------
3541
- */
3542
-
3543
- };
3688
+ var EVENT_ACTIVATE = "activate" + EVENT_KEY$8;
3689
+ var EVENT_SCROLL = "scroll" + EVENT_KEY$8;
3690
+ var EVENT_LOAD_DATA_API$2 = "load" + EVENT_KEY$8 + DATA_API_KEY$6;
3691
+ var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
3692
+ var CLASS_NAME_ACTIVE$2 = 'active';
3693
+ var SELECTOR_DATA_SPY = '[data-spy="scroll"]';
3694
+ var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
3695
+ var SELECTOR_NAV_LINKS = '.nav-link';
3696
+ var SELECTOR_NAV_ITEMS = '.nav-item';
3697
+ var SELECTOR_LIST_ITEMS = '.list-group-item';
3698
+ var SELECTOR_DROPDOWN = '.dropdown';
3699
+ var SELECTOR_DROPDOWN_ITEMS = '.dropdown-item';
3700
+ var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
3701
+ var METHOD_OFFSET = 'offset';
3702
+ var METHOD_POSITION = 'position';
3703
+ /**
3704
+ * ------------------------------------------------------------------------
3705
+ * Class Definition
3706
+ * ------------------------------------------------------------------------
3707
+ */
3544
3708
 
3545
- var ScrollSpy =
3546
- /*#__PURE__*/
3547
- function () {
3709
+ var ScrollSpy = /*#__PURE__*/function () {
3548
3710
  function ScrollSpy(element, config) {
3549
3711
  var _this = this;
3550
3712
 
3551
3713
  this._element = element;
3552
3714
  this._scrollElement = element.tagName === 'BODY' ? window : element;
3553
3715
  this._config = this._getConfig(config);
3554
- this._selector = this._config.target + " " + Selector$8.NAV_LINKS + "," + (this._config.target + " " + Selector$8.LIST_ITEMS + ",") + (this._config.target + " " + Selector$8.DROPDOWN_ITEMS);
3716
+ this._selector = this._config.target + " " + SELECTOR_NAV_LINKS + "," + (this._config.target + " " + SELECTOR_LIST_ITEMS + ",") + (this._config.target + " " + SELECTOR_DROPDOWN_ITEMS);
3555
3717
  this._offsets = [];
3556
3718
  this._targets = [];
3557
3719
  this._activeTarget = null;
3558
3720
  this._scrollHeight = 0;
3559
- $(this._scrollElement).on(Event$8.SCROLL, function (event) {
3721
+ $__default['default'](this._scrollElement).on(EVENT_SCROLL, function (event) {
3560
3722
  return _this._process(event);
3561
3723
  });
3562
3724
  this.refresh();
@@ -3571,9 +3733,9 @@
3571
3733
  _proto.refresh = function refresh() {
3572
3734
  var _this2 = this;
3573
3735
 
3574
- var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
3736
+ var autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;
3575
3737
  var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
3576
- var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
3738
+ var offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;
3577
3739
  this._offsets = [];
3578
3740
  this._targets = [];
3579
3741
  this._scrollHeight = this._getScrollHeight();
@@ -3591,7 +3753,7 @@
3591
3753
 
3592
3754
  if (targetBCR.width || targetBCR.height) {
3593
3755
  // TODO (fat): remove sketch reliance on jQuery position/offset
3594
- return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
3756
+ return [$__default['default'](target)[offsetMethod]().top + offsetBase, targetSelector];
3595
3757
  }
3596
3758
  }
3597
3759
 
@@ -3608,8 +3770,8 @@
3608
3770
  };
3609
3771
 
3610
3772
  _proto.dispose = function dispose() {
3611
- $.removeData(this._element, DATA_KEY$8);
3612
- $(this._scrollElement).off(EVENT_KEY$8);
3773
+ $__default['default'].removeData(this._element, DATA_KEY$8);
3774
+ $__default['default'](this._scrollElement).off(EVENT_KEY$8);
3613
3775
  this._element = null;
3614
3776
  this._scrollElement = null;
3615
3777
  this._config = null;
@@ -3622,14 +3784,14 @@
3622
3784
  ;
3623
3785
 
3624
3786
  _proto._getConfig = function _getConfig(config) {
3625
- config = _objectSpread({}, Default$6, typeof config === 'object' && config ? config : {});
3787
+ config = _extends({}, Default$6, typeof config === 'object' && config ? config : {});
3626
3788
 
3627
- if (typeof config.target !== 'string') {
3628
- var id = $(config.target).attr('id');
3789
+ if (typeof config.target !== 'string' && Util.isElement(config.target)) {
3790
+ var id = $__default['default'](config.target).attr('id');
3629
3791
 
3630
3792
  if (!id) {
3631
3793
  id = Util.getUID(NAME$8);
3632
- $(config.target).attr('id', id);
3794
+ $__default['default'](config.target).attr('id', id);
3633
3795
  }
3634
3796
 
3635
3797
  config.target = "#" + id;
@@ -3680,9 +3842,7 @@
3680
3842
  return;
3681
3843
  }
3682
3844
 
3683
- var offsetLength = this._offsets.length;
3684
-
3685
- for (var i = offsetLength; i--;) {
3845
+ for (var i = this._offsets.length; i--;) {
3686
3846
  var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
3687
3847
 
3688
3848
  if (isActiveTarget) {
@@ -3700,44 +3860,44 @@
3700
3860
  return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]";
3701
3861
  });
3702
3862
 
3703
- var $link = $([].slice.call(document.querySelectorAll(queries.join(','))));
3863
+ var $link = $__default['default']([].slice.call(document.querySelectorAll(queries.join(','))));
3704
3864
 
3705
- if ($link.hasClass(ClassName$8.DROPDOWN_ITEM)) {
3706
- $link.closest(Selector$8.DROPDOWN).find(Selector$8.DROPDOWN_TOGGLE).addClass(ClassName$8.ACTIVE);
3707
- $link.addClass(ClassName$8.ACTIVE);
3865
+ if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {
3866
+ $link.closest(SELECTOR_DROPDOWN).find(SELECTOR_DROPDOWN_TOGGLE).addClass(CLASS_NAME_ACTIVE$2);
3867
+ $link.addClass(CLASS_NAME_ACTIVE$2);
3708
3868
  } else {
3709
3869
  // Set triggered link as active
3710
- $link.addClass(ClassName$8.ACTIVE); // Set triggered links parents as active
3870
+ $link.addClass(CLASS_NAME_ACTIVE$2); // Set triggered links parents as active
3711
3871
  // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
3712
3872
 
3713
- $link.parents(Selector$8.NAV_LIST_GROUP).prev(Selector$8.NAV_LINKS + ", " + Selector$8.LIST_ITEMS).addClass(ClassName$8.ACTIVE); // Handle special case when .nav-link is inside .nav-item
3873
+ $link.parents(SELECTOR_NAV_LIST_GROUP).prev(SELECTOR_NAV_LINKS + ", " + SELECTOR_LIST_ITEMS).addClass(CLASS_NAME_ACTIVE$2); // Handle special case when .nav-link is inside .nav-item
3714
3874
 
3715
- $link.parents(Selector$8.NAV_LIST_GROUP).prev(Selector$8.NAV_ITEMS).children(Selector$8.NAV_LINKS).addClass(ClassName$8.ACTIVE);
3875
+ $link.parents(SELECTOR_NAV_LIST_GROUP).prev(SELECTOR_NAV_ITEMS).children(SELECTOR_NAV_LINKS).addClass(CLASS_NAME_ACTIVE$2);
3716
3876
  }
3717
3877
 
3718
- $(this._scrollElement).trigger(Event$8.ACTIVATE, {
3878
+ $__default['default'](this._scrollElement).trigger(EVENT_ACTIVATE, {
3719
3879
  relatedTarget: target
3720
3880
  });
3721
3881
  };
3722
3882
 
3723
3883
  _proto._clear = function _clear() {
3724
3884
  [].slice.call(document.querySelectorAll(this._selector)).filter(function (node) {
3725
- return node.classList.contains(ClassName$8.ACTIVE);
3885
+ return node.classList.contains(CLASS_NAME_ACTIVE$2);
3726
3886
  }).forEach(function (node) {
3727
- return node.classList.remove(ClassName$8.ACTIVE);
3887
+ return node.classList.remove(CLASS_NAME_ACTIVE$2);
3728
3888
  });
3729
3889
  } // Static
3730
3890
  ;
3731
3891
 
3732
3892
  ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
3733
3893
  return this.each(function () {
3734
- var data = $(this).data(DATA_KEY$8);
3894
+ var data = $__default['default'](this).data(DATA_KEY$8);
3735
3895
 
3736
3896
  var _config = typeof config === 'object' && config;
3737
3897
 
3738
3898
  if (!data) {
3739
3899
  data = new ScrollSpy(this, _config);
3740
- $(this).data(DATA_KEY$8, data);
3900
+ $__default['default'](this).data(DATA_KEY$8, data);
3741
3901
  }
3742
3902
 
3743
3903
  if (typeof config === 'string') {
@@ -3771,12 +3931,12 @@
3771
3931
  */
3772
3932
 
3773
3933
 
3774
- $(window).on(Event$8.LOAD_DATA_API, function () {
3775
- var scrollSpys = [].slice.call(document.querySelectorAll(Selector$8.DATA_SPY));
3934
+ $__default['default'](window).on(EVENT_LOAD_DATA_API$2, function () {
3935
+ var scrollSpys = [].slice.call(document.querySelectorAll(SELECTOR_DATA_SPY));
3776
3936
  var scrollSpysLength = scrollSpys.length;
3777
3937
 
3778
3938
  for (var i = scrollSpysLength; i--;) {
3779
- var $spy = $(scrollSpys[i]);
3939
+ var $spy = $__default['default'](scrollSpys[i]);
3780
3940
 
3781
3941
  ScrollSpy._jQueryInterface.call($spy, $spy.data());
3782
3942
  }
@@ -3787,11 +3947,11 @@
3787
3947
  * ------------------------------------------------------------------------
3788
3948
  */
3789
3949
 
3790
- $.fn[NAME$8] = ScrollSpy._jQueryInterface;
3791
- $.fn[NAME$8].Constructor = ScrollSpy;
3950
+ $__default['default'].fn[NAME$8] = ScrollSpy._jQueryInterface;
3951
+ $__default['default'].fn[NAME$8].Constructor = ScrollSpy;
3792
3952
 
3793
- $.fn[NAME$8].noConflict = function () {
3794
- $.fn[NAME$8] = JQUERY_NO_CONFLICT$8;
3953
+ $__default['default'].fn[NAME$8].noConflict = function () {
3954
+ $__default['default'].fn[NAME$8] = JQUERY_NO_CONFLICT$8;
3795
3955
  return ScrollSpy._jQueryInterface;
3796
3956
  };
3797
3957
 
@@ -3802,44 +3962,35 @@
3802
3962
  */
3803
3963
 
3804
3964
  var NAME$9 = 'tab';
3805
- var VERSION$9 = '4.3.0';
3965
+ var VERSION$9 = '4.5.3';
3806
3966
  var DATA_KEY$9 = 'bs.tab';
3807
3967
  var EVENT_KEY$9 = "." + DATA_KEY$9;
3808
3968
  var DATA_API_KEY$7 = '.data-api';
3809
- var JQUERY_NO_CONFLICT$9 = $.fn[NAME$9];
3810
- var Event$9 = {
3811
- HIDE: "hide" + EVENT_KEY$9,
3812
- HIDDEN: "hidden" + EVENT_KEY$9,
3813
- SHOW: "show" + EVENT_KEY$9,
3814
- SHOWN: "shown" + EVENT_KEY$9,
3815
- CLICK_DATA_API: "click" + EVENT_KEY$9 + DATA_API_KEY$7
3816
- };
3817
- var ClassName$9 = {
3818
- DROPDOWN_MENU: 'dropdown-menu',
3819
- ACTIVE: 'active',
3820
- DISABLED: 'disabled',
3821
- FADE: 'fade',
3822
- SHOW: 'show'
3823
- };
3824
- var Selector$9 = {
3825
- DROPDOWN: '.dropdown',
3826
- NAV_LIST_GROUP: '.nav, .list-group',
3827
- ACTIVE: '.active',
3828
- ACTIVE_UL: '> li > .active',
3829
- DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
3830
- DROPDOWN_TOGGLE: '.dropdown-toggle',
3831
- DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
3832
- /**
3833
- * ------------------------------------------------------------------------
3834
- * Class Definition
3835
- * ------------------------------------------------------------------------
3836
- */
3837
-
3838
- };
3969
+ var JQUERY_NO_CONFLICT$9 = $__default['default'].fn[NAME$9];
3970
+ var EVENT_HIDE$3 = "hide" + EVENT_KEY$9;
3971
+ var EVENT_HIDDEN$3 = "hidden" + EVENT_KEY$9;
3972
+ var EVENT_SHOW$3 = "show" + EVENT_KEY$9;
3973
+ var EVENT_SHOWN$3 = "shown" + EVENT_KEY$9;
3974
+ var EVENT_CLICK_DATA_API$6 = "click" + EVENT_KEY$9 + DATA_API_KEY$7;
3975
+ var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
3976
+ var CLASS_NAME_ACTIVE$3 = 'active';
3977
+ var CLASS_NAME_DISABLED$1 = 'disabled';
3978
+ var CLASS_NAME_FADE$4 = 'fade';
3979
+ var CLASS_NAME_SHOW$6 = 'show';
3980
+ var SELECTOR_DROPDOWN$1 = '.dropdown';
3981
+ var SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';
3982
+ var SELECTOR_ACTIVE$2 = '.active';
3983
+ var SELECTOR_ACTIVE_UL = '> li > .active';
3984
+ var SELECTOR_DATA_TOGGLE$4 = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]';
3985
+ var SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
3986
+ var SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active';
3987
+ /**
3988
+ * ------------------------------------------------------------------------
3989
+ * Class Definition
3990
+ * ------------------------------------------------------------------------
3991
+ */
3839
3992
 
3840
- var Tab =
3841
- /*#__PURE__*/
3842
- function () {
3993
+ var Tab = /*#__PURE__*/function () {
3843
3994
  function Tab(element) {
3844
3995
  this._element = element;
3845
3996
  } // Getters
@@ -3851,33 +4002,33 @@
3851
4002
  _proto.show = function show() {
3852
4003
  var _this = this;
3853
4004
 
3854
- if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName$9.ACTIVE) || $(this._element).hasClass(ClassName$9.DISABLED)) {
4005
+ if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $__default['default'](this._element).hasClass(CLASS_NAME_ACTIVE$3) || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED$1)) {
3855
4006
  return;
3856
4007
  }
3857
4008
 
3858
4009
  var target;
3859
4010
  var previous;
3860
- var listElement = $(this._element).closest(Selector$9.NAV_LIST_GROUP)[0];
4011
+ var listElement = $__default['default'](this._element).closest(SELECTOR_NAV_LIST_GROUP$1)[0];
3861
4012
  var selector = Util.getSelectorFromElement(this._element);
3862
4013
 
3863
4014
  if (listElement) {
3864
- var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector$9.ACTIVE_UL : Selector$9.ACTIVE;
3865
- previous = $.makeArray($(listElement).find(itemSelector));
4015
+ var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE$2;
4016
+ previous = $__default['default'].makeArray($__default['default'](listElement).find(itemSelector));
3866
4017
  previous = previous[previous.length - 1];
3867
4018
  }
3868
4019
 
3869
- var hideEvent = $.Event(Event$9.HIDE, {
4020
+ var hideEvent = $__default['default'].Event(EVENT_HIDE$3, {
3870
4021
  relatedTarget: this._element
3871
4022
  });
3872
- var showEvent = $.Event(Event$9.SHOW, {
4023
+ var showEvent = $__default['default'].Event(EVENT_SHOW$3, {
3873
4024
  relatedTarget: previous
3874
4025
  });
3875
4026
 
3876
4027
  if (previous) {
3877
- $(previous).trigger(hideEvent);
4028
+ $__default['default'](previous).trigger(hideEvent);
3878
4029
  }
3879
4030
 
3880
- $(this._element).trigger(showEvent);
4031
+ $__default['default'](this._element).trigger(showEvent);
3881
4032
 
3882
4033
  if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
3883
4034
  return;
@@ -3890,14 +4041,14 @@
3890
4041
  this._activate(this._element, listElement);
3891
4042
 
3892
4043
  var complete = function complete() {
3893
- var hiddenEvent = $.Event(Event$9.HIDDEN, {
4044
+ var hiddenEvent = $__default['default'].Event(EVENT_HIDDEN$3, {
3894
4045
  relatedTarget: _this._element
3895
4046
  });
3896
- var shownEvent = $.Event(Event$9.SHOWN, {
4047
+ var shownEvent = $__default['default'].Event(EVENT_SHOWN$3, {
3897
4048
  relatedTarget: previous
3898
4049
  });
3899
- $(previous).trigger(hiddenEvent);
3900
- $(_this._element).trigger(shownEvent);
4050
+ $__default['default'](previous).trigger(hiddenEvent);
4051
+ $__default['default'](_this._element).trigger(shownEvent);
3901
4052
  };
3902
4053
 
3903
4054
  if (target) {
@@ -3908,7 +4059,7 @@
3908
4059
  };
3909
4060
 
3910
4061
  _proto.dispose = function dispose() {
3911
- $.removeData(this._element, DATA_KEY$9);
4062
+ $__default['default'].removeData(this._element, DATA_KEY$9);
3912
4063
  this._element = null;
3913
4064
  } // Private
3914
4065
  ;
@@ -3916,9 +4067,9 @@
3916
4067
  _proto._activate = function _activate(element, container, callback) {
3917
4068
  var _this2 = this;
3918
4069
 
3919
- var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(Selector$9.ACTIVE_UL) : $(container).children(Selector$9.ACTIVE);
4070
+ var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $__default['default'](container).find(SELECTOR_ACTIVE_UL) : $__default['default'](container).children(SELECTOR_ACTIVE$2);
3920
4071
  var active = activeElements[0];
3921
- var isTransitioning = callback && active && $(active).hasClass(ClassName$9.FADE);
4072
+ var isTransitioning = callback && active && $__default['default'](active).hasClass(CLASS_NAME_FADE$4);
3922
4073
 
3923
4074
  var complete = function complete() {
3924
4075
  return _this2._transitionComplete(element, active, callback);
@@ -3926,7 +4077,7 @@
3926
4077
 
3927
4078
  if (active && isTransitioning) {
3928
4079
  var transitionDuration = Util.getTransitionDurationFromElement(active);
3929
- $(active).removeClass(ClassName$9.SHOW).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
4080
+ $__default['default'](active).removeClass(CLASS_NAME_SHOW$6).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
3930
4081
  } else {
3931
4082
  complete();
3932
4083
  }
@@ -3934,11 +4085,11 @@
3934
4085
 
3935
4086
  _proto._transitionComplete = function _transitionComplete(element, active, callback) {
3936
4087
  if (active) {
3937
- $(active).removeClass(ClassName$9.ACTIVE);
3938
- var dropdownChild = $(active.parentNode).find(Selector$9.DROPDOWN_ACTIVE_CHILD)[0];
4088
+ $__default['default'](active).removeClass(CLASS_NAME_ACTIVE$3);
4089
+ var dropdownChild = $__default['default'](active.parentNode).find(SELECTOR_DROPDOWN_ACTIVE_CHILD)[0];
3939
4090
 
3940
4091
  if (dropdownChild) {
3941
- $(dropdownChild).removeClass(ClassName$9.ACTIVE);
4092
+ $__default['default'](dropdownChild).removeClass(CLASS_NAME_ACTIVE$3);
3942
4093
  }
3943
4094
 
3944
4095
  if (active.getAttribute('role') === 'tab') {
@@ -3946,7 +4097,7 @@
3946
4097
  }
3947
4098
  }
3948
4099
 
3949
- $(element).addClass(ClassName$9.ACTIVE);
4100
+ $__default['default'](element).addClass(CLASS_NAME_ACTIVE$3);
3950
4101
 
3951
4102
  if (element.getAttribute('role') === 'tab') {
3952
4103
  element.setAttribute('aria-selected', true);
@@ -3954,16 +4105,16 @@
3954
4105
 
3955
4106
  Util.reflow(element);
3956
4107
 
3957
- if (element.classList.contains(ClassName$9.FADE)) {
3958
- element.classList.add(ClassName$9.SHOW);
4108
+ if (element.classList.contains(CLASS_NAME_FADE$4)) {
4109
+ element.classList.add(CLASS_NAME_SHOW$6);
3959
4110
  }
3960
4111
 
3961
- if (element.parentNode && $(element.parentNode).hasClass(ClassName$9.DROPDOWN_MENU)) {
3962
- var dropdownElement = $(element).closest(Selector$9.DROPDOWN)[0];
4112
+ if (element.parentNode && $__default['default'](element.parentNode).hasClass(CLASS_NAME_DROPDOWN_MENU)) {
4113
+ var dropdownElement = $__default['default'](element).closest(SELECTOR_DROPDOWN$1)[0];
3963
4114
 
3964
4115
  if (dropdownElement) {
3965
- var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector$9.DROPDOWN_TOGGLE));
3966
- $(dropdownToggleList).addClass(ClassName$9.ACTIVE);
4116
+ var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE$1));
4117
+ $__default['default'](dropdownToggleList).addClass(CLASS_NAME_ACTIVE$3);
3967
4118
  }
3968
4119
 
3969
4120
  element.setAttribute('aria-expanded', true);
@@ -3977,7 +4128,7 @@
3977
4128
 
3978
4129
  Tab._jQueryInterface = function _jQueryInterface(config) {
3979
4130
  return this.each(function () {
3980
- var $this = $(this);
4131
+ var $this = $__default['default'](this);
3981
4132
  var data = $this.data(DATA_KEY$9);
3982
4133
 
3983
4134
  if (!data) {
@@ -4011,10 +4162,10 @@
4011
4162
  */
4012
4163
 
4013
4164
 
4014
- $(document).on(Event$9.CLICK_DATA_API, Selector$9.DATA_TOGGLE, function (event) {
4165
+ $__default['default'](document).on(EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$4, function (event) {
4015
4166
  event.preventDefault();
4016
4167
 
4017
- Tab._jQueryInterface.call($(this), 'show');
4168
+ Tab._jQueryInterface.call($__default['default'](this), 'show');
4018
4169
  });
4019
4170
  /**
4020
4171
  * ------------------------------------------------------------------------
@@ -4022,11 +4173,11 @@
4022
4173
  * ------------------------------------------------------------------------
4023
4174
  */
4024
4175
 
4025
- $.fn[NAME$9] = Tab._jQueryInterface;
4026
- $.fn[NAME$9].Constructor = Tab;
4176
+ $__default['default'].fn[NAME$9] = Tab._jQueryInterface;
4177
+ $__default['default'].fn[NAME$9].Constructor = Tab;
4027
4178
 
4028
- $.fn[NAME$9].noConflict = function () {
4029
- $.fn[NAME$9] = JQUERY_NO_CONFLICT$9;
4179
+ $__default['default'].fn[NAME$9].noConflict = function () {
4180
+ $__default['default'].fn[NAME$9] = JQUERY_NO_CONFLICT$9;
4030
4181
  return Tab._jQueryInterface;
4031
4182
  };
4032
4183
 
@@ -4037,23 +4188,19 @@
4037
4188
  */
4038
4189
 
4039
4190
  var NAME$a = 'toast';
4040
- var VERSION$a = '4.3.0';
4191
+ var VERSION$a = '4.5.3';
4041
4192
  var DATA_KEY$a = 'bs.toast';
4042
4193
  var EVENT_KEY$a = "." + DATA_KEY$a;
4043
- var JQUERY_NO_CONFLICT$a = $.fn[NAME$a];
4044
- var Event$a = {
4045
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY$a,
4046
- HIDE: "hide" + EVENT_KEY$a,
4047
- HIDDEN: "hidden" + EVENT_KEY$a,
4048
- SHOW: "show" + EVENT_KEY$a,
4049
- SHOWN: "shown" + EVENT_KEY$a
4050
- };
4051
- var ClassName$a = {
4052
- FADE: 'fade',
4053
- HIDE: 'hide',
4054
- SHOW: 'show',
4055
- SHOWING: 'showing'
4056
- };
4194
+ var JQUERY_NO_CONFLICT$a = $__default['default'].fn[NAME$a];
4195
+ var EVENT_CLICK_DISMISS$1 = "click.dismiss" + EVENT_KEY$a;
4196
+ var EVENT_HIDE$4 = "hide" + EVENT_KEY$a;
4197
+ var EVENT_HIDDEN$4 = "hidden" + EVENT_KEY$a;
4198
+ var EVENT_SHOW$4 = "show" + EVENT_KEY$a;
4199
+ var EVENT_SHOWN$4 = "shown" + EVENT_KEY$a;
4200
+ var CLASS_NAME_FADE$5 = 'fade';
4201
+ var CLASS_NAME_HIDE = 'hide';
4202
+ var CLASS_NAME_SHOW$7 = 'show';
4203
+ var CLASS_NAME_SHOWING = 'showing';
4057
4204
  var DefaultType$7 = {
4058
4205
  animation: 'boolean',
4059
4206
  autohide: 'boolean',
@@ -4064,19 +4211,14 @@
4064
4211
  autohide: true,
4065
4212
  delay: 500
4066
4213
  };
4067
- var Selector$a = {
4068
- DATA_DISMISS: '[data-dismiss="toast"]'
4069
- /**
4070
- * ------------------------------------------------------------------------
4071
- * Class Definition
4072
- * ------------------------------------------------------------------------
4073
- */
4074
-
4075
- };
4214
+ var SELECTOR_DATA_DISMISS$1 = '[data-dismiss="toast"]';
4215
+ /**
4216
+ * ------------------------------------------------------------------------
4217
+ * Class Definition
4218
+ * ------------------------------------------------------------------------
4219
+ */
4076
4220
 
4077
- var Toast =
4078
- /*#__PURE__*/
4079
- function () {
4221
+ var Toast = /*#__PURE__*/function () {
4080
4222
  function Toast(element, config) {
4081
4223
  this._element = element;
4082
4224
  this._config = this._getConfig(config);
@@ -4092,106 +4234,118 @@
4092
4234
  _proto.show = function show() {
4093
4235
  var _this = this;
4094
4236
 
4095
- $(this._element).trigger(Event$a.SHOW);
4237
+ var showEvent = $__default['default'].Event(EVENT_SHOW$4);
4238
+ $__default['default'](this._element).trigger(showEvent);
4239
+
4240
+ if (showEvent.isDefaultPrevented()) {
4241
+ return;
4242
+ }
4243
+
4244
+ this._clearTimeout();
4096
4245
 
4097
4246
  if (this._config.animation) {
4098
- this._element.classList.add(ClassName$a.FADE);
4247
+ this._element.classList.add(CLASS_NAME_FADE$5);
4099
4248
  }
4100
4249
 
4101
4250
  var complete = function complete() {
4102
- _this._element.classList.remove(ClassName$a.SHOWING);
4251
+ _this._element.classList.remove(CLASS_NAME_SHOWING);
4103
4252
 
4104
- _this._element.classList.add(ClassName$a.SHOW);
4253
+ _this._element.classList.add(CLASS_NAME_SHOW$7);
4105
4254
 
4106
- $(_this._element).trigger(Event$a.SHOWN);
4255
+ $__default['default'](_this._element).trigger(EVENT_SHOWN$4);
4107
4256
 
4108
4257
  if (_this._config.autohide) {
4109
- _this.hide();
4258
+ _this._timeout = setTimeout(function () {
4259
+ _this.hide();
4260
+ }, _this._config.delay);
4110
4261
  }
4111
4262
  };
4112
4263
 
4113
- this._element.classList.remove(ClassName$a.HIDE);
4264
+ this._element.classList.remove(CLASS_NAME_HIDE);
4265
+
4266
+ Util.reflow(this._element);
4114
4267
 
4115
- this._element.classList.add(ClassName$a.SHOWING);
4268
+ this._element.classList.add(CLASS_NAME_SHOWING);
4116
4269
 
4117
4270
  if (this._config.animation) {
4118
4271
  var transitionDuration = Util.getTransitionDurationFromElement(this._element);
4119
- $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
4272
+ $__default['default'](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
4120
4273
  } else {
4121
4274
  complete();
4122
4275
  }
4123
4276
  };
4124
4277
 
4125
- _proto.hide = function hide(withoutTimeout) {
4126
- var _this2 = this;
4127
-
4128
- if (!this._element.classList.contains(ClassName$a.SHOW)) {
4278
+ _proto.hide = function hide() {
4279
+ if (!this._element.classList.contains(CLASS_NAME_SHOW$7)) {
4129
4280
  return;
4130
4281
  }
4131
4282
 
4132
- $(this._element).trigger(Event$a.HIDE);
4283
+ var hideEvent = $__default['default'].Event(EVENT_HIDE$4);
4284
+ $__default['default'](this._element).trigger(hideEvent);
4133
4285
 
4134
- if (withoutTimeout) {
4135
- this._close();
4136
- } else {
4137
- this._timeout = setTimeout(function () {
4138
- _this2._close();
4139
- }, this._config.delay);
4286
+ if (hideEvent.isDefaultPrevented()) {
4287
+ return;
4140
4288
  }
4289
+
4290
+ this._close();
4141
4291
  };
4142
4292
 
4143
4293
  _proto.dispose = function dispose() {
4144
- clearTimeout(this._timeout);
4145
- this._timeout = null;
4294
+ this._clearTimeout();
4146
4295
 
4147
- if (this._element.classList.contains(ClassName$a.SHOW)) {
4148
- this._element.classList.remove(ClassName$a.SHOW);
4296
+ if (this._element.classList.contains(CLASS_NAME_SHOW$7)) {
4297
+ this._element.classList.remove(CLASS_NAME_SHOW$7);
4149
4298
  }
4150
4299
 
4151
- $(this._element).off(Event$a.CLICK_DISMISS);
4152
- $.removeData(this._element, DATA_KEY$a);
4300
+ $__default['default'](this._element).off(EVENT_CLICK_DISMISS$1);
4301
+ $__default['default'].removeData(this._element, DATA_KEY$a);
4153
4302
  this._element = null;
4154
4303
  this._config = null;
4155
4304
  } // Private
4156
4305
  ;
4157
4306
 
4158
4307
  _proto._getConfig = function _getConfig(config) {
4159
- config = _objectSpread({}, Default$7, $(this._element).data(), typeof config === 'object' && config ? config : {});
4308
+ config = _extends({}, Default$7, $__default['default'](this._element).data(), typeof config === 'object' && config ? config : {});
4160
4309
  Util.typeCheckConfig(NAME$a, config, this.constructor.DefaultType);
4161
4310
  return config;
4162
4311
  };
4163
4312
 
4164
4313
  _proto._setListeners = function _setListeners() {
4165
- var _this3 = this;
4314
+ var _this2 = this;
4166
4315
 
4167
- $(this._element).on(Event$a.CLICK_DISMISS, Selector$a.DATA_DISMISS, function () {
4168
- return _this3.hide(true);
4316
+ $__default['default'](this._element).on(EVENT_CLICK_DISMISS$1, SELECTOR_DATA_DISMISS$1, function () {
4317
+ return _this2.hide();
4169
4318
  });
4170
4319
  };
4171
4320
 
4172
4321
  _proto._close = function _close() {
4173
- var _this4 = this;
4322
+ var _this3 = this;
4174
4323
 
4175
4324
  var complete = function complete() {
4176
- _this4._element.classList.add(ClassName$a.HIDE);
4325
+ _this3._element.classList.add(CLASS_NAME_HIDE);
4177
4326
 
4178
- $(_this4._element).trigger(Event$a.HIDDEN);
4327
+ $__default['default'](_this3._element).trigger(EVENT_HIDDEN$4);
4179
4328
  };
4180
4329
 
4181
- this._element.classList.remove(ClassName$a.SHOW);
4330
+ this._element.classList.remove(CLASS_NAME_SHOW$7);
4182
4331
 
4183
4332
  if (this._config.animation) {
4184
4333
  var transitionDuration = Util.getTransitionDurationFromElement(this._element);
4185
- $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
4334
+ $__default['default'](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
4186
4335
  } else {
4187
4336
  complete();
4188
4337
  }
4338
+ };
4339
+
4340
+ _proto._clearTimeout = function _clearTimeout() {
4341
+ clearTimeout(this._timeout);
4342
+ this._timeout = null;
4189
4343
  } // Static
4190
4344
  ;
4191
4345
 
4192
4346
  Toast._jQueryInterface = function _jQueryInterface(config) {
4193
4347
  return this.each(function () {
4194
- var $element = $(this);
4348
+ var $element = $__default['default'](this);
4195
4349
  var data = $element.data(DATA_KEY$a);
4196
4350
 
4197
4351
  var _config = typeof config === 'object' && config;
@@ -4237,39 +4391,14 @@
4237
4391
  */
4238
4392
 
4239
4393
 
4240
- $.fn[NAME$a] = Toast._jQueryInterface;
4241
- $.fn[NAME$a].Constructor = Toast;
4394
+ $__default['default'].fn[NAME$a] = Toast._jQueryInterface;
4395
+ $__default['default'].fn[NAME$a].Constructor = Toast;
4242
4396
 
4243
- $.fn[NAME$a].noConflict = function () {
4244
- $.fn[NAME$a] = JQUERY_NO_CONFLICT$a;
4397
+ $__default['default'].fn[NAME$a].noConflict = function () {
4398
+ $__default['default'].fn[NAME$a] = JQUERY_NO_CONFLICT$a;
4245
4399
  return Toast._jQueryInterface;
4246
4400
  };
4247
4401
 
4248
- /**
4249
- * --------------------------------------------------------------------------
4250
- * Bootstrap (v4.3.0): index.js
4251
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
4252
- * --------------------------------------------------------------------------
4253
- */
4254
-
4255
- (function () {
4256
- if (typeof $ === 'undefined') {
4257
- throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
4258
- }
4259
-
4260
- var version = $.fn.jquery.split(' ')[0].split('.');
4261
- var minMajor = 1;
4262
- var ltMajor = 2;
4263
- var minMinor = 9;
4264
- var minPatch = 1;
4265
- var maxMajor = 4;
4266
-
4267
- if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
4268
- throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
4269
- }
4270
- })();
4271
-
4272
- exports.Util = Util;
4273
4402
  exports.Alert = Alert;
4274
4403
  exports.Button = Button;
4275
4404
  exports.Carousel = Carousel;
@@ -4281,7 +4410,8 @@
4281
4410
  exports.Tab = Tab;
4282
4411
  exports.Toast = Toast;
4283
4412
  exports.Tooltip = Tooltip;
4413
+ exports.Util = Util;
4284
4414
 
4285
4415
  Object.defineProperty(exports, '__esModule', { value: true });
4286
4416
 
4287
- }));
4417
+ })));