bootstrap 4.6.0 → 4.6.1

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.

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/README.md +1 -1
  3. data/assets/javascripts/bootstrap/alert.js +27 -35
  4. data/assets/javascripts/bootstrap/button.js +27 -35
  5. data/assets/javascripts/bootstrap/carousel.js +81 -93
  6. data/assets/javascripts/bootstrap/collapse.js +63 -71
  7. data/assets/javascripts/bootstrap/dropdown.js +66 -77
  8. data/assets/javascripts/bootstrap/modal.js +114 -122
  9. data/assets/javascripts/bootstrap/popover.js +36 -32
  10. data/assets/javascripts/bootstrap/scrollspy.js +41 -49
  11. data/assets/javascripts/bootstrap/tab.js +50 -52
  12. data/assets/javascripts/bootstrap/toast.js +37 -43
  13. data/assets/javascripts/bootstrap/tooltip.js +106 -111
  14. data/assets/javascripts/bootstrap/util.js +15 -18
  15. data/assets/javascripts/bootstrap-sprockets.js +7 -7
  16. data/assets/javascripts/bootstrap.js +787 -862
  17. data/assets/javascripts/bootstrap.min.js +2 -2
  18. data/assets/stylesheets/_bootstrap-grid.scss +1 -1
  19. data/assets/stylesheets/_bootstrap-reboot.scss +1 -1
  20. data/assets/stylesheets/_bootstrap.scss +1 -1
  21. data/assets/stylesheets/bootstrap/_card.scss +5 -5
  22. data/assets/stylesheets/bootstrap/_carousel.scss +5 -2
  23. data/assets/stylesheets/bootstrap/_custom-forms.scss +6 -6
  24. data/assets/stylesheets/bootstrap/_forms.scss +10 -10
  25. data/assets/stylesheets/bootstrap/_functions.scss +47 -1
  26. data/assets/stylesheets/bootstrap/_images.scss +1 -1
  27. data/assets/stylesheets/bootstrap/_input-group.scss +3 -0
  28. data/assets/stylesheets/bootstrap/_jumbotron.scss +1 -1
  29. data/assets/stylesheets/bootstrap/_modal.scss +2 -2
  30. data/assets/stylesheets/bootstrap/_popover.scss +9 -9
  31. data/assets/stylesheets/bootstrap/_print.scss +0 -9
  32. data/assets/stylesheets/bootstrap/_spinners.scss +2 -2
  33. data/assets/stylesheets/bootstrap/_tooltip.scss +4 -4
  34. data/assets/stylesheets/bootstrap/_variables.scss +12 -10
  35. data/assets/stylesheets/bootstrap/mixins/_forms.scss +13 -3
  36. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +2 -2
  37. data/assets/stylesheets/bootstrap/mixins/_grid.scss +11 -11
  38. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +1 -1
  39. data/assets/stylesheets/bootstrap/utilities/_embed.scss +1 -1
  40. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +1 -1
  41. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +126 -102
  42. data/lib/bootstrap/version.rb +2 -2
  43. metadata +2 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap popover.js v4.6.0 (https://getbootstrap.com/)
2
+ * Bootstrap popover.js v4.6.1 (https://getbootstrap.com/)
3
3
  * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
5
  */
@@ -7,7 +7,7 @@
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'], factory) :
9
9
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.jQuery, global.Tooltip));
10
- }(this, (function ($, Tooltip) { 'use strict';
10
+ })(this, (function ($, Tooltip) { 'use strict';
11
11
 
12
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
13
 
@@ -51,38 +51,46 @@
51
51
  function _inheritsLoose(subClass, superClass) {
52
52
  subClass.prototype = Object.create(superClass.prototype);
53
53
  subClass.prototype.constructor = subClass;
54
- subClass.__proto__ = superClass;
54
+
55
+ _setPrototypeOf(subClass, superClass);
56
+ }
57
+
58
+ function _setPrototypeOf(o, p) {
59
+ _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
60
+ o.__proto__ = p;
61
+ return o;
62
+ };
63
+
64
+ return _setPrototypeOf(o, p);
55
65
  }
56
66
 
57
67
  /**
58
- * ------------------------------------------------------------------------
59
68
  * Constants
60
- * ------------------------------------------------------------------------
61
69
  */
62
70
 
63
71
  var NAME = 'popover';
64
- var VERSION = '4.6.0';
72
+ var VERSION = '4.6.1';
65
73
  var DATA_KEY = 'bs.popover';
66
74
  var EVENT_KEY = "." + DATA_KEY;
67
- var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME];
75
+ var JQUERY_NO_CONFLICT = $__default["default"].fn[NAME];
68
76
  var CLASS_PREFIX = 'bs-popover';
69
77
  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
78
+ var CLASS_NAME_FADE = 'fade';
79
+ var CLASS_NAME_SHOW = 'show';
80
+ var SELECTOR_TITLE = '.popover-header';
81
+ var SELECTOR_CONTENT = '.popover-body';
70
82
 
71
- var Default = _extends({}, Tooltip__default['default'].Default, {
83
+ var Default = _extends({}, Tooltip__default["default"].Default, {
72
84
  placement: 'right',
73
85
  trigger: 'click',
74
86
  content: '',
75
87
  template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
76
88
  });
77
89
 
78
- var DefaultType = _extends({}, Tooltip__default['default'].DefaultType, {
90
+ var DefaultType = _extends({}, Tooltip__default["default"].DefaultType, {
79
91
  content: '(string|element|function)'
80
92
  });
81
93
 
82
- var CLASS_NAME_FADE = 'fade';
83
- var CLASS_NAME_SHOW = 'show';
84
- var SELECTOR_TITLE = '.popover-header';
85
- var SELECTOR_CONTENT = '.popover-body';
86
94
  var Event = {
87
95
  HIDE: "hide" + EVENT_KEY,
88
96
  HIDDEN: "hidden" + EVENT_KEY,
@@ -96,9 +104,7 @@
96
104
  MOUSELEAVE: "mouseleave" + EVENT_KEY
97
105
  };
98
106
  /**
99
- * ------------------------------------------------------------------------
100
- * Class Definition
101
- * ------------------------------------------------------------------------
107
+ * Class definition
102
108
  */
103
109
 
104
110
  var Popover = /*#__PURE__*/function (_Tooltip) {
@@ -116,16 +122,16 @@
116
122
  };
117
123
 
118
124
  _proto.addAttachmentClass = function addAttachmentClass(attachment) {
119
- $__default['default'](this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
125
+ $__default["default"](this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
120
126
  };
121
127
 
122
128
  _proto.getTipElement = function getTipElement() {
123
- this.tip = this.tip || $__default['default'](this.config.template)[0];
129
+ this.tip = this.tip || $__default["default"](this.config.template)[0];
124
130
  return this.tip;
125
131
  };
126
132
 
127
133
  _proto.setContent = function setContent() {
128
- var $tip = $__default['default'](this.getTipElement()); // We use append for html objects to maintain js events
134
+ var $tip = $__default["default"](this.getTipElement()); // We use append for html objects to maintain js events
129
135
 
130
136
  this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle());
131
137
 
@@ -145,7 +151,7 @@
145
151
  };
146
152
 
147
153
  _proto._cleanTipClass = function _cleanTipClass() {
148
- var $tip = $__default['default'](this.getTipElement());
154
+ var $tip = $__default["default"](this.getTipElement());
149
155
  var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
150
156
 
151
157
  if (tabClass !== null && tabClass.length > 0) {
@@ -156,7 +162,7 @@
156
162
 
157
163
  Popover._jQueryInterface = function _jQueryInterface(config) {
158
164
  return this.each(function () {
159
- var data = $__default['default'](this).data(DATA_KEY);
165
+ var data = $__default["default"](this).data(DATA_KEY);
160
166
 
161
167
  var _config = typeof config === 'object' ? config : null;
162
168
 
@@ -166,7 +172,7 @@
166
172
 
167
173
  if (!data) {
168
174
  data = new Popover(this, _config);
169
- $__default['default'](this).data(DATA_KEY, data);
175
+ $__default["default"](this).data(DATA_KEY, data);
170
176
  }
171
177
 
172
178
  if (typeof config === 'string') {
@@ -181,8 +187,8 @@
181
187
 
182
188
  _createClass(Popover, null, [{
183
189
  key: "VERSION",
184
- // Getters
185
- get: function get() {
190
+ get: // Getters
191
+ function get() {
186
192
  return VERSION;
187
193
  }
188
194
  }, {
@@ -218,22 +224,20 @@
218
224
  }]);
219
225
 
220
226
  return Popover;
221
- }(Tooltip__default['default']);
227
+ }(Tooltip__default["default"]);
222
228
  /**
223
- * ------------------------------------------------------------------------
224
229
  * jQuery
225
- * ------------------------------------------------------------------------
226
230
  */
227
231
 
228
232
 
229
- $__default['default'].fn[NAME] = Popover._jQueryInterface;
230
- $__default['default'].fn[NAME].Constructor = Popover;
233
+ $__default["default"].fn[NAME] = Popover._jQueryInterface;
234
+ $__default["default"].fn[NAME].Constructor = Popover;
231
235
 
232
- $__default['default'].fn[NAME].noConflict = function () {
233
- $__default['default'].fn[NAME] = JQUERY_NO_CONFLICT;
236
+ $__default["default"].fn[NAME].noConflict = function () {
237
+ $__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
234
238
  return Popover._jQueryInterface;
235
239
  };
236
240
 
237
241
  return Popover;
238
242
 
239
- })));
243
+ }));
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap scrollspy.js v4.6.0 (https://getbootstrap.com/)
2
+ * Bootstrap scrollspy.js v4.6.1 (https://getbootstrap.com/)
3
3
  * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
5
  */
@@ -7,7 +7,7 @@
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'], factory) :
9
9
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.ScrollSpy = factory(global.jQuery, global.Util));
10
- }(this, (function ($, Util) { 'use strict';
10
+ })(this, (function ($, Util) { 'use strict';
11
11
 
12
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
13
 
@@ -49,32 +49,22 @@
49
49
  }
50
50
 
51
51
  /**
52
- * ------------------------------------------------------------------------
53
52
  * Constants
54
- * ------------------------------------------------------------------------
55
53
  */
56
54
 
57
55
  var NAME = 'scrollspy';
58
- var VERSION = '4.6.0';
56
+ var VERSION = '4.6.1';
59
57
  var DATA_KEY = 'bs.scrollspy';
60
58
  var EVENT_KEY = "." + DATA_KEY;
61
59
  var DATA_API_KEY = '.data-api';
62
- var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME];
63
- var Default = {
64
- offset: 10,
65
- method: 'auto',
66
- target: ''
67
- };
68
- var DefaultType = {
69
- offset: 'number',
70
- method: 'string',
71
- target: '(string|element)'
72
- };
60
+ var JQUERY_NO_CONFLICT = $__default["default"].fn[NAME];
61
+ var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
62
+ var CLASS_NAME_ACTIVE = 'active';
73
63
  var EVENT_ACTIVATE = "activate" + EVENT_KEY;
74
64
  var EVENT_SCROLL = "scroll" + EVENT_KEY;
75
65
  var EVENT_LOAD_DATA_API = "load" + EVENT_KEY + DATA_API_KEY;
76
- var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
77
- var CLASS_NAME_ACTIVE = 'active';
66
+ var METHOD_OFFSET = 'offset';
67
+ var METHOD_POSITION = 'position';
78
68
  var SELECTOR_DATA_SPY = '[data-spy="scroll"]';
79
69
  var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
80
70
  var SELECTOR_NAV_LINKS = '.nav-link';
@@ -83,12 +73,18 @@
83
73
  var SELECTOR_DROPDOWN = '.dropdown';
84
74
  var SELECTOR_DROPDOWN_ITEMS = '.dropdown-item';
85
75
  var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
86
- var METHOD_OFFSET = 'offset';
87
- var METHOD_POSITION = 'position';
76
+ var Default = {
77
+ offset: 10,
78
+ method: 'auto',
79
+ target: ''
80
+ };
81
+ var DefaultType = {
82
+ offset: 'number',
83
+ method: 'string',
84
+ target: '(string|element)'
85
+ };
88
86
  /**
89
- * ------------------------------------------------------------------------
90
- * Class Definition
91
- * ------------------------------------------------------------------------
87
+ * Class definition
92
88
  */
93
89
 
94
90
  var ScrollSpy = /*#__PURE__*/function () {
@@ -103,7 +99,7 @@
103
99
  this._targets = [];
104
100
  this._activeTarget = null;
105
101
  this._scrollHeight = 0;
106
- $__default['default'](this._scrollElement).on(EVENT_SCROLL, function (event) {
102
+ $__default["default"](this._scrollElement).on(EVENT_SCROLL, function (event) {
107
103
  return _this._process(event);
108
104
  });
109
105
  this.refresh();
@@ -127,7 +123,7 @@
127
123
  var targets = [].slice.call(document.querySelectorAll(this._selector));
128
124
  targets.map(function (element) {
129
125
  var target;
130
- var targetSelector = Util__default['default'].getSelectorFromElement(element);
126
+ var targetSelector = Util__default["default"].getSelectorFromElement(element);
131
127
 
132
128
  if (targetSelector) {
133
129
  target = document.querySelector(targetSelector);
@@ -138,7 +134,7 @@
138
134
 
139
135
  if (targetBCR.width || targetBCR.height) {
140
136
  // TODO (fat): remove sketch reliance on jQuery position/offset
141
- return [$__default['default'](target)[offsetMethod]().top + offsetBase, targetSelector];
137
+ return [$__default["default"](target)[offsetMethod]().top + offsetBase, targetSelector];
142
138
  }
143
139
  }
144
140
 
@@ -155,8 +151,8 @@
155
151
  };
156
152
 
157
153
  _proto.dispose = function dispose() {
158
- $__default['default'].removeData(this._element, DATA_KEY);
159
- $__default['default'](this._scrollElement).off(EVENT_KEY);
154
+ $__default["default"].removeData(this._element, DATA_KEY);
155
+ $__default["default"](this._scrollElement).off(EVENT_KEY);
160
156
  this._element = null;
161
157
  this._scrollElement = null;
162
158
  this._config = null;
@@ -171,18 +167,18 @@
171
167
  _proto._getConfig = function _getConfig(config) {
172
168
  config = _extends({}, Default, typeof config === 'object' && config ? config : {});
173
169
 
174
- if (typeof config.target !== 'string' && Util__default['default'].isElement(config.target)) {
175
- var id = $__default['default'](config.target).attr('id');
170
+ if (typeof config.target !== 'string' && Util__default["default"].isElement(config.target)) {
171
+ var id = $__default["default"](config.target).attr('id');
176
172
 
177
173
  if (!id) {
178
- id = Util__default['default'].getUID(NAME);
179
- $__default['default'](config.target).attr('id', id);
174
+ id = Util__default["default"].getUID(NAME);
175
+ $__default["default"](config.target).attr('id', id);
180
176
  }
181
177
 
182
178
  config.target = "#" + id;
183
179
  }
184
180
 
185
- Util__default['default'].typeCheckConfig(NAME, config, DefaultType);
181
+ Util__default["default"].typeCheckConfig(NAME, config, DefaultType);
186
182
  return config;
187
183
  };
188
184
 
@@ -245,7 +241,7 @@
245
241
  return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]";
246
242
  });
247
243
 
248
- var $link = $__default['default']([].slice.call(document.querySelectorAll(queries.join(','))));
244
+ var $link = $__default["default"]([].slice.call(document.querySelectorAll(queries.join(','))));
249
245
 
250
246
  if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {
251
247
  $link.closest(SELECTOR_DROPDOWN).find(SELECTOR_DROPDOWN_TOGGLE).addClass(CLASS_NAME_ACTIVE);
@@ -260,7 +256,7 @@
260
256
  $link.parents(SELECTOR_NAV_LIST_GROUP).prev(SELECTOR_NAV_ITEMS).children(SELECTOR_NAV_LINKS).addClass(CLASS_NAME_ACTIVE);
261
257
  }
262
258
 
263
- $__default['default'](this._scrollElement).trigger(EVENT_ACTIVATE, {
259
+ $__default["default"](this._scrollElement).trigger(EVENT_ACTIVATE, {
264
260
  relatedTarget: target
265
261
  });
266
262
  };
@@ -276,13 +272,13 @@
276
272
 
277
273
  ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
278
274
  return this.each(function () {
279
- var data = $__default['default'](this).data(DATA_KEY);
275
+ var data = $__default["default"](this).data(DATA_KEY);
280
276
 
281
277
  var _config = typeof config === 'object' && config;
282
278
 
283
279
  if (!data) {
284
280
  data = new ScrollSpy(this, _config);
285
- $__default['default'](this).data(DATA_KEY, data);
281
+ $__default["default"](this).data(DATA_KEY, data);
286
282
  }
287
283
 
288
284
  if (typeof config === 'string') {
@@ -310,36 +306,32 @@
310
306
  return ScrollSpy;
311
307
  }();
312
308
  /**
313
- * ------------------------------------------------------------------------
314
- * Data Api implementation
315
- * ------------------------------------------------------------------------
309
+ * Data API implementation
316
310
  */
317
311
 
318
312
 
319
- $__default['default'](window).on(EVENT_LOAD_DATA_API, function () {
313
+ $__default["default"](window).on(EVENT_LOAD_DATA_API, function () {
320
314
  var scrollSpys = [].slice.call(document.querySelectorAll(SELECTOR_DATA_SPY));
321
315
  var scrollSpysLength = scrollSpys.length;
322
316
 
323
317
  for (var i = scrollSpysLength; i--;) {
324
- var $spy = $__default['default'](scrollSpys[i]);
318
+ var $spy = $__default["default"](scrollSpys[i]);
325
319
 
326
320
  ScrollSpy._jQueryInterface.call($spy, $spy.data());
327
321
  }
328
322
  });
329
323
  /**
330
- * ------------------------------------------------------------------------
331
324
  * jQuery
332
- * ------------------------------------------------------------------------
333
325
  */
334
326
 
335
- $__default['default'].fn[NAME] = ScrollSpy._jQueryInterface;
336
- $__default['default'].fn[NAME].Constructor = ScrollSpy;
327
+ $__default["default"].fn[NAME] = ScrollSpy._jQueryInterface;
328
+ $__default["default"].fn[NAME].Constructor = ScrollSpy;
337
329
 
338
- $__default['default'].fn[NAME].noConflict = function () {
339
- $__default['default'].fn[NAME] = JQUERY_NO_CONFLICT;
330
+ $__default["default"].fn[NAME].noConflict = function () {
331
+ $__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
340
332
  return ScrollSpy._jQueryInterface;
341
333
  };
342
334
 
343
335
  return ScrollSpy;
344
336
 
345
- })));
337
+ }));
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap tab.js v4.6.0 (https://getbootstrap.com/)
2
+ * Bootstrap tab.js v4.6.1 (https://getbootstrap.com/)
3
3
  * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
5
  */
@@ -7,7 +7,7 @@
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'], factory) :
9
9
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Tab = factory(global.jQuery, global.Util));
10
- }(this, (function ($, Util) { 'use strict';
10
+ })(this, (function ($, Util) { 'use strict';
11
11
 
12
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
13
 
@@ -31,27 +31,25 @@
31
31
  }
32
32
 
33
33
  /**
34
- * ------------------------------------------------------------------------
35
34
  * Constants
36
- * ------------------------------------------------------------------------
37
35
  */
38
36
 
39
37
  var NAME = 'tab';
40
- var VERSION = '4.6.0';
38
+ var VERSION = '4.6.1';
41
39
  var DATA_KEY = 'bs.tab';
42
40
  var EVENT_KEY = "." + DATA_KEY;
43
41
  var DATA_API_KEY = '.data-api';
44
- var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME];
45
- var EVENT_HIDE = "hide" + EVENT_KEY;
46
- var EVENT_HIDDEN = "hidden" + EVENT_KEY;
47
- var EVENT_SHOW = "show" + EVENT_KEY;
48
- var EVENT_SHOWN = "shown" + EVENT_KEY;
49
- var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
42
+ var JQUERY_NO_CONFLICT = $__default["default"].fn[NAME];
50
43
  var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
51
44
  var CLASS_NAME_ACTIVE = 'active';
52
45
  var CLASS_NAME_DISABLED = 'disabled';
53
46
  var CLASS_NAME_FADE = 'fade';
54
47
  var CLASS_NAME_SHOW = 'show';
48
+ var EVENT_HIDE = "hide" + EVENT_KEY;
49
+ var EVENT_HIDDEN = "hidden" + EVENT_KEY;
50
+ var EVENT_SHOW = "show" + EVENT_KEY;
51
+ var EVENT_SHOWN = "shown" + EVENT_KEY;
52
+ var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
55
53
  var SELECTOR_DROPDOWN = '.dropdown';
56
54
  var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
57
55
  var SELECTOR_ACTIVE = '.active';
@@ -60,9 +58,7 @@
60
58
  var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
61
59
  var SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active';
62
60
  /**
63
- * ------------------------------------------------------------------------
64
- * Class Definition
65
- * ------------------------------------------------------------------------
61
+ * Class definition
66
62
  */
67
63
 
68
64
  var Tab = /*#__PURE__*/function () {
@@ -77,33 +73,33 @@
77
73
  _proto.show = function show() {
78
74
  var _this = this;
79
75
 
80
- if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $__default['default'](this._element).hasClass(CLASS_NAME_ACTIVE) || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED)) {
76
+ if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $__default["default"](this._element).hasClass(CLASS_NAME_ACTIVE) || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED)) {
81
77
  return;
82
78
  }
83
79
 
84
80
  var target;
85
81
  var previous;
86
- var listElement = $__default['default'](this._element).closest(SELECTOR_NAV_LIST_GROUP)[0];
87
- var selector = Util__default['default'].getSelectorFromElement(this._element);
82
+ var listElement = $__default["default"](this._element).closest(SELECTOR_NAV_LIST_GROUP)[0];
83
+ var selector = Util__default["default"].getSelectorFromElement(this._element);
88
84
 
89
85
  if (listElement) {
90
86
  var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE;
91
- previous = $__default['default'].makeArray($__default['default'](listElement).find(itemSelector));
87
+ previous = $__default["default"].makeArray($__default["default"](listElement).find(itemSelector));
92
88
  previous = previous[previous.length - 1];
93
89
  }
94
90
 
95
- var hideEvent = $__default['default'].Event(EVENT_HIDE, {
91
+ var hideEvent = $__default["default"].Event(EVENT_HIDE, {
96
92
  relatedTarget: this._element
97
93
  });
98
- var showEvent = $__default['default'].Event(EVENT_SHOW, {
94
+ var showEvent = $__default["default"].Event(EVENT_SHOW, {
99
95
  relatedTarget: previous
100
96
  });
101
97
 
102
98
  if (previous) {
103
- $__default['default'](previous).trigger(hideEvent);
99
+ $__default["default"](previous).trigger(hideEvent);
104
100
  }
105
101
 
106
- $__default['default'](this._element).trigger(showEvent);
102
+ $__default["default"](this._element).trigger(showEvent);
107
103
 
108
104
  if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
109
105
  return;
@@ -116,14 +112,14 @@
116
112
  this._activate(this._element, listElement);
117
113
 
118
114
  var complete = function complete() {
119
- var hiddenEvent = $__default['default'].Event(EVENT_HIDDEN, {
115
+ var hiddenEvent = $__default["default"].Event(EVENT_HIDDEN, {
120
116
  relatedTarget: _this._element
121
117
  });
122
- var shownEvent = $__default['default'].Event(EVENT_SHOWN, {
118
+ var shownEvent = $__default["default"].Event(EVENT_SHOWN, {
123
119
  relatedTarget: previous
124
120
  });
125
- $__default['default'](previous).trigger(hiddenEvent);
126
- $__default['default'](_this._element).trigger(shownEvent);
121
+ $__default["default"](previous).trigger(hiddenEvent);
122
+ $__default["default"](_this._element).trigger(shownEvent);
127
123
  };
128
124
 
129
125
  if (target) {
@@ -134,7 +130,7 @@
134
130
  };
135
131
 
136
132
  _proto.dispose = function dispose() {
137
- $__default['default'].removeData(this._element, DATA_KEY);
133
+ $__default["default"].removeData(this._element, DATA_KEY);
138
134
  this._element = null;
139
135
  } // Private
140
136
  ;
@@ -142,17 +138,17 @@
142
138
  _proto._activate = function _activate(element, container, callback) {
143
139
  var _this2 = this;
144
140
 
145
- var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $__default['default'](container).find(SELECTOR_ACTIVE_UL) : $__default['default'](container).children(SELECTOR_ACTIVE);
141
+ var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $__default["default"](container).find(SELECTOR_ACTIVE_UL) : $__default["default"](container).children(SELECTOR_ACTIVE);
146
142
  var active = activeElements[0];
147
- var isTransitioning = callback && active && $__default['default'](active).hasClass(CLASS_NAME_FADE);
143
+ var isTransitioning = callback && active && $__default["default"](active).hasClass(CLASS_NAME_FADE);
148
144
 
149
145
  var complete = function complete() {
150
146
  return _this2._transitionComplete(element, active, callback);
151
147
  };
152
148
 
153
149
  if (active && isTransitioning) {
154
- var transitionDuration = Util__default['default'].getTransitionDurationFromElement(active);
155
- $__default['default'](active).removeClass(CLASS_NAME_SHOW).one(Util__default['default'].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
150
+ var transitionDuration = Util__default["default"].getTransitionDurationFromElement(active);
151
+ $__default["default"](active).removeClass(CLASS_NAME_SHOW).one(Util__default["default"].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
156
152
  } else {
157
153
  complete();
158
154
  }
@@ -160,11 +156,11 @@
160
156
 
161
157
  _proto._transitionComplete = function _transitionComplete(element, active, callback) {
162
158
  if (active) {
163
- $__default['default'](active).removeClass(CLASS_NAME_ACTIVE);
164
- var dropdownChild = $__default['default'](active.parentNode).find(SELECTOR_DROPDOWN_ACTIVE_CHILD)[0];
159
+ $__default["default"](active).removeClass(CLASS_NAME_ACTIVE);
160
+ var dropdownChild = $__default["default"](active.parentNode).find(SELECTOR_DROPDOWN_ACTIVE_CHILD)[0];
165
161
 
166
162
  if (dropdownChild) {
167
- $__default['default'](dropdownChild).removeClass(CLASS_NAME_ACTIVE);
163
+ $__default["default"](dropdownChild).removeClass(CLASS_NAME_ACTIVE);
168
164
  }
169
165
 
170
166
  if (active.getAttribute('role') === 'tab') {
@@ -172,24 +168,30 @@
172
168
  }
173
169
  }
174
170
 
175
- $__default['default'](element).addClass(CLASS_NAME_ACTIVE);
171
+ $__default["default"](element).addClass(CLASS_NAME_ACTIVE);
176
172
 
177
173
  if (element.getAttribute('role') === 'tab') {
178
174
  element.setAttribute('aria-selected', true);
179
175
  }
180
176
 
181
- Util__default['default'].reflow(element);
177
+ Util__default["default"].reflow(element);
182
178
 
183
179
  if (element.classList.contains(CLASS_NAME_FADE)) {
184
180
  element.classList.add(CLASS_NAME_SHOW);
185
181
  }
186
182
 
187
- if (element.parentNode && $__default['default'](element.parentNode).hasClass(CLASS_NAME_DROPDOWN_MENU)) {
188
- var dropdownElement = $__default['default'](element).closest(SELECTOR_DROPDOWN)[0];
183
+ var parent = element.parentNode;
184
+
185
+ if (parent && parent.nodeName === 'LI') {
186
+ parent = parent.parentNode;
187
+ }
188
+
189
+ if (parent && $__default["default"](parent).hasClass(CLASS_NAME_DROPDOWN_MENU)) {
190
+ var dropdownElement = $__default["default"](element).closest(SELECTOR_DROPDOWN)[0];
189
191
 
190
192
  if (dropdownElement) {
191
193
  var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE));
192
- $__default['default'](dropdownToggleList).addClass(CLASS_NAME_ACTIVE);
194
+ $__default["default"](dropdownToggleList).addClass(CLASS_NAME_ACTIVE);
193
195
  }
194
196
 
195
197
  element.setAttribute('aria-expanded', true);
@@ -203,7 +205,7 @@
203
205
 
204
206
  Tab._jQueryInterface = function _jQueryInterface(config) {
205
207
  return this.each(function () {
206
- var $this = $__default['default'](this);
208
+ var $this = $__default["default"](this);
207
209
  var data = $this.data(DATA_KEY);
208
210
 
209
211
  if (!data) {
@@ -231,31 +233,27 @@
231
233
  return Tab;
232
234
  }();
233
235
  /**
234
- * ------------------------------------------------------------------------
235
- * Data Api implementation
236
- * ------------------------------------------------------------------------
236
+ * Data API implementation
237
237
  */
238
238
 
239
239
 
240
- $__default['default'](document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
240
+ $__default["default"](document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
241
241
  event.preventDefault();
242
242
 
243
- Tab._jQueryInterface.call($__default['default'](this), 'show');
243
+ Tab._jQueryInterface.call($__default["default"](this), 'show');
244
244
  });
245
245
  /**
246
- * ------------------------------------------------------------------------
247
246
  * jQuery
248
- * ------------------------------------------------------------------------
249
247
  */
250
248
 
251
- $__default['default'].fn[NAME] = Tab._jQueryInterface;
252
- $__default['default'].fn[NAME].Constructor = Tab;
249
+ $__default["default"].fn[NAME] = Tab._jQueryInterface;
250
+ $__default["default"].fn[NAME].Constructor = Tab;
253
251
 
254
- $__default['default'].fn[NAME].noConflict = function () {
255
- $__default['default'].fn[NAME] = JQUERY_NO_CONFLICT;
252
+ $__default["default"].fn[NAME].noConflict = function () {
253
+ $__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
256
254
  return Tab._jQueryInterface;
257
255
  };
258
256
 
259
257
  return Tab;
260
258
 
261
- })));
259
+ }));