bootstrap 4.0.0.beta3 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bootstrap might be problematic. Click here for more details.

Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/README.md +1 -1
  4. data/assets/javascripts/bootstrap-sprockets.js +6 -6
  5. data/assets/javascripts/bootstrap.js +112 -110
  6. data/assets/javascripts/bootstrap.min.js +3 -3
  7. data/assets/javascripts/bootstrap/alert.js +6 -6
  8. data/assets/javascripts/bootstrap/button.js +5 -5
  9. data/assets/javascripts/bootstrap/carousel.js +9 -10
  10. data/assets/javascripts/bootstrap/collapse.js +18 -16
  11. data/assets/javascripts/bootstrap/dropdown.js +17 -16
  12. data/assets/javascripts/bootstrap/modal.js +11 -11
  13. data/assets/javascripts/bootstrap/popover.js +8 -8
  14. data/assets/javascripts/bootstrap/scrollspy.js +9 -9
  15. data/assets/javascripts/bootstrap/tab.js +7 -7
  16. data/assets/javascripts/bootstrap/tooltip.js +13 -13
  17. data/assets/javascripts/bootstrap/util.js +6 -6
  18. data/assets/stylesheets/_bootstrap-grid.scss +4 -7
  19. data/assets/stylesheets/_bootstrap-reboot.scss +3 -3
  20. data/assets/stylesheets/_bootstrap.scss +3 -3
  21. data/assets/stylesheets/bootstrap/_alert.scss +1 -1
  22. data/assets/stylesheets/bootstrap/_buttons.scss +5 -9
  23. data/assets/stylesheets/bootstrap/_close.scss +1 -1
  24. data/assets/stylesheets/bootstrap/_custom-forms.scss +16 -1
  25. data/assets/stylesheets/bootstrap/_input-group.scss +15 -12
  26. data/assets/stylesheets/bootstrap/_navbar.scss +3 -3
  27. data/assets/stylesheets/bootstrap/_pagination.scss +7 -2
  28. data/assets/stylesheets/bootstrap/_popover.scss +2 -2
  29. data/assets/stylesheets/bootstrap/_print.scss +17 -3
  30. data/assets/stylesheets/bootstrap/_reboot.scss +0 -23
  31. data/assets/stylesheets/bootstrap/_tooltip.scss +2 -2
  32. data/assets/stylesheets/bootstrap/_variables.scss +41 -19
  33. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +9 -7
  34. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +17 -9
  35. data/assets/stylesheets/bootstrap/mixins/_forms.scss +6 -2
  36. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +5 -7
  37. data/assets/stylesheets/bootstrap/mixins/_hover.scss +24 -46
  38. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +10 -13
  39. data/assets/stylesheets/bootstrap/utilities/_borders.scss +6 -1
  40. data/assets/stylesheets/bootstrap/utilities/_display.scss +10 -28
  41. data/bootstrap.gemspec +1 -1
  42. data/lib/bootstrap/version.rb +2 -2
  43. metadata +7 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 12ec82c20064a195af9678234b5c6b3d2119671c
4
- data.tar.gz: 853bdd71f1c84bf68b7f461136ec235e14d4dc0c
3
+ metadata.gz: 20d4d19b9e96d1a891aab9466010e01c1842c7cf
4
+ data.tar.gz: 6d91e6aeee143e15d974f7ff3d24a2ad87d65b53
5
5
  SHA512:
6
- metadata.gz: 88f3b52d9873b5d627611beb3509dabaf6c8870b387ededa5c4216dc9bc82ce7575d5df394bd26e0b616128c8dd416a537683e7720c9a73ffed140db74454a41
7
- data.tar.gz: b046a683d8ccc5bd518e40b1f0b9efdb514e4ffb0a61ec094a3f985dc2af2389fa762baa02eecd23e1f081d3fc28854c7fbb639d9cae796716537f51d894f543
6
+ metadata.gz: aac524ee7e9d87f5107f8041f286a12c7c16ba99b64f5e8b0d7a23d23a767cc6420e6bf18be9595d84afad7861ef048fee85fddcd84b6712aae9d0146bb72afe
7
+ data.tar.gz: b69acad263dceffeb101cefbfa76efd849b634d6a61f5567eae8800e250a674a06ef43ace048f187d8a2b441e62311242eb3eea96bcada84fef2a0a83744a35a
@@ -6,6 +6,10 @@ 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.0.0
10
+
11
+ No gem-specific changes.
12
+
9
13
  # 4.0.0.beta3
10
14
 
11
15
  No gem-specific changes.
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.0.0.beta3'
20
+ gem 'bootstrap', '~> 4.0.0'
21
21
  ```
22
22
 
23
23
  Ensure that `sprockets-rails` is at least v2.3.2.
@@ -1,11 +1,11 @@
1
1
  //= require ./bootstrap/util
2
- //= require ./bootstrap/alert
3
- //= require ./bootstrap/button
4
- //= require ./bootstrap/carousel
5
- //= require ./bootstrap/collapse
6
- //= require ./bootstrap/dropdown
7
2
  //= require ./bootstrap/modal
8
3
  //= require ./bootstrap/tooltip
9
4
  //= require ./bootstrap/popover
10
- //= require ./bootstrap/scrollspy
11
5
  //= require ./bootstrap/tab
6
+ //= require ./bootstrap/collapse
7
+ //= require ./bootstrap/scrollspy
8
+ //= require ./bootstrap/carousel
9
+ //= require ./bootstrap/dropdown
10
+ //= require ./bootstrap/button
11
+ //= require ./bootstrap/alert
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap v4.0.0-beta.3 (https://getbootstrap.com)
3
- * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap v4.0.0 (https://getbootstrap.com)
3
+ * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
@@ -54,7 +54,7 @@ function _inheritsLoose(subClass, superClass) {
54
54
 
55
55
  /**
56
56
  * --------------------------------------------------------------------------
57
- * Bootstrap (v4.0.0-beta.3): util.js
57
+ * Bootstrap (v4.0.0): util.js
58
58
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
59
59
  * --------------------------------------------------------------------------
60
60
  */
@@ -66,7 +66,7 @@ var Util = function ($$$1) {
66
66
  * ------------------------------------------------------------------------
67
67
  */
68
68
  var transition = false;
69
- var MAX_UID = 1000000; // shoutout AngusCroll (https://goo.gl/pxwQGp)
69
+ var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
70
70
 
71
71
  function toType(obj) {
72
72
  return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
@@ -87,7 +87,7 @@ var Util = function ($$$1) {
87
87
  }
88
88
 
89
89
  function transitionEndTest() {
90
- if (window.QUnit) {
90
+ if (typeof window !== 'undefined' && window.QUnit) {
91
91
  return false;
92
92
  }
93
93
 
@@ -121,7 +121,7 @@ var Util = function ($$$1) {
121
121
  }
122
122
 
123
123
  function escapeId(selector) {
124
- // we escape IDs in case of special selectors (selector = '#myId:something')
124
+ // We escape IDs in case of special selectors (selector = '#myId:something')
125
125
  // $.escapeSelector does not exist in jQuery < 3
126
126
  selector = typeof $$$1.escapeSelector === 'function' ? $$$1.escapeSelector(selector).substr(1) : selector.replace(/(:|\.|\[|\]|,|=|@)/g, '\\$1');
127
127
  return selector;
@@ -148,7 +148,7 @@ var Util = function ($$$1) {
148
148
 
149
149
  if (!selector || selector === '#') {
150
150
  selector = element.getAttribute('href') || '';
151
- } // if it's an ID
151
+ } // If it's an ID
152
152
 
153
153
 
154
154
  if (selector.charAt(0) === '#') {
@@ -158,7 +158,7 @@ var Util = function ($$$1) {
158
158
  try {
159
159
  var $selector = $$$1(document).find(selector);
160
160
  return $selector.length > 0 ? selector : null;
161
- } catch (error) {
161
+ } catch (err) {
162
162
  return null;
163
163
  }
164
164
  },
@@ -194,7 +194,7 @@ var Util = function ($$$1) {
194
194
 
195
195
  /**
196
196
  * --------------------------------------------------------------------------
197
- * Bootstrap (v4.0.0-beta.3): alert.js
197
+ * Bootstrap (v4.0.0): alert.js
198
198
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
199
199
  * --------------------------------------------------------------------------
200
200
  */
@@ -206,7 +206,7 @@ var Alert = function ($$$1) {
206
206
  * ------------------------------------------------------------------------
207
207
  */
208
208
  var NAME = 'alert';
209
- var VERSION = '4.0.0-beta.3';
209
+ var VERSION = '4.0.0';
210
210
  var DATA_KEY = 'bs.alert';
211
211
  var EVENT_KEY = "." + DATA_KEY;
212
212
  var DATA_API_KEY = '.data-api';
@@ -237,12 +237,12 @@ var Alert = function ($$$1) {
237
237
  function () {
238
238
  function Alert(element) {
239
239
  this._element = element;
240
- } // getters
240
+ } // Getters
241
241
 
242
242
 
243
243
  var _proto = Alert.prototype;
244
244
 
245
- // public
245
+ // Public
246
246
  _proto.close = function close(element) {
247
247
  element = element || this._element;
248
248
 
@@ -260,7 +260,7 @@ var Alert = function ($$$1) {
260
260
  _proto.dispose = function dispose() {
261
261
  $$$1.removeData(this._element, DATA_KEY);
262
262
  this._element = null;
263
- }; // private
263
+ }; // Private
264
264
 
265
265
 
266
266
  _proto._getRootElement = function _getRootElement(element) {
@@ -302,7 +302,7 @@ var Alert = function ($$$1) {
302
302
 
303
303
  _proto._destroyElement = function _destroyElement(element) {
304
304
  $$$1(element).detach().trigger(Event.CLOSED).remove();
305
- }; // static
305
+ }; // Static
306
306
 
307
307
 
308
308
  Alert._jQueryInterface = function _jQueryInterface(config) {
@@ -366,7 +366,7 @@ var Alert = function ($$$1) {
366
366
 
367
367
  /**
368
368
  * --------------------------------------------------------------------------
369
- * Bootstrap (v4.0.0-beta.3): button.js
369
+ * Bootstrap (v4.0.0): button.js
370
370
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
371
371
  * --------------------------------------------------------------------------
372
372
  */
@@ -378,7 +378,7 @@ var Button = function ($$$1) {
378
378
  * ------------------------------------------------------------------------
379
379
  */
380
380
  var NAME = 'button';
381
- var VERSION = '4.0.0-beta.3';
381
+ var VERSION = '4.0.0';
382
382
  var DATA_KEY = 'bs.button';
383
383
  var EVENT_KEY = "." + DATA_KEY;
384
384
  var DATA_API_KEY = '.data-api';
@@ -411,12 +411,12 @@ var Button = function ($$$1) {
411
411
  function () {
412
412
  function Button(element) {
413
413
  this._element = element;
414
- } // getters
414
+ } // Getters
415
415
 
416
416
 
417
417
  var _proto = Button.prototype;
418
418
 
419
- // public
419
+ // Public
420
420
  _proto.toggle = function toggle() {
421
421
  var triggerChangeEvent = true;
422
422
  var addAriaPressed = true;
@@ -464,7 +464,7 @@ var Button = function ($$$1) {
464
464
  _proto.dispose = function dispose() {
465
465
  $$$1.removeData(this._element, DATA_KEY);
466
466
  this._element = null;
467
- }; // static
467
+ }; // Static
468
468
 
469
469
 
470
470
  Button._jQueryInterface = function _jQueryInterface(config) {
@@ -529,7 +529,7 @@ var Button = function ($$$1) {
529
529
 
530
530
  /**
531
531
  * --------------------------------------------------------------------------
532
- * Bootstrap (v4.0.0-beta.3): carousel.js
532
+ * Bootstrap (v4.0.0): carousel.js
533
533
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
534
534
  * --------------------------------------------------------------------------
535
535
  */
@@ -541,7 +541,7 @@ var Carousel = function ($$$1) {
541
541
  * ------------------------------------------------------------------------
542
542
  */
543
543
  var NAME = 'carousel';
544
- var VERSION = '4.0.0-beta.3';
544
+ var VERSION = '4.0.0';
545
545
  var DATA_KEY = 'bs.carousel';
546
546
  var EVENT_KEY = "." + DATA_KEY;
547
547
  var DATA_API_KEY = '.data-api';
@@ -624,12 +624,12 @@ var Carousel = function ($$$1) {
624
624
  this._indicatorsElement = $$$1(this._element).find(Selector.INDICATORS)[0];
625
625
 
626
626
  this._addEventListeners();
627
- } // getters
627
+ } // Getters
628
628
 
629
629
 
630
630
  var _proto = Carousel.prototype;
631
631
 
632
- // public
632
+ // Public
633
633
  _proto.next = function next() {
634
634
  if (!this._isSliding) {
635
635
  this._slide(Direction.NEXT);
@@ -719,7 +719,7 @@ var Carousel = function ($$$1) {
719
719
  this._isSliding = null;
720
720
  this._activeElement = null;
721
721
  this._indicatorsElement = null;
722
- }; // private
722
+ }; // Private
723
723
 
724
724
 
725
725
  _proto._getConfig = function _getConfig(config) {
@@ -745,7 +745,7 @@ var Carousel = function ($$$1) {
745
745
  });
746
746
 
747
747
  if ('ontouchstart' in document.documentElement) {
748
- // if it's a touch-enabled device, mouseenter/leave are fired as
748
+ // If it's a touch-enabled device, mouseenter/leave are fired as
749
749
  // part of the mouse compatibility events on first tap - the carousel
750
750
  // would stop cycling until user tapped out of it;
751
751
  // here, we listen for touchend, explicitly pause the carousel
@@ -784,7 +784,6 @@ var Carousel = function ($$$1) {
784
784
  break;
785
785
 
786
786
  default:
787
- return;
788
787
  }
789
788
  };
790
789
 
@@ -876,7 +875,7 @@ var Carousel = function ($$$1) {
876
875
  }
877
876
 
878
877
  if (!activeElement || !nextElement) {
879
- // some weirdness is happening, so we bail
878
+ // Some weirdness is happening, so we bail
880
879
  return;
881
880
  }
882
881
 
@@ -918,7 +917,7 @@ var Carousel = function ($$$1) {
918
917
  if (isCycling) {
919
918
  this.cycle();
920
919
  }
921
- }; // static
920
+ }; // Static
922
921
 
923
922
 
924
923
  Carousel._jQueryInterface = function _jQueryInterface(config) {
@@ -942,7 +941,7 @@ var Carousel = function ($$$1) {
942
941
  data.to(config);
943
942
  } else if (typeof action === 'string') {
944
943
  if (typeof data[action] === 'undefined') {
945
- throw new Error("No method named \"" + action + "\"");
944
+ throw new TypeError("No method named \"" + action + "\"");
946
945
  }
947
946
 
948
947
  data[action]();
@@ -1029,7 +1028,7 @@ var Carousel = function ($$$1) {
1029
1028
 
1030
1029
  /**
1031
1030
  * --------------------------------------------------------------------------
1032
- * Bootstrap (v4.0.0-beta.3): collapse.js
1031
+ * Bootstrap (v4.0.0): collapse.js
1033
1032
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1034
1033
  * --------------------------------------------------------------------------
1035
1034
  */
@@ -1041,7 +1040,7 @@ var Collapse = function ($$$1) {
1041
1040
  * ------------------------------------------------------------------------
1042
1041
  */
1043
1042
  var NAME = 'collapse';
1044
- var VERSION = '4.0.0-beta.3';
1043
+ var VERSION = '4.0.0';
1045
1044
  var DATA_KEY = 'bs.collapse';
1046
1045
  var EVENT_KEY = "." + DATA_KEY;
1047
1046
  var DATA_API_KEY = '.data-api';
@@ -1098,6 +1097,8 @@ var Collapse = function ($$$1) {
1098
1097
  var selector = Util.getSelectorFromElement(elem);
1099
1098
 
1100
1099
  if (selector !== null && $$$1(selector).filter(element).length > 0) {
1100
+ this._selector = selector;
1101
+
1101
1102
  this._triggerArray.push(elem);
1102
1103
  }
1103
1104
  }
@@ -1111,12 +1112,12 @@ var Collapse = function ($$$1) {
1111
1112
  if (this._config.toggle) {
1112
1113
  this.toggle();
1113
1114
  }
1114
- } // getters
1115
+ } // Getters
1115
1116
 
1116
1117
 
1117
1118
  var _proto = Collapse.prototype;
1118
1119
 
1119
- // public
1120
+ // Public
1120
1121
  _proto.toggle = function toggle() {
1121
1122
  if ($$$1(this._element).hasClass(ClassName.SHOW)) {
1122
1123
  this.hide();
@@ -1136,15 +1137,15 @@ var Collapse = function ($$$1) {
1136
1137
  var activesData;
1137
1138
 
1138
1139
  if (this._parent) {
1139
- actives = $$$1.makeArray($$$1(this._parent).children().children(Selector.ACTIVES));
1140
+ actives = $$$1.makeArray($$$1(this._parent).find(Selector.ACTIVES).filter("[data-parent=\"" + this._config.parent + "\"]"));
1140
1141
 
1141
- if (!actives.length) {
1142
+ if (actives.length === 0) {
1142
1143
  actives = null;
1143
1144
  }
1144
1145
  }
1145
1146
 
1146
1147
  if (actives) {
1147
- activesData = $$$1(actives).data(DATA_KEY);
1148
+ activesData = $$$1(actives).not(this._selector).data(DATA_KEY);
1148
1149
 
1149
1150
  if (activesData && activesData._isTransitioning) {
1150
1151
  return;
@@ -1159,7 +1160,7 @@ var Collapse = function ($$$1) {
1159
1160
  }
1160
1161
 
1161
1162
  if (actives) {
1162
- Collapse._jQueryInterface.call($$$1(actives), 'hide');
1163
+ Collapse._jQueryInterface.call($$$1(actives).not(this._selector), 'hide');
1163
1164
 
1164
1165
  if (!activesData) {
1165
1166
  $$$1(actives).data(DATA_KEY, null);
@@ -1171,7 +1172,7 @@ var Collapse = function ($$$1) {
1171
1172
  $$$1(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
1172
1173
  this._element.style[dimension] = 0;
1173
1174
 
1174
- if (this._triggerArray.length) {
1175
+ if (this._triggerArray.length > 0) {
1175
1176
  $$$1(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
1176
1177
  }
1177
1178
 
@@ -1217,7 +1218,7 @@ var Collapse = function ($$$1) {
1217
1218
  Util.reflow(this._element);
1218
1219
  $$$1(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
1219
1220
 
1220
- if (this._triggerArray.length) {
1221
+ if (this._triggerArray.length > 0) {
1221
1222
  for (var i = 0; i < this._triggerArray.length; i++) {
1222
1223
  var trigger = this._triggerArray[i];
1223
1224
  var selector = Util.getSelectorFromElement(trigger);
@@ -1261,12 +1262,12 @@ var Collapse = function ($$$1) {
1261
1262
  this._element = null;
1262
1263
  this._triggerArray = null;
1263
1264
  this._isTransitioning = null;
1264
- }; // private
1265
+ }; // Private
1265
1266
 
1266
1267
 
1267
1268
  _proto._getConfig = function _getConfig(config) {
1268
1269
  config = _extends({}, Default, config);
1269
- config.toggle = Boolean(config.toggle); // coerce string values
1270
+ config.toggle = Boolean(config.toggle); // Coerce string values
1270
1271
 
1271
1272
  Util.typeCheckConfig(NAME, config, DefaultType);
1272
1273
  return config;
@@ -1283,7 +1284,7 @@ var Collapse = function ($$$1) {
1283
1284
  var parent = null;
1284
1285
 
1285
1286
  if (Util.isElement(this._config.parent)) {
1286
- parent = this._config.parent; // it's a jQuery object
1287
+ parent = this._config.parent; // It's a jQuery object
1287
1288
 
1288
1289
  if (typeof this._config.parent.jquery !== 'undefined') {
1289
1290
  parent = this._config.parent[0];
@@ -1303,11 +1304,11 @@ var Collapse = function ($$$1) {
1303
1304
  if (element) {
1304
1305
  var isOpen = $$$1(element).hasClass(ClassName.SHOW);
1305
1306
 
1306
- if (triggerArray.length) {
1307
+ if (triggerArray.length > 0) {
1307
1308
  $$$1(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
1308
1309
  }
1309
1310
  }
1310
- }; // static
1311
+ }; // Static
1311
1312
 
1312
1313
 
1313
1314
  Collapse._getTargetFromElement = function _getTargetFromElement(element) {
@@ -1333,7 +1334,7 @@ var Collapse = function ($$$1) {
1333
1334
 
1334
1335
  if (typeof config === 'string') {
1335
1336
  if (typeof data[config] === 'undefined') {
1336
- throw new Error("No method named \"" + config + "\"");
1337
+ throw new TypeError("No method named \"" + config + "\"");
1337
1338
  }
1338
1339
 
1339
1340
  data[config]();
@@ -1396,7 +1397,7 @@ var Collapse = function ($$$1) {
1396
1397
 
1397
1398
  /**
1398
1399
  * --------------------------------------------------------------------------
1399
- * Bootstrap (v4.0.0-beta.3): dropdown.js
1400
+ * Bootstrap (v4.0.0): dropdown.js
1400
1401
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1401
1402
  * --------------------------------------------------------------------------
1402
1403
  */
@@ -1408,7 +1409,7 @@ var Dropdown = function ($$$1) {
1408
1409
  * ------------------------------------------------------------------------
1409
1410
  */
1410
1411
  var NAME = 'dropdown';
1411
- var VERSION = '4.0.0-beta.3';
1412
+ var VERSION = '4.0.0';
1412
1413
  var DATA_KEY = 'bs.dropdown';
1413
1414
  var EVENT_KEY = "." + DATA_KEY;
1414
1415
  var DATA_API_KEY = '.data-api';
@@ -1491,12 +1492,12 @@ var Dropdown = function ($$$1) {
1491
1492
  this._inNavbar = this._detectNavbar();
1492
1493
 
1493
1494
  this._addEventListeners();
1494
- } // getters
1495
+ } // Getters
1495
1496
 
1496
1497
 
1497
1498
  var _proto = Dropdown.prototype;
1498
1499
 
1499
- // public
1500
+ // Public
1500
1501
  _proto.toggle = function toggle() {
1501
1502
  if (this._element.disabled || $$$1(this._element).hasClass(ClassName.DISABLED)) {
1502
1503
  return;
@@ -1529,10 +1530,10 @@ var Dropdown = function ($$$1) {
1529
1530
  * Popper - https://popper.js.org
1530
1531
  */
1531
1532
  if (typeof Popper === 'undefined') {
1532
- throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)');
1533
+ throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
1533
1534
  }
1534
1535
 
1535
- var element = this._element; // for dropup with alignment we use the parent as popper container
1536
+ var element = this._element; // For dropup with alignment we use the parent as popper container
1536
1537
 
1537
1538
  if ($$$1(parent).hasClass(ClassName.DROPUP)) {
1538
1539
  if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
@@ -1548,13 +1549,13 @@ var Dropdown = function ($$$1) {
1548
1549
  }
1549
1550
 
1550
1551
  this._popper = new Popper(element, this._menu, this._getPopperConfig());
1551
- } // if this is a touch-enabled device we add extra
1552
+ } // If this is a touch-enabled device we add extra
1552
1553
  // empty mouseover listeners to the body's immediate children;
1553
1554
  // only needed because of broken event delegation on iOS
1554
1555
  // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
1555
1556
 
1556
1557
 
1557
- if ('ontouchstart' in document.documentElement && !$$$1(parent).closest(Selector.NAVBAR_NAV).length) {
1558
+ if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) {
1558
1559
  $$$1('body').children().on('mouseover', null, $$$1.noop);
1559
1560
  }
1560
1561
 
@@ -1585,7 +1586,7 @@ var Dropdown = function ($$$1) {
1585
1586
  if (this._popper !== null) {
1586
1587
  this._popper.scheduleUpdate();
1587
1588
  }
1588
- }; // private
1589
+ }; // Private
1589
1590
 
1590
1591
 
1591
1592
  _proto._addEventListeners = function _addEventListeners() {
@@ -1667,7 +1668,7 @@ var Dropdown = function ($$$1) {
1667
1668
  }
1668
1669
  };
1669
1670
  return popperConfig;
1670
- }; // static
1671
+ }; // Static
1671
1672
 
1672
1673
 
1673
1674
  Dropdown._jQueryInterface = function _jQueryInterface(config) {
@@ -1683,7 +1684,7 @@ var Dropdown = function ($$$1) {
1683
1684
 
1684
1685
  if (typeof config === 'string') {
1685
1686
  if (typeof data[config] === 'undefined') {
1686
- throw new Error("No method named \"" + config + "\"");
1687
+ throw new TypeError("No method named \"" + config + "\"");
1687
1688
  }
1688
1689
 
1689
1690
  data[config]();
@@ -1725,7 +1726,7 @@ var Dropdown = function ($$$1) {
1725
1726
 
1726
1727
  if (hideEvent.isDefaultPrevented()) {
1727
1728
  continue;
1728
- } // if this is a touch-enabled device we remove the extra
1729
+ } // If this is a touch-enabled device we remove the extra
1729
1730
  // empty mouseover listeners we added for iOS support
1730
1731
 
1731
1732
 
@@ -1748,7 +1749,8 @@ var Dropdown = function ($$$1) {
1748
1749
  }
1749
1750
 
1750
1751
  return parent || element.parentNode;
1751
- };
1752
+ }; // eslint-disable-next-line complexity
1753
+
1752
1754
 
1753
1755
  Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
1754
1756
  // If not input/textarea:
@@ -1785,19 +1787,19 @@ var Dropdown = function ($$$1) {
1785
1787
 
1786
1788
  var items = $$$1(parent).find(Selector.VISIBLE_ITEMS).get();
1787
1789
 
1788
- if (!items.length) {
1790
+ if (items.length === 0) {
1789
1791
  return;
1790
1792
  }
1791
1793
 
1792
1794
  var index = items.indexOf(event.target);
1793
1795
 
1794
1796
  if (event.which === ARROW_UP_KEYCODE && index > 0) {
1795
- // up
1797
+ // Up
1796
1798
  index--;
1797
1799
  }
1798
1800
 
1799
1801
  if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
1800
- // down
1802
+ // Down
1801
1803
  index++;
1802
1804
  }
1803
1805
 
@@ -1860,7 +1862,7 @@ var Dropdown = function ($$$1) {
1860
1862
 
1861
1863
  /**
1862
1864
  * --------------------------------------------------------------------------
1863
- * Bootstrap (v4.0.0-beta.3): modal.js
1865
+ * Bootstrap (v4.0.0): modal.js
1864
1866
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1865
1867
  * --------------------------------------------------------------------------
1866
1868
  */
@@ -1872,7 +1874,7 @@ var Modal = function ($$$1) {
1872
1874
  * ------------------------------------------------------------------------
1873
1875
  */
1874
1876
  var NAME = 'modal';
1875
- var VERSION = '4.0.0-beta.3';
1877
+ var VERSION = '4.0.0';
1876
1878
  var DATA_KEY = 'bs.modal';
1877
1879
  var EVENT_KEY = "." + DATA_KEY;
1878
1880
  var DATA_API_KEY = '.data-api';
@@ -1941,12 +1943,12 @@ var Modal = function ($$$1) {
1941
1943
  this._ignoreBackdropClick = false;
1942
1944
  this._originalBodyPadding = 0;
1943
1945
  this._scrollbarWidth = 0;
1944
- } // getters
1946
+ } // Getters
1945
1947
 
1946
1948
 
1947
1949
  var _proto = Modal.prototype;
1948
1950
 
1949
- // public
1951
+ // Public
1950
1952
  _proto.toggle = function toggle(relatedTarget) {
1951
1953
  return this._isShown ? this.hide() : this.show(relatedTarget);
1952
1954
  };
@@ -2059,7 +2061,7 @@ var Modal = function ($$$1) {
2059
2061
 
2060
2062
  _proto.handleUpdate = function handleUpdate() {
2061
2063
  this._adjustDialog();
2062
- }; // private
2064
+ }; // Private
2063
2065
 
2064
2066
 
2065
2067
  _proto._getConfig = function _getConfig(config) {
@@ -2074,7 +2076,7 @@ var Modal = function ($$$1) {
2074
2076
  var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
2075
2077
 
2076
2078
  if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
2077
- // don't move modals dom position
2079
+ // Don't move modal's DOM position
2078
2080
  document.body.appendChild(this._element);
2079
2081
  }
2080
2082
 
@@ -2117,9 +2119,9 @@ var Modal = function ($$$1) {
2117
2119
  _proto._enforceFocus = function _enforceFocus() {
2118
2120
  var _this4 = this;
2119
2121
 
2120
- $$$1(document).off(Event.FOCUSIN) // guard against infinite focus loop
2122
+ $$$1(document).off(Event.FOCUSIN) // Guard against infinite focus loop
2121
2123
  .on(Event.FOCUSIN, function (event) {
2122
- if (document !== event.target && _this4._element !== event.target && !$$$1(_this4._element).has(event.target).length) {
2124
+ if (document !== event.target && _this4._element !== event.target && $$$1(_this4._element).has(event.target).length === 0) {
2123
2125
  _this4._element.focus();
2124
2126
  }
2125
2127
  });
@@ -2340,7 +2342,7 @@ var Modal = function ($$$1) {
2340
2342
  var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
2341
2343
  document.body.removeChild(scrollDiv);
2342
2344
  return scrollbarWidth;
2343
- }; // static
2345
+ }; // Static
2344
2346
 
2345
2347
 
2346
2348
  Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
@@ -2356,7 +2358,7 @@ var Modal = function ($$$1) {
2356
2358
 
2357
2359
  if (typeof config === 'string') {
2358
2360
  if (typeof data[config] === 'undefined') {
2359
- throw new Error("No method named \"" + config + "\"");
2361
+ throw new TypeError("No method named \"" + config + "\"");
2360
2362
  }
2361
2363
 
2362
2364
  data[config](relatedTarget);
@@ -2404,7 +2406,7 @@ var Modal = function ($$$1) {
2404
2406
 
2405
2407
  var $target = $$$1(target).one(Event.SHOW, function (showEvent) {
2406
2408
  if (showEvent.isDefaultPrevented()) {
2407
- // only register focus restorer if modal will actually get shown
2409
+ // Only register focus restorer if modal will actually get shown
2408
2410
  return;
2409
2411
  }
2410
2412
 
@@ -2436,7 +2438,7 @@ var Modal = function ($$$1) {
2436
2438
 
2437
2439
  /**
2438
2440
  * --------------------------------------------------------------------------
2439
- * Bootstrap (v4.0.0-beta.3): tooltip.js
2441
+ * Bootstrap (v4.0.0): tooltip.js
2440
2442
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2441
2443
  * --------------------------------------------------------------------------
2442
2444
  */
@@ -2448,7 +2450,7 @@ var Tooltip = function ($$$1) {
2448
2450
  * ------------------------------------------------------------------------
2449
2451
  */
2450
2452
  var NAME = 'tooltip';
2451
- var VERSION = '4.0.0-beta.3';
2453
+ var VERSION = '4.0.0';
2452
2454
  var DATA_KEY = 'bs.tooltip';
2453
2455
  var EVENT_KEY = "." + DATA_KEY;
2454
2456
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
@@ -2537,7 +2539,7 @@ var Tooltip = function ($$$1) {
2537
2539
  * Popper - https://popper.js.org
2538
2540
  */
2539
2541
  if (typeof Popper === 'undefined') {
2540
- throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)');
2542
+ throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)');
2541
2543
  } // private
2542
2544
 
2543
2545
 
@@ -2545,19 +2547,19 @@ var Tooltip = function ($$$1) {
2545
2547
  this._timeout = 0;
2546
2548
  this._hoverState = '';
2547
2549
  this._activeTrigger = {};
2548
- this._popper = null; // protected
2550
+ this._popper = null; // Protected
2549
2551
 
2550
2552
  this.element = element;
2551
2553
  this.config = this._getConfig(config);
2552
2554
  this.tip = null;
2553
2555
 
2554
2556
  this._setListeners();
2555
- } // getters
2557
+ } // Getters
2556
2558
 
2557
2559
 
2558
2560
  var _proto = Tooltip.prototype;
2559
2561
 
2560
- // public
2562
+ // Public
2561
2563
  _proto.enable = function enable() {
2562
2564
  this._isEnabled = true;
2563
2565
  };
@@ -2692,7 +2694,7 @@ var Tooltip = function ($$$1) {
2692
2694
  _this._handlePopperPlacementChange(data);
2693
2695
  }
2694
2696
  });
2695
- $$$1(tip).addClass(ClassName.SHOW); // if this is a touch-enabled device we add extra
2697
+ $$$1(tip).addClass(ClassName.SHOW); // If this is a touch-enabled device we add extra
2696
2698
  // empty mouseover listeners to the body's immediate children;
2697
2699
  // only needed because of broken event delegation on iOS
2698
2700
  // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
@@ -2755,7 +2757,7 @@ var Tooltip = function ($$$1) {
2755
2757
  return;
2756
2758
  }
2757
2759
 
2758
- $$$1(tip).removeClass(ClassName.SHOW); // if this is a touch-enabled device we remove the extra
2760
+ $$$1(tip).removeClass(ClassName.SHOW); // If this is a touch-enabled device we remove the extra
2759
2761
  // empty mouseover listeners we added for iOS support
2760
2762
 
2761
2763
  if ('ontouchstart' in document.documentElement) {
@@ -2779,7 +2781,7 @@ var Tooltip = function ($$$1) {
2779
2781
  if (this._popper !== null) {
2780
2782
  this._popper.scheduleUpdate();
2781
2783
  }
2782
- }; // protected
2784
+ }; // Protected
2783
2785
 
2784
2786
 
2785
2787
  _proto.isWithContent = function isWithContent() {
@@ -2805,7 +2807,7 @@ var Tooltip = function ($$$1) {
2805
2807
  var html = this.config.html;
2806
2808
 
2807
2809
  if (typeof content === 'object' && (content.nodeType || content.jquery)) {
2808
- // content is a DOM node or a jQuery
2810
+ // Content is a DOM node or a jQuery
2809
2811
  if (html) {
2810
2812
  if (!$$$1(content).parent().is($element)) {
2811
2813
  $element.empty().append(content);
@@ -2826,7 +2828,7 @@ var Tooltip = function ($$$1) {
2826
2828
  }
2827
2829
 
2828
2830
  return title;
2829
- }; // private
2831
+ }; // Private
2830
2832
 
2831
2833
 
2832
2834
  _proto._getAttachment = function _getAttachment(placement) {
@@ -3015,7 +3017,7 @@ var Tooltip = function ($$$1) {
3015
3017
  this.hide();
3016
3018
  this.show();
3017
3019
  this.config.animation = initConfigAnimation;
3018
- }; // static
3020
+ }; // Static
3019
3021
 
3020
3022
 
3021
3023
  Tooltip._jQueryInterface = function _jQueryInterface(config) {
@@ -3035,7 +3037,7 @@ var Tooltip = function ($$$1) {
3035
3037
 
3036
3038
  if (typeof config === 'string') {
3037
3039
  if (typeof data[config] === 'undefined') {
3038
- throw new Error("No method named \"" + config + "\"");
3040
+ throw new TypeError("No method named \"" + config + "\"");
3039
3041
  }
3040
3042
 
3041
3043
  data[config]();
@@ -3101,7 +3103,7 @@ var Tooltip = function ($$$1) {
3101
3103
 
3102
3104
  /**
3103
3105
  * --------------------------------------------------------------------------
3104
- * Bootstrap (v4.0.0-beta.3): popover.js
3106
+ * Bootstrap (v4.0.0): popover.js
3105
3107
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
3106
3108
  * --------------------------------------------------------------------------
3107
3109
  */
@@ -3113,7 +3115,7 @@ var Popover = function ($$$1) {
3113
3115
  * ------------------------------------------------------------------------
3114
3116
  */
3115
3117
  var NAME = 'popover';
3116
- var VERSION = '4.0.0-beta.3';
3118
+ var VERSION = '4.0.0';
3117
3119
  var DATA_KEY = 'bs.popover';
3118
3120
  var EVENT_KEY = "." + DATA_KEY;
3119
3121
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
@@ -3166,7 +3168,7 @@ var Popover = function ($$$1) {
3166
3168
 
3167
3169
  var _proto = Popover.prototype;
3168
3170
 
3169
- // overrides
3171
+ // Overrides
3170
3172
  _proto.isWithContent = function isWithContent() {
3171
3173
  return this.getTitle() || this._getContent();
3172
3174
  };
@@ -3181,7 +3183,7 @@ var Popover = function ($$$1) {
3181
3183
  };
3182
3184
 
3183
3185
  _proto.setContent = function setContent() {
3184
- var $tip = $$$1(this.getTipElement()); // we use append for html objects to maintain js events
3186
+ var $tip = $$$1(this.getTipElement()); // We use append for html objects to maintain js events
3185
3187
 
3186
3188
  this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
3187
3189
 
@@ -3193,7 +3195,7 @@ var Popover = function ($$$1) {
3193
3195
 
3194
3196
  this.setElementContent($tip.find(Selector.CONTENT), content);
3195
3197
  $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
3196
- }; // private
3198
+ }; // Private
3197
3199
 
3198
3200
 
3199
3201
  _proto._getContent = function _getContent() {
@@ -3207,7 +3209,7 @@ var Popover = function ($$$1) {
3207
3209
  if (tabClass !== null && tabClass.length > 0) {
3208
3210
  $tip.removeClass(tabClass.join(''));
3209
3211
  }
3210
- }; // static
3212
+ }; // Static
3211
3213
 
3212
3214
 
3213
3215
  Popover._jQueryInterface = function _jQueryInterface(config) {
@@ -3227,7 +3229,7 @@ var Popover = function ($$$1) {
3227
3229
 
3228
3230
  if (typeof config === 'string') {
3229
3231
  if (typeof data[config] === 'undefined') {
3230
- throw new Error("No method named \"" + config + "\"");
3232
+ throw new TypeError("No method named \"" + config + "\"");
3231
3233
  }
3232
3234
 
3233
3235
  data[config]();
@@ -3237,7 +3239,7 @@ var Popover = function ($$$1) {
3237
3239
 
3238
3240
  _createClass(Popover, null, [{
3239
3241
  key: "VERSION",
3240
- // getters
3242
+ // Getters
3241
3243
  get: function get() {
3242
3244
  return VERSION;
3243
3245
  }
@@ -3294,7 +3296,7 @@ var Popover = function ($$$1) {
3294
3296
 
3295
3297
  /**
3296
3298
  * --------------------------------------------------------------------------
3297
- * Bootstrap (v4.0.0-beta.3): scrollspy.js
3299
+ * Bootstrap (v4.0.0): scrollspy.js
3298
3300
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
3299
3301
  * --------------------------------------------------------------------------
3300
3302
  */
@@ -3306,7 +3308,7 @@ var ScrollSpy = function ($$$1) {
3306
3308
  * ------------------------------------------------------------------------
3307
3309
  */
3308
3310
  var NAME = 'scrollspy';
3309
- var VERSION = '4.0.0-beta.3';
3311
+ var VERSION = '4.0.0';
3310
3312
  var DATA_KEY = 'bs.scrollspy';
3311
3313
  var EVENT_KEY = "." + DATA_KEY;
3312
3314
  var DATA_API_KEY = '.data-api';
@@ -3373,16 +3375,16 @@ var ScrollSpy = function ($$$1) {
3373
3375
  this.refresh();
3374
3376
 
3375
3377
  this._process();
3376
- } // getters
3378
+ } // Getters
3377
3379
 
3378
3380
 
3379
3381
  var _proto = ScrollSpy.prototype;
3380
3382
 
3381
- // public
3383
+ // Public
3382
3384
  _proto.refresh = function refresh() {
3383
3385
  var _this2 = this;
3384
3386
 
3385
- var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
3387
+ var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
3386
3388
  var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
3387
3389
  var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
3388
3390
  this._offsets = [];
@@ -3401,7 +3403,7 @@ var ScrollSpy = function ($$$1) {
3401
3403
  var targetBCR = target.getBoundingClientRect();
3402
3404
 
3403
3405
  if (targetBCR.width || targetBCR.height) {
3404
- // todo (fat): remove sketch reliance on jQuery position/offset
3406
+ // TODO (fat): remove sketch reliance on jQuery position/offset
3405
3407
  return [$$$1(target)[offsetMethod]().top + offsetBase, targetSelector];
3406
3408
  }
3407
3409
  }
@@ -3429,7 +3431,7 @@ var ScrollSpy = function ($$$1) {
3429
3431
  this._targets = null;
3430
3432
  this._activeTarget = null;
3431
3433
  this._scrollHeight = null;
3432
- }; // private
3434
+ }; // Private
3433
3435
 
3434
3436
 
3435
3437
  _proto._getConfig = function _getConfig(config) {
@@ -3533,7 +3535,7 @@ var ScrollSpy = function ($$$1) {
3533
3535
 
3534
3536
  _proto._clear = function _clear() {
3535
3537
  $$$1(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
3536
- }; // static
3538
+ }; // Static
3537
3539
 
3538
3540
 
3539
3541
  ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
@@ -3549,7 +3551,7 @@ var ScrollSpy = function ($$$1) {
3549
3551
 
3550
3552
  if (typeof config === 'string') {
3551
3553
  if (typeof data[config] === 'undefined') {
3552
- throw new Error("No method named \"" + config + "\"");
3554
+ throw new TypeError("No method named \"" + config + "\"");
3553
3555
  }
3554
3556
 
3555
3557
  data[config]();
@@ -3605,7 +3607,7 @@ var ScrollSpy = function ($$$1) {
3605
3607
 
3606
3608
  /**
3607
3609
  * --------------------------------------------------------------------------
3608
- * Bootstrap (v4.0.0-beta.3): tab.js
3610
+ * Bootstrap (v4.0.0): tab.js
3609
3611
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
3610
3612
  * --------------------------------------------------------------------------
3611
3613
  */
@@ -3617,7 +3619,7 @@ var Tab = function ($$$1) {
3617
3619
  * ------------------------------------------------------------------------
3618
3620
  */
3619
3621
  var NAME = 'tab';
3620
- var VERSION = '4.0.0-beta.3';
3622
+ var VERSION = '4.0.0';
3621
3623
  var DATA_KEY = 'bs.tab';
3622
3624
  var EVENT_KEY = "." + DATA_KEY;
3623
3625
  var DATA_API_KEY = '.data-api';
@@ -3658,12 +3660,12 @@ var Tab = function ($$$1) {
3658
3660
  function () {
3659
3661
  function Tab(element) {
3660
3662
  this._element = element;
3661
- } // getters
3663
+ } // Getters
3662
3664
 
3663
3665
 
3664
3666
  var _proto = Tab.prototype;
3665
3667
 
3666
- // public
3668
+ // Public
3667
3669
  _proto.show = function show() {
3668
3670
  var _this = this;
3669
3671
 
@@ -3726,7 +3728,7 @@ var Tab = function ($$$1) {
3726
3728
  _proto.dispose = function dispose() {
3727
3729
  $$$1.removeData(this._element, DATA_KEY);
3728
3730
  this._element = null;
3729
- }; // private
3731
+ }; // Private
3730
3732
 
3731
3733
 
3732
3734
  _proto._activate = function _activate(element, container, callback) {
@@ -3790,7 +3792,7 @@ var Tab = function ($$$1) {
3790
3792
  if (callback) {
3791
3793
  callback();
3792
3794
  }
3793
- }; // static
3795
+ }; // Static
3794
3796
 
3795
3797
 
3796
3798
  Tab._jQueryInterface = function _jQueryInterface(config) {
@@ -3805,7 +3807,7 @@ var Tab = function ($$$1) {
3805
3807
 
3806
3808
  if (typeof config === 'string') {
3807
3809
  if (typeof data[config] === 'undefined') {
3808
- throw new Error("No method named \"" + config + "\"");
3810
+ throw new TypeError("No method named \"" + config + "\"");
3809
3811
  }
3810
3812
 
3811
3813
  data[config]();
@@ -3859,7 +3861,7 @@ var Tab = function ($$$1) {
3859
3861
 
3860
3862
  (function ($$$1) {
3861
3863
  if (typeof $$$1 === 'undefined') {
3862
- throw new Error('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
3864
+ throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
3863
3865
  }
3864
3866
 
3865
3867
  var version = $$$1.fn.jquery.split(' ')[0].split('.');