bootstrap 4.3.1 → 4.6.0

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 (86) 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 +1073 -1076
  7. data/assets/javascripts/bootstrap.min.js +4 -4
  8. data/assets/javascripts/bootstrap/alert.js +42 -49
  9. data/assets/javascripts/bootstrap/button.js +111 -64
  10. data/assets/javascripts/bootstrap/carousel.js +162 -177
  11. data/assets/javascripts/bootstrap/collapse.js +97 -122
  12. data/assets/javascripts/bootstrap/dropdown.js +163 -189
  13. data/assets/javascripts/bootstrap/modal.js +213 -194
  14. data/assets/javascripts/bootstrap/popover.js +51 -72
  15. data/assets/javascripts/bootstrap/scrollspy.js +80 -109
  16. data/assets/javascripts/bootstrap/tab.js +72 -79
  17. data/assets/javascripts/bootstrap/toast.js +96 -107
  18. data/assets/javascripts/bootstrap/tooltip.js +186 -201
  19. data/assets/javascripts/bootstrap/util.js +41 -20
  20. data/assets/stylesheets/_bootstrap-grid.scss +5 -4
  21. data/assets/stylesheets/_bootstrap-reboot.scss +4 -4
  22. data/assets/stylesheets/_bootstrap.scss +4 -4
  23. data/assets/stylesheets/bootstrap/_alert.scss +1 -0
  24. data/assets/stylesheets/bootstrap/_badge.scss +1 -1
  25. data/assets/stylesheets/bootstrap/_breadcrumb.scss +3 -2
  26. data/assets/stylesheets/bootstrap/_button-group.scss +1 -1
  27. data/assets/stylesheets/bootstrap/_buttons.scss +13 -8
  28. data/assets/stylesheets/bootstrap/_card.scss +42 -45
  29. data/assets/stylesheets/bootstrap/_carousel.scss +7 -7
  30. data/assets/stylesheets/bootstrap/_close.scss +2 -3
  31. data/assets/stylesheets/bootstrap/_code.scss +1 -1
  32. data/assets/stylesheets/bootstrap/_custom-forms.scss +38 -19
  33. data/assets/stylesheets/bootstrap/_dropdown.scss +7 -6
  34. data/assets/stylesheets/bootstrap/_forms.scss +26 -9
  35. data/assets/stylesheets/bootstrap/_functions.scss +63 -5
  36. data/assets/stylesheets/bootstrap/_grid.scss +32 -11
  37. data/assets/stylesheets/bootstrap/_images.scss +2 -2
  38. data/assets/stylesheets/bootstrap/_input-group.scss +21 -6
  39. data/assets/stylesheets/bootstrap/_list-group.scss +36 -31
  40. data/assets/stylesheets/bootstrap/_mixins.scss +3 -3
  41. data/assets/stylesheets/bootstrap/_modal.scss +26 -15
  42. data/assets/stylesheets/bootstrap/_nav.scss +7 -7
  43. data/assets/stylesheets/bootstrap/_navbar.scss +55 -17
  44. data/assets/stylesheets/bootstrap/_pagination.scss +5 -4
  45. data/assets/stylesheets/bootstrap/_popover.scss +8 -9
  46. data/assets/stylesheets/bootstrap/_print.scss +2 -2
  47. data/assets/stylesheets/bootstrap/_progress.scss +7 -3
  48. data/assets/stylesheets/bootstrap/_reboot.scss +39 -38
  49. data/assets/stylesheets/bootstrap/_spinners.scss +14 -4
  50. data/assets/stylesheets/bootstrap/_tables.scss +3 -3
  51. data/assets/stylesheets/bootstrap/_toasts.scss +4 -2
  52. data/assets/stylesheets/bootstrap/_type.scss +3 -3
  53. data/assets/stylesheets/bootstrap/_utilities.scss +2 -1
  54. data/assets/stylesheets/bootstrap/_variables.scss +58 -35
  55. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +5 -3
  56. data/assets/stylesheets/bootstrap/mixins/_badge.scss +1 -1
  57. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +27 -14
  58. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +11 -8
  59. data/assets/stylesheets/bootstrap/mixins/_caret.scss +8 -8
  60. data/assets/stylesheets/bootstrap/mixins/_float.scss +3 -3
  61. data/assets/stylesheets/bootstrap/mixins/_forms.scss +42 -49
  62. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +29 -15
  63. data/assets/stylesheets/bootstrap/mixins/_grid.scss +25 -7
  64. data/assets/stylesheets/bootstrap/mixins/_hover.scss +4 -4
  65. data/assets/stylesheets/bootstrap/mixins/_image.scss +2 -2
  66. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +1 -1
  67. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  68. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +2 -1
  69. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +1 -1
  70. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +4 -3
  71. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +1 -1
  72. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +3 -2
  73. data/assets/stylesheets/bootstrap/mixins/_transition.scss +18 -8
  74. data/assets/stylesheets/bootstrap/utilities/_background.scss +2 -2
  75. data/assets/stylesheets/bootstrap/utilities/_borders.scss +1 -1
  76. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +5 -0
  77. data/assets/stylesheets/bootstrap/utilities/_text.scss +4 -4
  78. data/bootstrap.gemspec +1 -1
  79. data/lib/bootstrap/version.rb +2 -2
  80. data/tasks/updater/network.rb +2 -2
  81. data/test/dummy_rails/app/assets/config/manifest.js +3 -0
  82. data/test/dummy_rails/app/assets/stylesheets/.browserslistrc +1 -0
  83. data/test/gemfiles/rails_6_0.gemfile +7 -0
  84. data/test/support/dummy_rails_integration.rb +3 -1
  85. data/test/test_helper.rb +18 -13
  86. metadata +11 -5
@@ -1,16 +1,18 @@
1
1
  /*!
2
- * Bootstrap tab.js v4.3.1 (https://getbootstrap.com/)
3
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2
+ * Bootstrap tab.js v4.6.0 (https://getbootstrap.com/)
3
+ * Copyright 2011-2021 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
- typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) :
9
- (global = global || self, global.Tab = factory(global.jQuery, global.Util));
10
- }(this, function ($, Util) { 'use strict';
8
+ typeof define === 'function' && define.amd ? define(['jquery', './util'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Tab = factory(global.jQuery, global.Util));
10
+ }(this, (function ($, Util) { 'use strict';
11
11
 
12
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
- Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
+
14
+ var $__default = /*#__PURE__*/_interopDefaultLegacy($);
15
+ var Util__default = /*#__PURE__*/_interopDefaultLegacy(Util);
14
16
 
15
17
  function _defineProperties(target, props) {
16
18
  for (var i = 0; i < props.length; i++) {
@@ -35,44 +37,35 @@
35
37
  */
36
38
 
37
39
  var NAME = 'tab';
38
- var VERSION = '4.3.1';
40
+ var VERSION = '4.6.0';
39
41
  var DATA_KEY = 'bs.tab';
40
42
  var EVENT_KEY = "." + DATA_KEY;
41
43
  var DATA_API_KEY = '.data-api';
42
- 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
- };
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;
50
+ var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
51
+ var CLASS_NAME_ACTIVE = 'active';
52
+ var CLASS_NAME_DISABLED = 'disabled';
53
+ var CLASS_NAME_FADE = 'fade';
54
+ var CLASS_NAME_SHOW = 'show';
55
+ var SELECTOR_DROPDOWN = '.dropdown';
56
+ var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
57
+ var SELECTOR_ACTIVE = '.active';
58
+ var SELECTOR_ACTIVE_UL = '> li > .active';
59
+ var SELECTOR_DATA_TOGGLE = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]';
60
+ var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
61
+ var SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active';
62
+ /**
63
+ * ------------------------------------------------------------------------
64
+ * Class Definition
65
+ * ------------------------------------------------------------------------
66
+ */
72
67
 
73
- var Tab =
74
- /*#__PURE__*/
75
- function () {
68
+ var Tab = /*#__PURE__*/function () {
76
69
  function Tab(element) {
77
70
  this._element = element;
78
71
  } // Getters
@@ -84,33 +77,33 @@
84
77
  _proto.show = function show() {
85
78
  var _this = this;
86
79
 
87
- if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) {
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)) {
88
81
  return;
89
82
  }
90
83
 
91
84
  var target;
92
85
  var previous;
93
- var listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0];
94
- var selector = Util.getSelectorFromElement(this._element);
86
+ var listElement = $__default['default'](this._element).closest(SELECTOR_NAV_LIST_GROUP)[0];
87
+ var selector = Util__default['default'].getSelectorFromElement(this._element);
95
88
 
96
89
  if (listElement) {
97
- var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE;
98
- previous = $.makeArray($(listElement).find(itemSelector));
90
+ var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE;
91
+ previous = $__default['default'].makeArray($__default['default'](listElement).find(itemSelector));
99
92
  previous = previous[previous.length - 1];
100
93
  }
101
94
 
102
- var hideEvent = $.Event(Event.HIDE, {
95
+ var hideEvent = $__default['default'].Event(EVENT_HIDE, {
103
96
  relatedTarget: this._element
104
97
  });
105
- var showEvent = $.Event(Event.SHOW, {
98
+ var showEvent = $__default['default'].Event(EVENT_SHOW, {
106
99
  relatedTarget: previous
107
100
  });
108
101
 
109
102
  if (previous) {
110
- $(previous).trigger(hideEvent);
103
+ $__default['default'](previous).trigger(hideEvent);
111
104
  }
112
105
 
113
- $(this._element).trigger(showEvent);
106
+ $__default['default'](this._element).trigger(showEvent);
114
107
 
115
108
  if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
116
109
  return;
@@ -123,14 +116,14 @@
123
116
  this._activate(this._element, listElement);
124
117
 
125
118
  var complete = function complete() {
126
- var hiddenEvent = $.Event(Event.HIDDEN, {
119
+ var hiddenEvent = $__default['default'].Event(EVENT_HIDDEN, {
127
120
  relatedTarget: _this._element
128
121
  });
129
- var shownEvent = $.Event(Event.SHOWN, {
122
+ var shownEvent = $__default['default'].Event(EVENT_SHOWN, {
130
123
  relatedTarget: previous
131
124
  });
132
- $(previous).trigger(hiddenEvent);
133
- $(_this._element).trigger(shownEvent);
125
+ $__default['default'](previous).trigger(hiddenEvent);
126
+ $__default['default'](_this._element).trigger(shownEvent);
134
127
  };
135
128
 
136
129
  if (target) {
@@ -141,7 +134,7 @@
141
134
  };
142
135
 
143
136
  _proto.dispose = function dispose() {
144
- $.removeData(this._element, DATA_KEY);
137
+ $__default['default'].removeData(this._element, DATA_KEY);
145
138
  this._element = null;
146
139
  } // Private
147
140
  ;
@@ -149,17 +142,17 @@
149
142
  _proto._activate = function _activate(element, container, callback) {
150
143
  var _this2 = this;
151
144
 
152
- var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(Selector.ACTIVE_UL) : $(container).children(Selector.ACTIVE);
145
+ var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $__default['default'](container).find(SELECTOR_ACTIVE_UL) : $__default['default'](container).children(SELECTOR_ACTIVE);
153
146
  var active = activeElements[0];
154
- var isTransitioning = callback && active && $(active).hasClass(ClassName.FADE);
147
+ var isTransitioning = callback && active && $__default['default'](active).hasClass(CLASS_NAME_FADE);
155
148
 
156
149
  var complete = function complete() {
157
150
  return _this2._transitionComplete(element, active, callback);
158
151
  };
159
152
 
160
153
  if (active && isTransitioning) {
161
- var transitionDuration = Util.getTransitionDurationFromElement(active);
162
- $(active).removeClass(ClassName.SHOW).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
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);
163
156
  } else {
164
157
  complete();
165
158
  }
@@ -167,11 +160,11 @@
167
160
 
168
161
  _proto._transitionComplete = function _transitionComplete(element, active, callback) {
169
162
  if (active) {
170
- $(active).removeClass(ClassName.ACTIVE);
171
- var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
163
+ $__default['default'](active).removeClass(CLASS_NAME_ACTIVE);
164
+ var dropdownChild = $__default['default'](active.parentNode).find(SELECTOR_DROPDOWN_ACTIVE_CHILD)[0];
172
165
 
173
166
  if (dropdownChild) {
174
- $(dropdownChild).removeClass(ClassName.ACTIVE);
167
+ $__default['default'](dropdownChild).removeClass(CLASS_NAME_ACTIVE);
175
168
  }
176
169
 
177
170
  if (active.getAttribute('role') === 'tab') {
@@ -179,24 +172,24 @@
179
172
  }
180
173
  }
181
174
 
182
- $(element).addClass(ClassName.ACTIVE);
175
+ $__default['default'](element).addClass(CLASS_NAME_ACTIVE);
183
176
 
184
177
  if (element.getAttribute('role') === 'tab') {
185
178
  element.setAttribute('aria-selected', true);
186
179
  }
187
180
 
188
- Util.reflow(element);
181
+ Util__default['default'].reflow(element);
189
182
 
190
- if (element.classList.contains(ClassName.FADE)) {
191
- element.classList.add(ClassName.SHOW);
183
+ if (element.classList.contains(CLASS_NAME_FADE)) {
184
+ element.classList.add(CLASS_NAME_SHOW);
192
185
  }
193
186
 
194
- if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
195
- var dropdownElement = $(element).closest(Selector.DROPDOWN)[0];
187
+ if (element.parentNode && $__default['default'](element.parentNode).hasClass(CLASS_NAME_DROPDOWN_MENU)) {
188
+ var dropdownElement = $__default['default'](element).closest(SELECTOR_DROPDOWN)[0];
196
189
 
197
190
  if (dropdownElement) {
198
- var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE));
199
- $(dropdownToggleList).addClass(ClassName.ACTIVE);
191
+ var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE));
192
+ $__default['default'](dropdownToggleList).addClass(CLASS_NAME_ACTIVE);
200
193
  }
201
194
 
202
195
  element.setAttribute('aria-expanded', true);
@@ -210,7 +203,7 @@
210
203
 
211
204
  Tab._jQueryInterface = function _jQueryInterface(config) {
212
205
  return this.each(function () {
213
- var $this = $(this);
206
+ var $this = $__default['default'](this);
214
207
  var data = $this.data(DATA_KEY);
215
208
 
216
209
  if (!data) {
@@ -244,10 +237,10 @@
244
237
  */
245
238
 
246
239
 
247
- $(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) {
248
241
  event.preventDefault();
249
242
 
250
- Tab._jQueryInterface.call($(this), 'show');
243
+ Tab._jQueryInterface.call($__default['default'](this), 'show');
251
244
  });
252
245
  /**
253
246
  * ------------------------------------------------------------------------
@@ -255,14 +248,14 @@
255
248
  * ------------------------------------------------------------------------
256
249
  */
257
250
 
258
- $.fn[NAME] = Tab._jQueryInterface;
259
- $.fn[NAME].Constructor = Tab;
251
+ $__default['default'].fn[NAME] = Tab._jQueryInterface;
252
+ $__default['default'].fn[NAME].Constructor = Tab;
260
253
 
261
- $.fn[NAME].noConflict = function () {
262
- $.fn[NAME] = JQUERY_NO_CONFLICT;
254
+ $__default['default'].fn[NAME].noConflict = function () {
255
+ $__default['default'].fn[NAME] = JQUERY_NO_CONFLICT;
263
256
  return Tab._jQueryInterface;
264
257
  };
265
258
 
266
259
  return Tab;
267
260
 
268
- }));
261
+ })));
@@ -1,16 +1,18 @@
1
1
  /*!
2
- * Bootstrap toast.js v4.3.1 (https://getbootstrap.com/)
3
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2
+ * Bootstrap toast.js v4.6.0 (https://getbootstrap.com/)
3
+ * Copyright 2011-2021 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
- typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) :
9
- (global = global || self, global.Toast = factory(global.jQuery, global.Util));
10
- }(this, function ($, Util) { 'use strict';
8
+ typeof define === 'function' && define.amd ? define(['jquery', './util'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Toast = factory(global.jQuery, global.Util));
10
+ }(this, (function ($, Util) { 'use strict';
11
11
 
12
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
- Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
+
14
+ var $__default = /*#__PURE__*/_interopDefaultLegacy($);
15
+ var Util__default = /*#__PURE__*/_interopDefaultLegacy(Util);
14
16
 
15
17
  function _defineProperties(target, props) {
16
18
  for (var i = 0; i < props.length; i++) {
@@ -28,38 +30,22 @@
28
30
  return Constructor;
29
31
  }
30
32
 
31
- function _defineProperty(obj, key, value) {
32
- if (key in obj) {
33
- Object.defineProperty(obj, key, {
34
- value: value,
35
- enumerable: true,
36
- configurable: true,
37
- writable: true
38
- });
39
- } else {
40
- obj[key] = value;
41
- }
42
-
43
- return obj;
44
- }
45
-
46
- function _objectSpread(target) {
47
- for (var i = 1; i < arguments.length; i++) {
48
- var source = arguments[i] != null ? arguments[i] : {};
49
- var ownKeys = Object.keys(source);
33
+ function _extends() {
34
+ _extends = Object.assign || function (target) {
35
+ for (var i = 1; i < arguments.length; i++) {
36
+ var source = arguments[i];
50
37
 
51
- if (typeof Object.getOwnPropertySymbols === 'function') {
52
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
53
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
54
- }));
38
+ for (var key in source) {
39
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
40
+ target[key] = source[key];
41
+ }
42
+ }
55
43
  }
56
44
 
57
- ownKeys.forEach(function (key) {
58
- _defineProperty(target, key, source[key]);
59
- });
60
- }
45
+ return target;
46
+ };
61
47
 
62
- return target;
48
+ return _extends.apply(this, arguments);
63
49
  }
64
50
 
65
51
  /**
@@ -69,23 +55,19 @@
69
55
  */
70
56
 
71
57
  var NAME = 'toast';
72
- var VERSION = '4.3.1';
58
+ var VERSION = '4.6.0';
73
59
  var DATA_KEY = 'bs.toast';
74
60
  var EVENT_KEY = "." + DATA_KEY;
75
- var JQUERY_NO_CONFLICT = $.fn[NAME];
76
- var Event = {
77
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
78
- HIDE: "hide" + EVENT_KEY,
79
- HIDDEN: "hidden" + EVENT_KEY,
80
- SHOW: "show" + EVENT_KEY,
81
- SHOWN: "shown" + EVENT_KEY
82
- };
83
- var ClassName = {
84
- FADE: 'fade',
85
- HIDE: 'hide',
86
- SHOW: 'show',
87
- SHOWING: 'showing'
88
- };
61
+ var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME];
62
+ var EVENT_CLICK_DISMISS = "click.dismiss" + EVENT_KEY;
63
+ var EVENT_HIDE = "hide" + EVENT_KEY;
64
+ var EVENT_HIDDEN = "hidden" + EVENT_KEY;
65
+ var EVENT_SHOW = "show" + EVENT_KEY;
66
+ var EVENT_SHOWN = "shown" + EVENT_KEY;
67
+ var CLASS_NAME_FADE = 'fade';
68
+ var CLASS_NAME_HIDE = 'hide';
69
+ var CLASS_NAME_SHOW = 'show';
70
+ var CLASS_NAME_SHOWING = 'showing';
89
71
  var DefaultType = {
90
72
  animation: 'boolean',
91
73
  autohide: 'boolean',
@@ -96,19 +78,14 @@
96
78
  autohide: true,
97
79
  delay: 500
98
80
  };
99
- var Selector = {
100
- DATA_DISMISS: '[data-dismiss="toast"]'
101
- /**
102
- * ------------------------------------------------------------------------
103
- * Class Definition
104
- * ------------------------------------------------------------------------
105
- */
106
-
107
- };
81
+ var SELECTOR_DATA_DISMISS = '[data-dismiss="toast"]';
82
+ /**
83
+ * ------------------------------------------------------------------------
84
+ * Class Definition
85
+ * ------------------------------------------------------------------------
86
+ */
108
87
 
109
- var Toast =
110
- /*#__PURE__*/
111
- function () {
88
+ var Toast = /*#__PURE__*/function () {
112
89
  function Toast(element, config) {
113
90
  this._element = element;
114
91
  this._config = this._getConfig(config);
@@ -124,106 +101,118 @@
124
101
  _proto.show = function show() {
125
102
  var _this = this;
126
103
 
127
- $(this._element).trigger(Event.SHOW);
104
+ var showEvent = $__default['default'].Event(EVENT_SHOW);
105
+ $__default['default'](this._element).trigger(showEvent);
106
+
107
+ if (showEvent.isDefaultPrevented()) {
108
+ return;
109
+ }
110
+
111
+ this._clearTimeout();
128
112
 
129
113
  if (this._config.animation) {
130
- this._element.classList.add(ClassName.FADE);
114
+ this._element.classList.add(CLASS_NAME_FADE);
131
115
  }
132
116
 
133
117
  var complete = function complete() {
134
- _this._element.classList.remove(ClassName.SHOWING);
118
+ _this._element.classList.remove(CLASS_NAME_SHOWING);
135
119
 
136
- _this._element.classList.add(ClassName.SHOW);
120
+ _this._element.classList.add(CLASS_NAME_SHOW);
137
121
 
138
- $(_this._element).trigger(Event.SHOWN);
122
+ $__default['default'](_this._element).trigger(EVENT_SHOWN);
139
123
 
140
124
  if (_this._config.autohide) {
141
- _this.hide();
125
+ _this._timeout = setTimeout(function () {
126
+ _this.hide();
127
+ }, _this._config.delay);
142
128
  }
143
129
  };
144
130
 
145
- this._element.classList.remove(ClassName.HIDE);
131
+ this._element.classList.remove(CLASS_NAME_HIDE);
132
+
133
+ Util__default['default'].reflow(this._element);
146
134
 
147
- this._element.classList.add(ClassName.SHOWING);
135
+ this._element.classList.add(CLASS_NAME_SHOWING);
148
136
 
149
137
  if (this._config.animation) {
150
- var transitionDuration = Util.getTransitionDurationFromElement(this._element);
151
- $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
138
+ var transitionDuration = Util__default['default'].getTransitionDurationFromElement(this._element);
139
+ $__default['default'](this._element).one(Util__default['default'].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
152
140
  } else {
153
141
  complete();
154
142
  }
155
143
  };
156
144
 
157
- _proto.hide = function hide(withoutTimeout) {
158
- var _this2 = this;
159
-
160
- if (!this._element.classList.contains(ClassName.SHOW)) {
145
+ _proto.hide = function hide() {
146
+ if (!this._element.classList.contains(CLASS_NAME_SHOW)) {
161
147
  return;
162
148
  }
163
149
 
164
- $(this._element).trigger(Event.HIDE);
150
+ var hideEvent = $__default['default'].Event(EVENT_HIDE);
151
+ $__default['default'](this._element).trigger(hideEvent);
165
152
 
166
- if (withoutTimeout) {
167
- this._close();
168
- } else {
169
- this._timeout = setTimeout(function () {
170
- _this2._close();
171
- }, this._config.delay);
153
+ if (hideEvent.isDefaultPrevented()) {
154
+ return;
172
155
  }
156
+
157
+ this._close();
173
158
  };
174
159
 
175
160
  _proto.dispose = function dispose() {
176
- clearTimeout(this._timeout);
177
- this._timeout = null;
161
+ this._clearTimeout();
178
162
 
179
- if (this._element.classList.contains(ClassName.SHOW)) {
180
- this._element.classList.remove(ClassName.SHOW);
163
+ if (this._element.classList.contains(CLASS_NAME_SHOW)) {
164
+ this._element.classList.remove(CLASS_NAME_SHOW);
181
165
  }
182
166
 
183
- $(this._element).off(Event.CLICK_DISMISS);
184
- $.removeData(this._element, DATA_KEY);
167
+ $__default['default'](this._element).off(EVENT_CLICK_DISMISS);
168
+ $__default['default'].removeData(this._element, DATA_KEY);
185
169
  this._element = null;
186
170
  this._config = null;
187
171
  } // Private
188
172
  ;
189
173
 
190
174
  _proto._getConfig = function _getConfig(config) {
191
- config = _objectSpread({}, Default, $(this._element).data(), typeof config === 'object' && config ? config : {});
192
- Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
175
+ config = _extends({}, Default, $__default['default'](this._element).data(), typeof config === 'object' && config ? config : {});
176
+ Util__default['default'].typeCheckConfig(NAME, config, this.constructor.DefaultType);
193
177
  return config;
194
178
  };
195
179
 
196
180
  _proto._setListeners = function _setListeners() {
197
- var _this3 = this;
181
+ var _this2 = this;
198
182
 
199
- $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function () {
200
- return _this3.hide(true);
183
+ $__default['default'](this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function () {
184
+ return _this2.hide();
201
185
  });
202
186
  };
203
187
 
204
188
  _proto._close = function _close() {
205
- var _this4 = this;
189
+ var _this3 = this;
206
190
 
207
191
  var complete = function complete() {
208
- _this4._element.classList.add(ClassName.HIDE);
192
+ _this3._element.classList.add(CLASS_NAME_HIDE);
209
193
 
210
- $(_this4._element).trigger(Event.HIDDEN);
194
+ $__default['default'](_this3._element).trigger(EVENT_HIDDEN);
211
195
  };
212
196
 
213
- this._element.classList.remove(ClassName.SHOW);
197
+ this._element.classList.remove(CLASS_NAME_SHOW);
214
198
 
215
199
  if (this._config.animation) {
216
- var transitionDuration = Util.getTransitionDurationFromElement(this._element);
217
- $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
200
+ var transitionDuration = Util__default['default'].getTransitionDurationFromElement(this._element);
201
+ $__default['default'](this._element).one(Util__default['default'].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
218
202
  } else {
219
203
  complete();
220
204
  }
205
+ };
206
+
207
+ _proto._clearTimeout = function _clearTimeout() {
208
+ clearTimeout(this._timeout);
209
+ this._timeout = null;
221
210
  } // Static
222
211
  ;
223
212
 
224
213
  Toast._jQueryInterface = function _jQueryInterface(config) {
225
214
  return this.each(function () {
226
- var $element = $(this);
215
+ var $element = $__default['default'](this);
227
216
  var data = $element.data(DATA_KEY);
228
217
 
229
218
  var _config = typeof config === 'object' && config;
@@ -269,14 +258,14 @@
269
258
  */
270
259
 
271
260
 
272
- $.fn[NAME] = Toast._jQueryInterface;
273
- $.fn[NAME].Constructor = Toast;
261
+ $__default['default'].fn[NAME] = Toast._jQueryInterface;
262
+ $__default['default'].fn[NAME].Constructor = Toast;
274
263
 
275
- $.fn[NAME].noConflict = function () {
276
- $.fn[NAME] = JQUERY_NO_CONFLICT;
264
+ $__default['default'].fn[NAME].noConflict = function () {
265
+ $__default['default'].fn[NAME] = JQUERY_NO_CONFLICT;
277
266
  return Toast._jQueryInterface;
278
267
  };
279
268
 
280
269
  return Toast;
281
270
 
282
- }));
271
+ })));