bootstrap 4.2.1 → 4.5.2

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 (101) 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 +1054 -893
  7. data/assets/javascripts/bootstrap.min.js +4 -4
  8. data/assets/javascripts/bootstrap/alert.js +35 -57
  9. data/assets/javascripts/bootstrap/button.js +95 -69
  10. data/assets/javascripts/bootstrap/carousel.js +109 -165
  11. data/assets/javascripts/bootstrap/collapse.js +58 -114
  12. data/assets/javascripts/bootstrap/dropdown.js +138 -191
  13. data/assets/javascripts/bootstrap/modal.js +170 -176
  14. data/assets/javascripts/bootstrap/popover.js +31 -87
  15. data/assets/javascripts/bootstrap/scrollspy.js +54 -114
  16. data/assets/javascripts/bootstrap/tab.js +62 -81
  17. data/assets/javascripts/bootstrap/toast.js +80 -117
  18. data/assets/javascripts/bootstrap/tooltip.js +269 -157
  19. data/assets/javascripts/bootstrap/util.js +34 -9
  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/_badge.scss +3 -2
  24. data/assets/stylesheets/bootstrap/_breadcrumb.scss +4 -1
  25. data/assets/stylesheets/bootstrap/_button-group.scss +1 -1
  26. data/assets/stylesheets/bootstrap/_buttons.scss +13 -11
  27. data/assets/stylesheets/bootstrap/_card.scss +49 -73
  28. data/assets/stylesheets/bootstrap/_carousel.scss +7 -8
  29. data/assets/stylesheets/bootstrap/_close.scss +3 -7
  30. data/assets/stylesheets/bootstrap/_code.scss +6 -6
  31. data/assets/stylesheets/bootstrap/_custom-forms.scss +40 -24
  32. data/assets/stylesheets/bootstrap/_dropdown.scss +24 -23
  33. data/assets/stylesheets/bootstrap/_forms.scss +38 -25
  34. data/assets/stylesheets/bootstrap/_functions.scss +62 -7
  35. data/assets/stylesheets/bootstrap/_grid.scss +32 -11
  36. data/assets/stylesheets/bootstrap/_images.scss +3 -3
  37. data/assets/stylesheets/bootstrap/_input-group.scss +4 -5
  38. data/assets/stylesheets/bootstrap/_jumbotron.scss +1 -0
  39. data/assets/stylesheets/bootstrap/_list-group.scss +62 -29
  40. data/assets/stylesheets/bootstrap/_mixins.scss +9 -3
  41. data/assets/stylesheets/bootstrap/_modal.scss +65 -11
  42. data/assets/stylesheets/bootstrap/_nav.scss +6 -3
  43. data/assets/stylesheets/bootstrap/_navbar.scss +48 -23
  44. data/assets/stylesheets/bootstrap/_pagination.scss +3 -7
  45. data/assets/stylesheets/bootstrap/_popover.scss +54 -67
  46. data/assets/stylesheets/bootstrap/_print.scss +3 -3
  47. data/assets/stylesheets/bootstrap/_progress.scss +19 -6
  48. data/assets/stylesheets/bootstrap/_reboot.scss +51 -33
  49. data/assets/stylesheets/bootstrap/_root.scss +1 -0
  50. data/assets/stylesheets/bootstrap/_spinners.scss +3 -0
  51. data/assets/stylesheets/bootstrap/_tables.scss +6 -8
  52. data/assets/stylesheets/bootstrap/_toasts.scss +7 -4
  53. data/assets/stylesheets/bootstrap/_tooltip.scss +1 -1
  54. data/assets/stylesheets/bootstrap/_transitions.scss +0 -2
  55. data/assets/stylesheets/bootstrap/_type.scss +17 -17
  56. data/assets/stylesheets/bootstrap/_utilities.scss +2 -0
  57. data/assets/stylesheets/bootstrap/_variables.scss +168 -119
  58. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +5 -3
  59. data/assets/stylesheets/bootstrap/mixins/_badge.scss +7 -1
  60. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +51 -10
  61. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +16 -1
  62. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +14 -15
  63. data/assets/stylesheets/bootstrap/mixins/_caret.scss +12 -12
  64. data/assets/stylesheets/bootstrap/mixins/_deprecate.scss +10 -0
  65. data/assets/stylesheets/bootstrap/mixins/_float.scss +6 -3
  66. data/assets/stylesheets/bootstrap/mixins/_forms.scss +40 -60
  67. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +29 -15
  68. data/assets/stylesheets/bootstrap/mixins/_grid.scss +25 -7
  69. data/assets/stylesheets/bootstrap/mixins/_hover.scss +4 -4
  70. data/assets/stylesheets/bootstrap/mixins/_image.scss +3 -3
  71. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +1 -1
  72. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  73. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +2 -1
  74. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +1 -1
  75. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
  76. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +3 -2
  77. data/assets/stylesheets/bootstrap/mixins/_size.scss +1 -0
  78. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +1 -1
  79. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +7 -4
  80. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +1 -3
  81. data/assets/stylesheets/bootstrap/mixins/_transition.scss +17 -7
  82. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +1 -0
  83. data/assets/stylesheets/bootstrap/utilities/_background.scss +2 -2
  84. data/assets/stylesheets/bootstrap/utilities/_borders.scss +13 -1
  85. data/assets/stylesheets/bootstrap/utilities/_display.scss +6 -18
  86. data/assets/stylesheets/bootstrap/utilities/_float.scss +5 -3
  87. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +5 -0
  88. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +19 -0
  89. data/assets/stylesheets/bootstrap/utilities/_text.scss +8 -3
  90. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +4 -2
  91. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +204 -0
  92. data/bootstrap.gemspec +1 -1
  93. data/lib/bootstrap/version.rb +2 -2
  94. data/tasks/updater/js.rb +1 -1
  95. data/tasks/updater/network.rb +2 -2
  96. data/test/dummy_rails/app/assets/config/manifest.js +3 -0
  97. data/test/dummy_rails/app/assets/stylesheets/.browserslistrc +1 -0
  98. data/test/gemfiles/rails_6_0.gemfile +7 -0
  99. data/test/support/dummy_rails_integration.rb +3 -1
  100. data/test/test_helper.rb +18 -13
  101. metadata +14 -5
@@ -1,73 +1,24 @@
1
1
  /*!
2
- * Bootstrap popover.js v4.2.1 (https://getbootstrap.com/)
3
- * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2
+ * Bootstrap popover.js v4.5.2 (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' ? module.exports = factory(require('jquery'), require('./tooltip.js')) :
8
8
  typeof define === 'function' && define.amd ? define(['jquery', './tooltip.js'], factory) :
9
- (global.Popover = factory(global.jQuery,global.Tooltip));
10
- }(this, (function ($,Tooltip) { 'use strict';
11
-
12
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
- Tooltip = Tooltip && Tooltip.hasOwnProperty('default') ? Tooltip['default'] : Tooltip;
14
-
15
- function _defineProperties(target, props) {
16
- for (var i = 0; i < props.length; i++) {
17
- var descriptor = props[i];
18
- descriptor.enumerable = descriptor.enumerable || false;
19
- descriptor.configurable = true;
20
- if ("value" in descriptor) descriptor.writable = true;
21
- Object.defineProperty(target, descriptor.key, descriptor);
22
- }
23
- }
24
-
25
- function _createClass(Constructor, protoProps, staticProps) {
26
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
27
- if (staticProps) _defineProperties(Constructor, staticProps);
28
- return Constructor;
29
- }
30
-
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
- }
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.jQuery, global.Tooltip));
10
+ }(this, (function ($, Tooltip) { 'use strict';
42
11
 
43
- return obj;
44
- }
12
+ $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
13
+ Tooltip = Tooltip && Object.prototype.hasOwnProperty.call(Tooltip, 'default') ? Tooltip['default'] : Tooltip;
45
14
 
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);
15
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
50
16
 
51
- if (typeof Object.getOwnPropertySymbols === 'function') {
52
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
53
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
54
- }));
55
- }
17
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
56
18
 
57
- ownKeys.forEach(function (key) {
58
- _defineProperty(target, key, source[key]);
59
- });
60
- }
61
-
62
- return target;
63
- }
64
-
65
- function _inheritsLoose(subClass, superClass) {
66
- subClass.prototype = Object.create(superClass.prototype);
67
- subClass.prototype.constructor = subClass;
68
- subClass.__proto__ = superClass;
69
- }
19
+ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
70
20
 
21
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
71
22
  /**
72
23
  * ------------------------------------------------------------------------
73
24
  * Constants
@@ -75,32 +26,28 @@
75
26
  */
76
27
 
77
28
  var NAME = 'popover';
78
- var VERSION = '4.2.1';
29
+ var VERSION = '4.5.2';
79
30
  var DATA_KEY = 'bs.popover';
80
31
  var EVENT_KEY = "." + DATA_KEY;
81
32
  var JQUERY_NO_CONFLICT = $.fn[NAME];
82
33
  var CLASS_PREFIX = 'bs-popover';
83
34
  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
84
35
 
85
- var Default = _objectSpread({}, Tooltip.Default, {
36
+ var Default = _extends({}, Tooltip.Default, {
86
37
  placement: 'right',
87
38
  trigger: 'click',
88
39
  content: '',
89
40
  template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
90
41
  });
91
42
 
92
- var DefaultType = _objectSpread({}, Tooltip.DefaultType, {
43
+ var DefaultType = _extends({}, Tooltip.DefaultType, {
93
44
  content: '(string|element|function)'
94
45
  });
95
46
 
96
- var ClassName = {
97
- FADE: 'fade',
98
- SHOW: 'show'
99
- };
100
- var Selector = {
101
- TITLE: '.popover-header',
102
- CONTENT: '.popover-body'
103
- };
47
+ var CLASS_NAME_FADE = 'fade';
48
+ var CLASS_NAME_SHOW = 'show';
49
+ var SELECTOR_TITLE = '.popover-header';
50
+ var SELECTOR_CONTENT = '.popover-body';
104
51
  var Event = {
105
52
  HIDE: "hide" + EVENT_KEY,
106
53
  HIDDEN: "hidden" + EVENT_KEY,
@@ -112,17 +59,14 @@
112
59
  FOCUSOUT: "focusout" + EVENT_KEY,
113
60
  MOUSEENTER: "mouseenter" + EVENT_KEY,
114
61
  MOUSELEAVE: "mouseleave" + EVENT_KEY
115
- /**
116
- * ------------------------------------------------------------------------
117
- * Class Definition
118
- * ------------------------------------------------------------------------
119
- */
120
-
121
62
  };
63
+ /**
64
+ * ------------------------------------------------------------------------
65
+ * Class Definition
66
+ * ------------------------------------------------------------------------
67
+ */
122
68
 
123
- var Popover =
124
- /*#__PURE__*/
125
- function (_Tooltip) {
69
+ var Popover = /*#__PURE__*/function (_Tooltip) {
126
70
  _inheritsLoose(Popover, _Tooltip);
127
71
 
128
72
  function Popover() {
@@ -148,7 +92,7 @@
148
92
  _proto.setContent = function setContent() {
149
93
  var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events
150
94
 
151
- this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
95
+ this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle());
152
96
 
153
97
  var content = this._getContent();
154
98
 
@@ -156,10 +100,10 @@
156
100
  content = content.call(this.element);
157
101
  }
158
102
 
159
- this.setElementContent($tip.find(Selector.CONTENT), content);
160
- $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
161
- }; // Private
162
-
103
+ this.setElementContent($tip.find(SELECTOR_CONTENT), content);
104
+ $tip.removeClass(CLASS_NAME_FADE + " " + CLASS_NAME_SHOW);
105
+ } // Private
106
+ ;
163
107
 
164
108
  _proto._getContent = function _getContent() {
165
109
  return this.element.getAttribute('data-content') || this.config.content;
@@ -172,8 +116,8 @@
172
116
  if (tabClass !== null && tabClass.length > 0) {
173
117
  $tip.removeClass(tabClass.join(''));
174
118
  }
175
- }; // Static
176
-
119
+ } // Static
120
+ ;
177
121
 
178
122
  Popover._jQueryInterface = function _jQueryInterface(config) {
179
123
  return this.each(function () {
@@ -1,67 +1,22 @@
1
1
  /*!
2
- * Bootstrap scrollspy.js v4.2.1 (https://getbootstrap.com/)
3
- * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2
+ * Bootstrap scrollspy.js v4.5.2 (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' ? module.exports = factory(require('jquery'), require('./util.js')) :
8
8
  typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) :
9
- (global.ScrollSpy = factory(global.jQuery,global.Util));
10
- }(this, (function ($,Util) { 'use strict';
11
-
12
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
- Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
14
-
15
- function _defineProperties(target, props) {
16
- for (var i = 0; i < props.length; i++) {
17
- var descriptor = props[i];
18
- descriptor.enumerable = descriptor.enumerable || false;
19
- descriptor.configurable = true;
20
- if ("value" in descriptor) descriptor.writable = true;
21
- Object.defineProperty(target, descriptor.key, descriptor);
22
- }
23
- }
24
-
25
- function _createClass(Constructor, protoProps, staticProps) {
26
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
27
- if (staticProps) _defineProperties(Constructor, staticProps);
28
- return Constructor;
29
- }
30
-
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);
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.ScrollSpy = factory(global.jQuery, global.Util));
10
+ }(this, (function ($, Util) { 'use strict';
50
11
 
51
- if (typeof Object.getOwnPropertySymbols === 'function') {
52
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
53
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
54
- }));
55
- }
12
+ $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
13
+ Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;
56
14
 
57
- ownKeys.forEach(function (key) {
58
- _defineProperty(target, key, source[key]);
59
- });
60
- }
15
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
61
16
 
62
- return target;
63
- }
17
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
64
18
 
19
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
65
20
  /**
66
21
  * ------------------------------------------------------------------------
67
22
  * Constants
@@ -69,7 +24,7 @@
69
24
  */
70
25
 
71
26
  var NAME = 'scrollspy';
72
- var VERSION = '4.2.1';
27
+ var VERSION = '4.5.2';
73
28
  var DATA_KEY = 'bs.scrollspy';
74
29
  var EVENT_KEY = "." + DATA_KEY;
75
30
  var DATA_API_KEY = '.data-api';
@@ -84,53 +39,40 @@
84
39
  method: 'string',
85
40
  target: '(string|element)'
86
41
  };
87
- var Event = {
88
- ACTIVATE: "activate" + EVENT_KEY,
89
- SCROLL: "scroll" + EVENT_KEY,
90
- LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY
91
- };
92
- var ClassName = {
93
- DROPDOWN_ITEM: 'dropdown-item',
94
- DROPDOWN_MENU: 'dropdown-menu',
95
- ACTIVE: 'active'
96
- };
97
- var Selector = {
98
- DATA_SPY: '[data-spy="scroll"]',
99
- ACTIVE: '.active',
100
- NAV_LIST_GROUP: '.nav, .list-group',
101
- NAV_LINKS: '.nav-link',
102
- NAV_ITEMS: '.nav-item',
103
- LIST_ITEMS: '.list-group-item',
104
- DROPDOWN: '.dropdown',
105
- DROPDOWN_ITEMS: '.dropdown-item',
106
- DROPDOWN_TOGGLE: '.dropdown-toggle'
107
- };
108
- var OffsetMethod = {
109
- OFFSET: 'offset',
110
- POSITION: 'position'
111
- /**
112
- * ------------------------------------------------------------------------
113
- * Class Definition
114
- * ------------------------------------------------------------------------
115
- */
116
-
117
- };
42
+ var EVENT_ACTIVATE = "activate" + EVENT_KEY;
43
+ var EVENT_SCROLL = "scroll" + EVENT_KEY;
44
+ var EVENT_LOAD_DATA_API = "load" + EVENT_KEY + DATA_API_KEY;
45
+ var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
46
+ var CLASS_NAME_ACTIVE = 'active';
47
+ var SELECTOR_DATA_SPY = '[data-spy="scroll"]';
48
+ var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
49
+ var SELECTOR_NAV_LINKS = '.nav-link';
50
+ var SELECTOR_NAV_ITEMS = '.nav-item';
51
+ var SELECTOR_LIST_ITEMS = '.list-group-item';
52
+ var SELECTOR_DROPDOWN = '.dropdown';
53
+ var SELECTOR_DROPDOWN_ITEMS = '.dropdown-item';
54
+ var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
55
+ var METHOD_OFFSET = 'offset';
56
+ var METHOD_POSITION = 'position';
57
+ /**
58
+ * ------------------------------------------------------------------------
59
+ * Class Definition
60
+ * ------------------------------------------------------------------------
61
+ */
118
62
 
119
- var ScrollSpy =
120
- /*#__PURE__*/
121
- function () {
63
+ var ScrollSpy = /*#__PURE__*/function () {
122
64
  function ScrollSpy(element, config) {
123
65
  var _this = this;
124
66
 
125
67
  this._element = element;
126
68
  this._scrollElement = element.tagName === 'BODY' ? window : element;
127
69
  this._config = this._getConfig(config);
128
- this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS);
70
+ this._selector = this._config.target + " " + SELECTOR_NAV_LINKS + "," + (this._config.target + " " + SELECTOR_LIST_ITEMS + ",") + (this._config.target + " " + SELECTOR_DROPDOWN_ITEMS);
129
71
  this._offsets = [];
130
72
  this._targets = [];
131
73
  this._activeTarget = null;
132
74
  this._scrollHeight = 0;
133
- $(this._scrollElement).on(Event.SCROLL, function (event) {
75
+ $(this._scrollElement).on(EVENT_SCROLL, function (event) {
134
76
  return _this._process(event);
135
77
  });
136
78
  this.refresh();
@@ -145,9 +87,9 @@
145
87
  _proto.refresh = function refresh() {
146
88
  var _this2 = this;
147
89
 
148
- var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
90
+ var autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;
149
91
  var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
150
- var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
92
+ var offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;
151
93
  this._offsets = [];
152
94
  this._targets = [];
153
95
  this._scrollHeight = this._getScrollHeight();
@@ -192,13 +134,13 @@
192
134
  this._targets = null;
193
135
  this._activeTarget = null;
194
136
  this._scrollHeight = null;
195
- }; // Private
196
-
137
+ } // Private
138
+ ;
197
139
 
198
140
  _proto._getConfig = function _getConfig(config) {
199
- config = _objectSpread({}, Default, typeof config === 'object' && config ? config : {});
141
+ config = _extends({}, Default, typeof config === 'object' && config ? config : {});
200
142
 
201
- if (typeof config.target !== 'string') {
143
+ if (typeof config.target !== 'string' && Util.isElement(config.target)) {
202
144
  var id = $(config.target).attr('id');
203
145
 
204
146
  if (!id) {
@@ -254,9 +196,7 @@
254
196
  return;
255
197
  }
256
198
 
257
- var offsetLength = this._offsets.length;
258
-
259
- for (var i = offsetLength; i--;) {
199
+ for (var i = this._offsets.length; i--;) {
260
200
  var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
261
201
 
262
202
  if (isActiveTarget) {
@@ -276,32 +216,32 @@
276
216
 
277
217
  var $link = $([].slice.call(document.querySelectorAll(queries.join(','))));
278
218
 
279
- if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
280
- $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
281
- $link.addClass(ClassName.ACTIVE);
219
+ if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {
220
+ $link.closest(SELECTOR_DROPDOWN).find(SELECTOR_DROPDOWN_TOGGLE).addClass(CLASS_NAME_ACTIVE);
221
+ $link.addClass(CLASS_NAME_ACTIVE);
282
222
  } else {
283
223
  // Set triggered link as active
284
- $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active
224
+ $link.addClass(CLASS_NAME_ACTIVE); // Set triggered links parents as active
285
225
  // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
286
226
 
287
- $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE); // Handle special case when .nav-link is inside .nav-item
227
+ $link.parents(SELECTOR_NAV_LIST_GROUP).prev(SELECTOR_NAV_LINKS + ", " + SELECTOR_LIST_ITEMS).addClass(CLASS_NAME_ACTIVE); // Handle special case when .nav-link is inside .nav-item
288
228
 
289
- $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
229
+ $link.parents(SELECTOR_NAV_LIST_GROUP).prev(SELECTOR_NAV_ITEMS).children(SELECTOR_NAV_LINKS).addClass(CLASS_NAME_ACTIVE);
290
230
  }
291
231
 
292
- $(this._scrollElement).trigger(Event.ACTIVATE, {
232
+ $(this._scrollElement).trigger(EVENT_ACTIVATE, {
293
233
  relatedTarget: target
294
234
  });
295
235
  };
296
236
 
297
237
  _proto._clear = function _clear() {
298
238
  [].slice.call(document.querySelectorAll(this._selector)).filter(function (node) {
299
- return node.classList.contains(ClassName.ACTIVE);
239
+ return node.classList.contains(CLASS_NAME_ACTIVE);
300
240
  }).forEach(function (node) {
301
- return node.classList.remove(ClassName.ACTIVE);
241
+ return node.classList.remove(CLASS_NAME_ACTIVE);
302
242
  });
303
- }; // Static
304
-
243
+ } // Static
244
+ ;
305
245
 
306
246
  ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
307
247
  return this.each(function () {
@@ -345,8 +285,8 @@
345
285
  */
346
286
 
347
287
 
348
- $(window).on(Event.LOAD_DATA_API, function () {
349
- var scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY));
288
+ $(window).on(EVENT_LOAD_DATA_API, function () {
289
+ var scrollSpys = [].slice.call(document.querySelectorAll(SELECTOR_DATA_SPY));
350
290
  var scrollSpysLength = scrollSpys.length;
351
291
 
352
292
  for (var i = scrollSpysLength; i--;) {
@@ -1,33 +1,20 @@
1
1
  /*!
2
- * Bootstrap tab.js v4.2.1 (https://getbootstrap.com/)
3
- * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2
+ * Bootstrap tab.js v4.5.2 (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' ? module.exports = factory(require('jquery'), require('./util.js')) :
8
8
  typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) :
9
- (global.Tab = factory(global.jQuery,global.Util));
10
- }(this, (function ($,Util) { 'use strict';
11
-
12
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
- Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
14
-
15
- function _defineProperties(target, props) {
16
- for (var i = 0; i < props.length; i++) {
17
- var descriptor = props[i];
18
- descriptor.enumerable = descriptor.enumerable || false;
19
- descriptor.configurable = true;
20
- if ("value" in descriptor) descriptor.writable = true;
21
- Object.defineProperty(target, descriptor.key, descriptor);
22
- }
23
- }
24
-
25
- function _createClass(Constructor, protoProps, staticProps) {
26
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
27
- if (staticProps) _defineProperties(Constructor, staticProps);
28
- return Constructor;
29
- }
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Tab = factory(global.jQuery, global.Util));
10
+ }(this, (function ($, Util) { 'use strict';
30
11
 
12
+ $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
13
+ Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;
14
+
15
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
16
+
17
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
31
18
  /**
32
19
  * ------------------------------------------------------------------------
33
20
  * Constants
@@ -35,44 +22,35 @@
35
22
  */
36
23
 
37
24
  var NAME = 'tab';
38
- var VERSION = '4.2.1';
25
+ var VERSION = '4.5.2';
39
26
  var DATA_KEY = 'bs.tab';
40
27
  var EVENT_KEY = "." + DATA_KEY;
41
28
  var DATA_API_KEY = '.data-api';
42
29
  var JQUERY_NO_CONFLICT = $.fn[NAME];
43
- var Event = {
44
- HIDE: "hide" + EVENT_KEY,
45
- HIDDEN: "hidden" + EVENT_KEY,
46
- SHOW: "show" + EVENT_KEY,
47
- SHOWN: "shown" + EVENT_KEY,
48
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
49
- };
50
- var ClassName = {
51
- DROPDOWN_MENU: 'dropdown-menu',
52
- ACTIVE: 'active',
53
- DISABLED: 'disabled',
54
- FADE: 'fade',
55
- SHOW: 'show'
56
- };
57
- var Selector = {
58
- DROPDOWN: '.dropdown',
59
- NAV_LIST_GROUP: '.nav, .list-group',
60
- ACTIVE: '.active',
61
- ACTIVE_UL: '> li > .active',
62
- DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
63
- DROPDOWN_TOGGLE: '.dropdown-toggle',
64
- DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
65
- /**
66
- * ------------------------------------------------------------------------
67
- * Class Definition
68
- * ------------------------------------------------------------------------
69
- */
70
-
71
- };
30
+ var EVENT_HIDE = "hide" + EVENT_KEY;
31
+ var EVENT_HIDDEN = "hidden" + EVENT_KEY;
32
+ var EVENT_SHOW = "show" + EVENT_KEY;
33
+ var EVENT_SHOWN = "shown" + EVENT_KEY;
34
+ var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
35
+ var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
36
+ var CLASS_NAME_ACTIVE = 'active';
37
+ var CLASS_NAME_DISABLED = 'disabled';
38
+ var CLASS_NAME_FADE = 'fade';
39
+ var CLASS_NAME_SHOW = 'show';
40
+ var SELECTOR_DROPDOWN = '.dropdown';
41
+ var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
42
+ var SELECTOR_ACTIVE = '.active';
43
+ var SELECTOR_ACTIVE_UL = '> li > .active';
44
+ var SELECTOR_DATA_TOGGLE = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]';
45
+ var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
46
+ var SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active';
47
+ /**
48
+ * ------------------------------------------------------------------------
49
+ * Class Definition
50
+ * ------------------------------------------------------------------------
51
+ */
72
52
 
73
- var Tab =
74
- /*#__PURE__*/
75
- function () {
53
+ var Tab = /*#__PURE__*/function () {
76
54
  function Tab(element) {
77
55
  this._element = element;
78
56
  } // Getters
@@ -84,25 +62,25 @@
84
62
  _proto.show = function show() {
85
63
  var _this = this;
86
64
 
87
- if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) {
65
+ if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(CLASS_NAME_ACTIVE) || $(this._element).hasClass(CLASS_NAME_DISABLED)) {
88
66
  return;
89
67
  }
90
68
 
91
69
  var target;
92
70
  var previous;
93
- var listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0];
71
+ var listElement = $(this._element).closest(SELECTOR_NAV_LIST_GROUP)[0];
94
72
  var selector = Util.getSelectorFromElement(this._element);
95
73
 
96
74
  if (listElement) {
97
- var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE;
75
+ var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE;
98
76
  previous = $.makeArray($(listElement).find(itemSelector));
99
77
  previous = previous[previous.length - 1];
100
78
  }
101
79
 
102
- var hideEvent = $.Event(Event.HIDE, {
80
+ var hideEvent = $.Event(EVENT_HIDE, {
103
81
  relatedTarget: this._element
104
82
  });
105
- var showEvent = $.Event(Event.SHOW, {
83
+ var showEvent = $.Event(EVENT_SHOW, {
106
84
  relatedTarget: previous
107
85
  });
108
86
 
@@ -123,10 +101,10 @@
123
101
  this._activate(this._element, listElement);
124
102
 
125
103
  var complete = function complete() {
126
- var hiddenEvent = $.Event(Event.HIDDEN, {
104
+ var hiddenEvent = $.Event(EVENT_HIDDEN, {
127
105
  relatedTarget: _this._element
128
106
  });
129
- var shownEvent = $.Event(Event.SHOWN, {
107
+ var shownEvent = $.Event(EVENT_SHOWN, {
130
108
  relatedTarget: previous
131
109
  });
132
110
  $(previous).trigger(hiddenEvent);
@@ -143,15 +121,15 @@
143
121
  _proto.dispose = function dispose() {
144
122
  $.removeData(this._element, DATA_KEY);
145
123
  this._element = null;
146
- }; // Private
147
-
124
+ } // Private
125
+ ;
148
126
 
149
127
  _proto._activate = function _activate(element, container, callback) {
150
128
  var _this2 = this;
151
129
 
152
- var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(Selector.ACTIVE_UL) : $(container).children(Selector.ACTIVE);
130
+ var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(SELECTOR_ACTIVE_UL) : $(container).children(SELECTOR_ACTIVE);
153
131
  var active = activeElements[0];
154
- var isTransitioning = callback && active && $(active).hasClass(ClassName.FADE);
132
+ var isTransitioning = callback && active && $(active).hasClass(CLASS_NAME_FADE);
155
133
 
156
134
  var complete = function complete() {
157
135
  return _this2._transitionComplete(element, active, callback);
@@ -159,7 +137,7 @@
159
137
 
160
138
  if (active && isTransitioning) {
161
139
  var transitionDuration = Util.getTransitionDurationFromElement(active);
162
- $(active).removeClass(ClassName.SHOW).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
140
+ $(active).removeClass(CLASS_NAME_SHOW).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
163
141
  } else {
164
142
  complete();
165
143
  }
@@ -167,11 +145,11 @@
167
145
 
168
146
  _proto._transitionComplete = function _transitionComplete(element, active, callback) {
169
147
  if (active) {
170
- $(active).removeClass(ClassName.ACTIVE);
171
- var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
148
+ $(active).removeClass(CLASS_NAME_ACTIVE);
149
+ var dropdownChild = $(active.parentNode).find(SELECTOR_DROPDOWN_ACTIVE_CHILD)[0];
172
150
 
173
151
  if (dropdownChild) {
174
- $(dropdownChild).removeClass(ClassName.ACTIVE);
152
+ $(dropdownChild).removeClass(CLASS_NAME_ACTIVE);
175
153
  }
176
154
 
177
155
  if (active.getAttribute('role') === 'tab') {
@@ -179,21 +157,24 @@
179
157
  }
180
158
  }
181
159
 
182
- $(element).addClass(ClassName.ACTIVE);
160
+ $(element).addClass(CLASS_NAME_ACTIVE);
183
161
 
184
162
  if (element.getAttribute('role') === 'tab') {
185
163
  element.setAttribute('aria-selected', true);
186
164
  }
187
165
 
188
166
  Util.reflow(element);
189
- $(element).addClass(ClassName.SHOW);
190
167
 
191
- if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
192
- var dropdownElement = $(element).closest(Selector.DROPDOWN)[0];
168
+ if (element.classList.contains(CLASS_NAME_FADE)) {
169
+ element.classList.add(CLASS_NAME_SHOW);
170
+ }
171
+
172
+ if (element.parentNode && $(element.parentNode).hasClass(CLASS_NAME_DROPDOWN_MENU)) {
173
+ var dropdownElement = $(element).closest(SELECTOR_DROPDOWN)[0];
193
174
 
194
175
  if (dropdownElement) {
195
- var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE));
196
- $(dropdownToggleList).addClass(ClassName.ACTIVE);
176
+ var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE));
177
+ $(dropdownToggleList).addClass(CLASS_NAME_ACTIVE);
197
178
  }
198
179
 
199
180
  element.setAttribute('aria-expanded', true);
@@ -202,8 +183,8 @@
202
183
  if (callback) {
203
184
  callback();
204
185
  }
205
- }; // Static
206
-
186
+ } // Static
187
+ ;
207
188
 
208
189
  Tab._jQueryInterface = function _jQueryInterface(config) {
209
190
  return this.each(function () {
@@ -241,7 +222,7 @@
241
222
  */
242
223
 
243
224
 
244
- $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
225
+ $(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
245
226
  event.preventDefault();
246
227
 
247
228
  Tab._jQueryInterface.call($(this), 'show');