bootstrap 4.1.1 → 4.1.2

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 (32) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +1 -1
  3. data/assets/javascripts/bootstrap-sprockets.js +5 -5
  4. data/assets/javascripts/bootstrap.js +123 -106
  5. data/assets/javascripts/bootstrap.min.js +2 -2
  6. data/assets/javascripts/bootstrap/alert.js +3 -3
  7. data/assets/javascripts/bootstrap/button.js +7 -7
  8. data/assets/javascripts/bootstrap/carousel.js +15 -12
  9. data/assets/javascripts/bootstrap/collapse.js +25 -17
  10. data/assets/javascripts/bootstrap/dropdown.js +15 -9
  11. data/assets/javascripts/bootstrap/modal.js +22 -29
  12. data/assets/javascripts/bootstrap/popover.js +2 -2
  13. data/assets/javascripts/bootstrap/scrollspy.js +13 -9
  14. data/assets/javascripts/bootstrap/tab.js +5 -4
  15. data/assets/javascripts/bootstrap/tooltip.js +12 -9
  16. data/assets/javascripts/bootstrap/util.js +2 -3
  17. data/assets/stylesheets/_bootstrap-grid.scss +1 -1
  18. data/assets/stylesheets/_bootstrap-reboot.scss +1 -1
  19. data/assets/stylesheets/_bootstrap.scss +1 -1
  20. data/assets/stylesheets/bootstrap/_carousel.scss +1 -1
  21. data/assets/stylesheets/bootstrap/_close.scss +8 -7
  22. data/assets/stylesheets/bootstrap/_custom-forms.scss +19 -1
  23. data/assets/stylesheets/bootstrap/_functions.scss +1 -1
  24. data/assets/stylesheets/bootstrap/_input-group.scss +7 -5
  25. data/assets/stylesheets/bootstrap/_navbar.scss +2 -2
  26. data/assets/stylesheets/bootstrap/_reboot.scss +1 -0
  27. data/assets/stylesheets/bootstrap/_variables.scss +78 -56
  28. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +1 -1
  29. data/assets/stylesheets/bootstrap/mixins/_hover.scss +1 -1
  30. data/lib/bootstrap/version.rb +2 -2
  31. data/test/test_helper.rb +7 -6
  32. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: bb7422d7248d75e05dc33e1f6c63ac8214bf5a88
4
- data.tar.gz: 3110db26e7476d67db4fa670afbcd8976eb0b546
2
+ SHA256:
3
+ metadata.gz: 153b950a0d7bf12cc36e6898389f1bf72851946b1b97f91e41f0b1de1c080661
4
+ data.tar.gz: 3b2cb9f868ed3c783a139269c80d96f9f0eae485c99dc9991242830749882f6b
5
5
  SHA512:
6
- metadata.gz: 664efa0308c49ceb980209066c0c0db050d9e3dd2fa8dbd201fcfe65ff5ab67a1dd5f26bcf6e0795e32b3b3458d25bba431fb86ed540dfb41264e15ada401d7a
7
- data.tar.gz: 4000c5451bbfc6ec8b2134b9c185fdc45e1061ec2222e0a7159e679803eab8b8b85fc438da2735af5ac7fb59cf89db238b5eabe9b5c5a953b738ee50160c0d21
6
+ metadata.gz: '06895617ca3e4d8f5cd472147bf21c6c6fbf25611318b9c86210b5243fa11f2703a80eac5ae3692e0290b6388bfa85df0f8082e28f79ba3125ab3672b77ffef6'
7
+ data.tar.gz: e0315dad209795ac44fa3bcd143b896b0720e569decc58da770e201b02e4887f621f50d4cf704ddae1f7c6553484662909eb1f57cb66298ccb1afcf38e4ce949
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.1.1'
20
+ gem 'bootstrap', '~> 4.1.2'
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
2
  //= require ./bootstrap/collapse
3
3
  //= require ./bootstrap/carousel
4
- //= require ./bootstrap/tooltip
5
- //= require ./bootstrap/tab
6
- //= require ./bootstrap/scrollspy
7
4
  //= require ./bootstrap/modal
8
- //= require ./bootstrap/popover
9
5
  //= require ./bootstrap/alert
10
- //= require ./bootstrap/dropdown
11
6
  //= require ./bootstrap/button
7
+ //= require ./bootstrap/dropdown
8
+ //= require ./bootstrap/tooltip
9
+ //= require ./bootstrap/popover
10
+ //= require ./bootstrap/scrollspy
11
+ //= require ./bootstrap/tab
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap v4.1.1 (https://getbootstrap.com/)
2
+ * Bootstrap v4.1.2 (https://getbootstrap.com/)
3
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
  */
@@ -70,7 +70,7 @@
70
70
 
71
71
  /**
72
72
  * --------------------------------------------------------------------------
73
- * Bootstrap (v4.1.1): util.js
73
+ * Bootstrap (v4.1.2): util.js
74
74
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
75
75
  * --------------------------------------------------------------------------
76
76
  */
@@ -147,8 +147,7 @@
147
147
  }
148
148
 
149
149
  try {
150
- var $selector = $$$1(document).find(selector);
151
- return $selector.length > 0 ? selector : null;
150
+ return document.querySelector(selector) ? selector : null;
152
151
  } catch (err) {
153
152
  return null;
154
153
  }
@@ -203,7 +202,7 @@
203
202
 
204
203
  /**
205
204
  * --------------------------------------------------------------------------
206
- * Bootstrap (v4.1.1): alert.js
205
+ * Bootstrap (v4.1.2): alert.js
207
206
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
208
207
  * --------------------------------------------------------------------------
209
208
  */
@@ -215,7 +214,7 @@
215
214
  * ------------------------------------------------------------------------
216
215
  */
217
216
  var NAME = 'alert';
218
- var VERSION = '4.1.1';
217
+ var VERSION = '4.1.2';
219
218
  var DATA_KEY = 'bs.alert';
220
219
  var EVENT_KEY = "." + DATA_KEY;
221
220
  var DATA_API_KEY = '.data-api';
@@ -278,7 +277,7 @@
278
277
  var parent = false;
279
278
 
280
279
  if (selector) {
281
- parent = $$$1(selector)[0];
280
+ parent = document.querySelector(selector);
282
281
  }
283
282
 
284
283
  if (!parent) {
@@ -378,7 +377,7 @@
378
377
 
379
378
  /**
380
379
  * --------------------------------------------------------------------------
381
- * Bootstrap (v4.1.1): button.js
380
+ * Bootstrap (v4.1.2): button.js
382
381
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
383
382
  * --------------------------------------------------------------------------
384
383
  */
@@ -390,7 +389,7 @@
390
389
  * ------------------------------------------------------------------------
391
390
  */
392
391
  var NAME = 'button';
393
- var VERSION = '4.1.1';
392
+ var VERSION = '4.1.2';
394
393
  var DATA_KEY = 'bs.button';
395
394
  var EVENT_KEY = "." + DATA_KEY;
396
395
  var DATA_API_KEY = '.data-api';
@@ -435,14 +434,14 @@
435
434
  var rootElement = $$$1(this._element).closest(Selector.DATA_TOGGLE)[0];
436
435
 
437
436
  if (rootElement) {
438
- var input = $$$1(this._element).find(Selector.INPUT)[0];
437
+ var input = this._element.querySelector(Selector.INPUT);
439
438
 
440
439
  if (input) {
441
440
  if (input.type === 'radio') {
442
- if (input.checked && $$$1(this._element).hasClass(ClassName.ACTIVE)) {
441
+ if (input.checked && this._element.classList.contains(ClassName.ACTIVE)) {
443
442
  triggerChangeEvent = false;
444
443
  } else {
445
- var activeElement = $$$1(rootElement).find(Selector.ACTIVE)[0];
444
+ var activeElement = rootElement.querySelector(Selector.ACTIVE);
446
445
 
447
446
  if (activeElement) {
448
447
  $$$1(activeElement).removeClass(ClassName.ACTIVE);
@@ -455,7 +454,7 @@
455
454
  return;
456
455
  }
457
456
 
458
- input.checked = !$$$1(this._element).hasClass(ClassName.ACTIVE);
457
+ input.checked = !this._element.classList.contains(ClassName.ACTIVE);
459
458
  $$$1(input).trigger('change');
460
459
  }
461
460
 
@@ -465,7 +464,7 @@
465
464
  }
466
465
 
467
466
  if (addAriaPressed) {
468
- this._element.setAttribute('aria-pressed', !$$$1(this._element).hasClass(ClassName.ACTIVE));
467
+ this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName.ACTIVE));
469
468
  }
470
469
 
471
470
  if (triggerChangeEvent) {
@@ -542,7 +541,7 @@
542
541
 
543
542
  /**
544
543
  * --------------------------------------------------------------------------
545
- * Bootstrap (v4.1.1): carousel.js
544
+ * Bootstrap (v4.1.2): carousel.js
546
545
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
547
546
  * --------------------------------------------------------------------------
548
547
  */
@@ -554,7 +553,7 @@
554
553
  * ------------------------------------------------------------------------
555
554
  */
556
555
  var NAME = 'carousel';
557
- var VERSION = '4.1.1';
556
+ var VERSION = '4.1.2';
558
557
  var DATA_KEY = 'bs.carousel';
559
558
  var EVENT_KEY = "." + DATA_KEY;
560
559
  var DATA_API_KEY = '.data-api';
@@ -633,7 +632,7 @@
633
632
  this.touchTimeout = null;
634
633
  this._config = this._getConfig(config);
635
634
  this._element = $$$1(element)[0];
636
- this._indicatorsElement = $$$1(this._element).find(Selector.INDICATORS)[0];
635
+ this._indicatorsElement = this._element.querySelector(Selector.INDICATORS);
637
636
 
638
637
  this._addEventListeners();
639
638
  } // Getters
@@ -667,7 +666,7 @@
667
666
  this._isPaused = true;
668
667
  }
669
668
 
670
- if ($$$1(this._element).find(Selector.NEXT_PREV)[0]) {
669
+ if (this._element.querySelector(Selector.NEXT_PREV)) {
671
670
  Util.triggerTransitionEnd(this._element);
672
671
  this.cycle(true);
673
672
  }
@@ -694,7 +693,7 @@
694
693
  _proto.to = function to(index) {
695
694
  var _this = this;
696
695
 
697
- this._activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
696
+ this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM);
698
697
 
699
698
  var activeIndex = this._getItemIndex(this._activeElement);
700
699
 
@@ -800,7 +799,7 @@
800
799
  };
801
800
 
802
801
  _proto._getItemIndex = function _getItemIndex(element) {
803
- this._items = $$$1.makeArray($$$1(element).parent().find(Selector.ITEM));
802
+ this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM)) : [];
804
803
  return this._items.indexOf(element);
805
804
  };
806
805
 
@@ -825,7 +824,7 @@
825
824
  _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
826
825
  var targetIndex = this._getItemIndex(relatedTarget);
827
826
 
828
- var fromIndex = this._getItemIndex($$$1(this._element).find(Selector.ACTIVE_ITEM)[0]);
827
+ var fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM));
829
828
 
830
829
  var slideEvent = $$$1.Event(Event.SLIDE, {
831
830
  relatedTarget: relatedTarget,
@@ -839,7 +838,8 @@
839
838
 
840
839
  _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
841
840
  if (this._indicatorsElement) {
842
- $$$1(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
841
+ var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE));
842
+ $$$1(indicators).removeClass(ClassName.ACTIVE);
843
843
 
844
844
  var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
845
845
 
@@ -852,7 +852,7 @@
852
852
  _proto._slide = function _slide(direction, element) {
853
853
  var _this3 = this;
854
854
 
855
- var activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
855
+ var activeElement = this._element.querySelector(Selector.ACTIVE_ITEM);
856
856
 
857
857
  var activeElementIndex = this._getItemIndex(activeElement);
858
858
 
@@ -1018,11 +1018,13 @@
1018
1018
 
1019
1019
  $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
1020
1020
  $$$1(window).on(Event.LOAD_DATA_API, function () {
1021
- $$$1(Selector.DATA_RIDE).each(function () {
1022
- var $carousel = $$$1(this);
1021
+ var carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE));
1022
+
1023
+ for (var i = 0, len = carousels.length; i < len; i++) {
1024
+ var $carousel = $$$1(carousels[i]);
1023
1025
 
1024
1026
  Carousel._jQueryInterface.call($carousel, $carousel.data());
1025
- });
1027
+ }
1026
1028
  });
1027
1029
  /**
1028
1030
  * ------------------------------------------------------------------------
@@ -1043,7 +1045,7 @@
1043
1045
 
1044
1046
  /**
1045
1047
  * --------------------------------------------------------------------------
1046
- * Bootstrap (v4.1.1): collapse.js
1048
+ * Bootstrap (v4.1.2): collapse.js
1047
1049
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1048
1050
  * --------------------------------------------------------------------------
1049
1051
  */
@@ -1055,7 +1057,7 @@
1055
1057
  * ------------------------------------------------------------------------
1056
1058
  */
1057
1059
  var NAME = 'collapse';
1058
- var VERSION = '4.1.1';
1060
+ var VERSION = '4.1.2';
1059
1061
  var DATA_KEY = 'bs.collapse';
1060
1062
  var EVENT_KEY = "." + DATA_KEY;
1061
1063
  var DATA_API_KEY = '.data-api';
@@ -1103,14 +1105,17 @@
1103
1105
  this._isTransitioning = false;
1104
1106
  this._element = element;
1105
1107
  this._config = this._getConfig(config);
1106
- this._triggerArray = $$$1.makeArray($$$1("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
1107
- var tabToggles = $$$1(Selector.DATA_TOGGLE);
1108
+ this._triggerArray = $$$1.makeArray(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
1109
+ var toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE));
1108
1110
 
1109
- for (var i = 0; i < tabToggles.length; i++) {
1110
- var elem = tabToggles[i];
1111
+ for (var i = 0, len = toggleList.length; i < len; i++) {
1112
+ var elem = toggleList[i];
1111
1113
  var selector = Util.getSelectorFromElement(elem);
1114
+ var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) {
1115
+ return foundElem === element;
1116
+ });
1112
1117
 
1113
- if (selector !== null && $$$1(selector).filter(element).length > 0) {
1118
+ if (selector !== null && filterElement.length > 0) {
1114
1119
  this._selector = selector;
1115
1120
 
1116
1121
  this._triggerArray.push(elem);
@@ -1151,7 +1156,9 @@
1151
1156
  var activesData;
1152
1157
 
1153
1158
  if (this._parent) {
1154
- actives = $$$1.makeArray($$$1(this._parent).find(Selector.ACTIVES).filter("[data-parent=\"" + this._config.parent + "\"]"));
1159
+ actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES)).filter(function (elem) {
1160
+ return elem.getAttribute('data-parent') === _this._config.parent;
1161
+ });
1155
1162
 
1156
1163
  if (actives.length === 0) {
1157
1164
  actives = null;
@@ -1186,7 +1193,7 @@
1186
1193
  $$$1(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
1187
1194
  this._element.style[dimension] = 0;
1188
1195
 
1189
- if (this._triggerArray.length > 0) {
1196
+ if (this._triggerArray.length) {
1190
1197
  $$$1(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
1191
1198
  }
1192
1199
 
@@ -1227,14 +1234,15 @@
1227
1234
  this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
1228
1235
  Util.reflow(this._element);
1229
1236
  $$$1(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
1237
+ var triggerArrayLength = this._triggerArray.length;
1230
1238
 
1231
- if (this._triggerArray.length > 0) {
1232
- for (var i = 0; i < this._triggerArray.length; i++) {
1239
+ if (triggerArrayLength > 0) {
1240
+ for (var i = 0; i < triggerArrayLength; i++) {
1233
1241
  var trigger = this._triggerArray[i];
1234
1242
  var selector = Util.getSelectorFromElement(trigger);
1235
1243
 
1236
1244
  if (selector !== null) {
1237
- var $elem = $$$1(selector);
1245
+ var $elem = $$$1([].slice.call(document.querySelectorAll(selector)));
1238
1246
 
1239
1247
  if (!$elem.hasClass(ClassName.SHOW)) {
1240
1248
  $$$1(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
@@ -1295,11 +1303,12 @@
1295
1303
  parent = this._config.parent[0];
1296
1304
  }
1297
1305
  } else {
1298
- parent = $$$1(this._config.parent)[0];
1306
+ parent = document.querySelector(this._config.parent);
1299
1307
  }
1300
1308
 
1301
1309
  var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
1302
- $$$1(parent).find(selector).each(function (i, element) {
1310
+ var children = [].slice.call(parent.querySelectorAll(selector));
1311
+ $$$1(children).each(function (i, element) {
1303
1312
  _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
1304
1313
  });
1305
1314
  return parent;
@@ -1309,7 +1318,7 @@
1309
1318
  if (element) {
1310
1319
  var isOpen = $$$1(element).hasClass(ClassName.SHOW);
1311
1320
 
1312
- if (triggerArray.length > 0) {
1321
+ if (triggerArray.length) {
1313
1322
  $$$1(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
1314
1323
  }
1315
1324
  }
@@ -1318,7 +1327,7 @@
1318
1327
 
1319
1328
  Collapse._getTargetFromElement = function _getTargetFromElement(element) {
1320
1329
  var selector = Util.getSelectorFromElement(element);
1321
- return selector ? $$$1(selector)[0] : null;
1330
+ return selector ? document.querySelector(selector) : null;
1322
1331
  };
1323
1332
 
1324
1333
  Collapse._jQueryInterface = function _jQueryInterface(config) {
@@ -1376,7 +1385,8 @@
1376
1385
 
1377
1386
  var $trigger = $$$1(this);
1378
1387
  var selector = Util.getSelectorFromElement(this);
1379
- $$$1(selector).each(function () {
1388
+ var selectors = [].slice.call(document.querySelectorAll(selector));
1389
+ $$$1(selectors).each(function () {
1380
1390
  var $target = $$$1(this);
1381
1391
  var data = $target.data(DATA_KEY);
1382
1392
  var config = data ? 'toggle' : $trigger.data();
@@ -1403,7 +1413,7 @@
1403
1413
 
1404
1414
  /**
1405
1415
  * --------------------------------------------------------------------------
1406
- * Bootstrap (v4.1.1): dropdown.js
1416
+ * Bootstrap (v4.1.2): dropdown.js
1407
1417
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1408
1418
  * --------------------------------------------------------------------------
1409
1419
  */
@@ -1415,7 +1425,7 @@
1415
1425
  * ------------------------------------------------------------------------
1416
1426
  */
1417
1427
  var NAME = 'dropdown';
1418
- var VERSION = '4.1.1';
1428
+ var VERSION = '4.1.2';
1419
1429
  var DATA_KEY = 'bs.dropdown';
1420
1430
  var EVENT_KEY = "." + DATA_KEY;
1421
1431
  var DATA_API_KEY = '.data-api';
@@ -1624,14 +1634,16 @@
1624
1634
  if (!this._menu) {
1625
1635
  var parent = Dropdown._getParentFromElement(this._element);
1626
1636
 
1627
- this._menu = $$$1(parent).find(Selector.MENU)[0];
1637
+ if (parent) {
1638
+ this._menu = parent.querySelector(Selector.MENU);
1639
+ }
1628
1640
  }
1629
1641
 
1630
1642
  return this._menu;
1631
1643
  };
1632
1644
 
1633
1645
  _proto._getPlacement = function _getPlacement() {
1634
- var $parentDropdown = $$$1(this._element).parent();
1646
+ var $parentDropdown = $$$1(this._element.parentNode);
1635
1647
  var placement = AttachmentMap.BOTTOM; // Handle dropup
1636
1648
 
1637
1649
  if ($parentDropdown.hasClass(ClassName.DROPUP)) {
@@ -1719,9 +1731,9 @@
1719
1731
  return;
1720
1732
  }
1721
1733
 
1722
- var toggles = $$$1.makeArray($$$1(Selector.DATA_TOGGLE));
1734
+ var toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE));
1723
1735
 
1724
- for (var i = 0; i < toggles.length; i++) {
1736
+ for (var i = 0, len = toggles.length; i < len; i++) {
1725
1737
  var parent = Dropdown._getParentFromElement(toggles[i]);
1726
1738
 
1727
1739
  var context = $$$1(toggles[i]).data(DATA_KEY);
@@ -1729,6 +1741,10 @@
1729
1741
  relatedTarget: toggles[i]
1730
1742
  };
1731
1743
 
1744
+ if (event && event.type === 'click') {
1745
+ relatedTarget.clickEvent = event;
1746
+ }
1747
+
1732
1748
  if (!context) {
1733
1749
  continue;
1734
1750
  }
@@ -1767,7 +1783,7 @@
1767
1783
  var selector = Util.getSelectorFromElement(element);
1768
1784
 
1769
1785
  if (selector) {
1770
- parent = $$$1(selector)[0];
1786
+ parent = document.querySelector(selector);
1771
1787
  }
1772
1788
 
1773
1789
  return parent || element.parentNode;
@@ -1799,7 +1815,7 @@
1799
1815
 
1800
1816
  if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
1801
1817
  if (event.which === ESCAPE_KEYCODE) {
1802
- var toggle = $$$1(parent).find(Selector.DATA_TOGGLE)[0];
1818
+ var toggle = parent.querySelector(Selector.DATA_TOGGLE);
1803
1819
  $$$1(toggle).trigger('focus');
1804
1820
  }
1805
1821
 
@@ -1807,7 +1823,7 @@
1807
1823
  return;
1808
1824
  }
1809
1825
 
1810
- var items = $$$1(parent).find(Selector.VISIBLE_ITEMS).get();
1826
+ var items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS));
1811
1827
 
1812
1828
  if (items.length === 0) {
1813
1829
  return;
@@ -1885,7 +1901,7 @@
1885
1901
 
1886
1902
  /**
1887
1903
  * --------------------------------------------------------------------------
1888
- * Bootstrap (v4.1.1): modal.js
1904
+ * Bootstrap (v4.1.2): modal.js
1889
1905
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1890
1906
  * --------------------------------------------------------------------------
1891
1907
  */
@@ -1897,7 +1913,7 @@
1897
1913
  * ------------------------------------------------------------------------
1898
1914
  */
1899
1915
  var NAME = 'modal';
1900
- var VERSION = '4.1.1';
1916
+ var VERSION = '4.1.2';
1901
1917
  var DATA_KEY = 'bs.modal';
1902
1918
  var EVENT_KEY = "." + DATA_KEY;
1903
1919
  var DATA_API_KEY = '.data-api';
@@ -1941,8 +1957,7 @@
1941
1957
  DATA_TOGGLE: '[data-toggle="modal"]',
1942
1958
  DATA_DISMISS: '[data-dismiss="modal"]',
1943
1959
  FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
1944
- STICKY_CONTENT: '.sticky-top',
1945
- NAVBAR_TOGGLER: '.navbar-toggler'
1960
+ STICKY_CONTENT: '.sticky-top'
1946
1961
  /**
1947
1962
  * ------------------------------------------------------------------------
1948
1963
  * Class Definition
@@ -1957,7 +1972,7 @@
1957
1972
  function Modal(element, config) {
1958
1973
  this._config = this._getConfig(config);
1959
1974
  this._element = element;
1960
- this._dialog = $$$1(element).find(Selector.DIALOG)[0];
1975
+ this._dialog = element.querySelector(Selector.DIALOG);
1961
1976
  this._backdrop = null;
1962
1977
  this._isShown = false;
1963
1978
  this._isBodyOverflowing = false;
@@ -2214,7 +2229,7 @@
2214
2229
  this._backdrop.className = ClassName.BACKDROP;
2215
2230
 
2216
2231
  if (animate) {
2217
- $$$1(this._backdrop).addClass(animate);
2232
+ this._backdrop.classList.add(animate);
2218
2233
  }
2219
2234
 
2220
2235
  $$$1(this._backdrop).appendTo(document.body);
@@ -2308,23 +2323,19 @@
2308
2323
  if (this._isBodyOverflowing) {
2309
2324
  // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
2310
2325
  // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
2311
- // Adjust fixed content padding
2312
- $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
2313
- var actualPadding = $$$1(element)[0].style.paddingRight;
2326
+ var fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT));
2327
+ var stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT)); // Adjust fixed content padding
2328
+
2329
+ $$$1(fixedContent).each(function (index, element) {
2330
+ var actualPadding = element.style.paddingRight;
2314
2331
  var calculatedPadding = $$$1(element).css('padding-right');
2315
2332
  $$$1(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
2316
2333
  }); // Adjust sticky content margin
2317
2334
 
2318
- $$$1(Selector.STICKY_CONTENT).each(function (index, element) {
2319
- var actualMargin = $$$1(element)[0].style.marginRight;
2335
+ $$$1(stickyContent).each(function (index, element) {
2336
+ var actualMargin = element.style.marginRight;
2320
2337
  var calculatedMargin = $$$1(element).css('margin-right');
2321
2338
  $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px");
2322
- }); // Adjust navbar-toggler margin
2323
-
2324
- $$$1(Selector.NAVBAR_TOGGLER).each(function (index, element) {
2325
- var actualMargin = $$$1(element)[0].style.marginRight;
2326
- var calculatedMargin = $$$1(element).css('margin-right');
2327
- $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this9._scrollbarWidth + "px");
2328
2339
  }); // Adjust body padding
2329
2340
 
2330
2341
  var actualPadding = document.body.style.paddingRight;
@@ -2335,15 +2346,15 @@
2335
2346
 
2336
2347
  _proto._resetScrollbar = function _resetScrollbar() {
2337
2348
  // Restore fixed content padding
2338
- $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
2349
+ var fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT));
2350
+ $$$1(fixedContent).each(function (index, element) {
2339
2351
  var padding = $$$1(element).data('padding-right');
2352
+ $$$1(element).removeData('padding-right');
2353
+ element.style.paddingRight = padding ? padding : '';
2354
+ }); // Restore sticky content
2340
2355
 
2341
- if (typeof padding !== 'undefined') {
2342
- $$$1(element).css('padding-right', padding).removeData('padding-right');
2343
- }
2344
- }); // Restore sticky content and navbar-toggler margin
2345
-
2346
- $$$1(Selector.STICKY_CONTENT + ", " + Selector.NAVBAR_TOGGLER).each(function (index, element) {
2356
+ var elements = [].slice.call(document.querySelectorAll("" + Selector.STICKY_CONTENT));
2357
+ $$$1(elements).each(function (index, element) {
2347
2358
  var margin = $$$1(element).data('margin-right');
2348
2359
 
2349
2360
  if (typeof margin !== 'undefined') {
@@ -2352,10 +2363,8 @@
2352
2363
  }); // Restore body padding
2353
2364
 
2354
2365
  var padding = $$$1(document.body).data('padding-right');
2355
-
2356
- if (typeof padding !== 'undefined') {
2357
- $$$1(document.body).css('padding-right', padding).removeData('padding-right');
2358
- }
2366
+ $$$1(document.body).removeData('padding-right');
2367
+ document.body.style.paddingRight = padding ? padding : '';
2359
2368
  };
2360
2369
 
2361
2370
  _proto._getScrollbarWidth = function _getScrollbarWidth() {
@@ -2420,7 +2429,7 @@
2420
2429
  var selector = Util.getSelectorFromElement(this);
2421
2430
 
2422
2431
  if (selector) {
2423
- target = $$$1(selector)[0];
2432
+ target = document.querySelector(selector);
2424
2433
  }
2425
2434
 
2426
2435
  var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _objectSpread({}, $$$1(target).data(), $$$1(this).data());
@@ -2463,7 +2472,7 @@
2463
2472
 
2464
2473
  /**
2465
2474
  * --------------------------------------------------------------------------
2466
- * Bootstrap (v4.1.1): tooltip.js
2475
+ * Bootstrap (v4.1.2): tooltip.js
2467
2476
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2468
2477
  * --------------------------------------------------------------------------
2469
2478
  */
@@ -2475,7 +2484,7 @@
2475
2484
  * ------------------------------------------------------------------------
2476
2485
  */
2477
2486
  var NAME = 'tooltip';
2478
- var VERSION = '4.1.1';
2487
+ var VERSION = '4.1.2';
2479
2488
  var DATA_KEY = 'bs.tooltip';
2480
2489
  var EVENT_KEY = "." + DATA_KEY;
2481
2490
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
@@ -2685,7 +2694,7 @@
2685
2694
  var attachment = this._getAttachment(placement);
2686
2695
 
2687
2696
  this.addAttachmentClass(attachment);
2688
- var container = this.config.container === false ? document.body : $$$1(this.config.container);
2697
+ var container = this.config.container === false ? document.body : $$$1(document).find(this.config.container);
2689
2698
  $$$1(tip).data(this.constructor.DATA_KEY, this);
2690
2699
 
2691
2700
  if (!$$$1.contains(this.element.ownerDocument.documentElement, this.tip)) {
@@ -2824,9 +2833,9 @@
2824
2833
  };
2825
2834
 
2826
2835
  _proto.setContent = function setContent() {
2827
- var $tip = $$$1(this.getTipElement());
2828
- this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
2829
- $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
2836
+ var tip = this.getTipElement();
2837
+ this.setElementContent($$$1(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle());
2838
+ $$$1(tip).removeClass(ClassName.FADE + " " + ClassName.SHOW);
2830
2839
  };
2831
2840
 
2832
2841
  _proto.setElementContent = function setElementContent($element, content) {
@@ -3019,15 +3028,18 @@
3019
3028
  var $tip = $$$1(this.getTipElement());
3020
3029
  var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
3021
3030
 
3022
- if (tabClass !== null && tabClass.length > 0) {
3031
+ if (tabClass !== null && tabClass.length) {
3023
3032
  $tip.removeClass(tabClass.join(''));
3024
3033
  }
3025
3034
  };
3026
3035
 
3027
- _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(data) {
3036
+ _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {
3037
+ var popperInstance = popperData.instance;
3038
+ this.tip = popperInstance.popper;
3039
+
3028
3040
  this._cleanTipClass();
3029
3041
 
3030
- this.addAttachmentClass(this._getAttachment(data.placement));
3042
+ this.addAttachmentClass(this._getAttachment(popperData.placement));
3031
3043
  };
3032
3044
 
3033
3045
  _proto._fixTransition = function _fixTransition() {
@@ -3130,7 +3142,7 @@
3130
3142
 
3131
3143
  /**
3132
3144
  * --------------------------------------------------------------------------
3133
- * Bootstrap (v4.1.1): popover.js
3145
+ * Bootstrap (v4.1.2): popover.js
3134
3146
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
3135
3147
  * --------------------------------------------------------------------------
3136
3148
  */
@@ -3142,7 +3154,7 @@
3142
3154
  * ------------------------------------------------------------------------
3143
3155
  */
3144
3156
  var NAME = 'popover';
3145
- var VERSION = '4.1.1';
3157
+ var VERSION = '4.1.2';
3146
3158
  var DATA_KEY = 'bs.popover';
3147
3159
  var EVENT_KEY = "." + DATA_KEY;
3148
3160
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
@@ -3327,7 +3339,7 @@
3327
3339
 
3328
3340
  /**
3329
3341
  * --------------------------------------------------------------------------
3330
- * Bootstrap (v4.1.1): scrollspy.js
3342
+ * Bootstrap (v4.1.2): scrollspy.js
3331
3343
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
3332
3344
  * --------------------------------------------------------------------------
3333
3345
  */
@@ -3339,7 +3351,7 @@
3339
3351
  * ------------------------------------------------------------------------
3340
3352
  */
3341
3353
  var NAME = 'scrollspy';
3342
- var VERSION = '4.1.1';
3354
+ var VERSION = '4.1.2';
3343
3355
  var DATA_KEY = 'bs.scrollspy';
3344
3356
  var EVENT_KEY = "." + DATA_KEY;
3345
3357
  var DATA_API_KEY = '.data-api';
@@ -3421,13 +3433,13 @@
3421
3433
  this._offsets = [];
3422
3434
  this._targets = [];
3423
3435
  this._scrollHeight = this._getScrollHeight();
3424
- var targets = $$$1.makeArray($$$1(this._selector));
3436
+ var targets = [].slice.call(document.querySelectorAll(this._selector));
3425
3437
  targets.map(function (element) {
3426
3438
  var target;
3427
3439
  var targetSelector = Util.getSelectorFromElement(element);
3428
3440
 
3429
3441
  if (targetSelector) {
3430
- target = $$$1(targetSelector)[0];
3442
+ target = document.querySelector(targetSelector);
3431
3443
  }
3432
3444
 
3433
3445
  if (target) {
@@ -3524,7 +3536,9 @@
3524
3536
  return;
3525
3537
  }
3526
3538
 
3527
- for (var i = this._offsets.length; i--;) {
3539
+ var offsetLength = this._offsets.length;
3540
+
3541
+ for (var i = offsetLength; i--;) {
3528
3542
  var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
3529
3543
 
3530
3544
  if (isActiveTarget) {
@@ -3544,7 +3558,7 @@
3544
3558
  queries = queries.map(function (selector) {
3545
3559
  return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]");
3546
3560
  });
3547
- var $link = $$$1(queries.join(','));
3561
+ var $link = $$$1([].slice.call(document.querySelectorAll(queries.join(','))));
3548
3562
 
3549
3563
  if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
3550
3564
  $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
@@ -3565,7 +3579,8 @@
3565
3579
  };
3566
3580
 
3567
3581
  _proto._clear = function _clear() {
3568
- $$$1(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
3582
+ var nodes = [].slice.call(document.querySelectorAll(this._selector));
3583
+ $$$1(nodes).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
3569
3584
  }; // Static
3570
3585
 
3571
3586
 
@@ -3612,9 +3627,10 @@
3612
3627
 
3613
3628
 
3614
3629
  $$$1(window).on(Event.LOAD_DATA_API, function () {
3615
- var scrollSpys = $$$1.makeArray($$$1(Selector.DATA_SPY));
3630
+ var scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY));
3631
+ var scrollSpysLength = scrollSpys.length;
3616
3632
 
3617
- for (var i = scrollSpys.length; i--;) {
3633
+ for (var i = scrollSpysLength; i--;) {
3618
3634
  var $spy = $$$1(scrollSpys[i]);
3619
3635
 
3620
3636
  ScrollSpy._jQueryInterface.call($spy, $spy.data());
@@ -3639,7 +3655,7 @@
3639
3655
 
3640
3656
  /**
3641
3657
  * --------------------------------------------------------------------------
3642
- * Bootstrap (v4.1.1): tab.js
3658
+ * Bootstrap (v4.1.2): tab.js
3643
3659
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
3644
3660
  * --------------------------------------------------------------------------
3645
3661
  */
@@ -3651,7 +3667,7 @@
3651
3667
  * ------------------------------------------------------------------------
3652
3668
  */
3653
3669
  var NAME = 'tab';
3654
- var VERSION = '4.1.1';
3670
+ var VERSION = '4.1.2';
3655
3671
  var DATA_KEY = 'bs.tab';
3656
3672
  var EVENT_KEY = "." + DATA_KEY;
3657
3673
  var DATA_API_KEY = '.data-api';
@@ -3733,7 +3749,7 @@
3733
3749
  }
3734
3750
 
3735
3751
  if (selector) {
3736
- target = $$$1(selector)[0];
3752
+ target = document.querySelector(selector);
3737
3753
  }
3738
3754
 
3739
3755
  this._activate(this._element, listElement);
@@ -3815,7 +3831,8 @@
3815
3831
  var dropdownElement = $$$1(element).closest(Selector.DROPDOWN)[0];
3816
3832
 
3817
3833
  if (dropdownElement) {
3818
- $$$1(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
3834
+ var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE));
3835
+ $$$1(dropdownToggleList).addClass(ClassName.ACTIVE);
3819
3836
  }
3820
3837
 
3821
3838
  element.setAttribute('aria-expanded', true);
@@ -3887,7 +3904,7 @@
3887
3904
 
3888
3905
  /**
3889
3906
  * --------------------------------------------------------------------------
3890
- * Bootstrap (v4.1.1): index.js
3907
+ * Bootstrap (v4.1.2): index.js
3891
3908
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
3892
3909
  * --------------------------------------------------------------------------
3893
3910
  */