bootstrap 4.4.1 → 5.0.0.alpha2

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 (136) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +12 -2
  3. data/README.md +1 -1
  4. data/assets/javascripts/bootstrap-sprockets.js +12 -8
  5. data/assets/javascripts/bootstrap.js +2094 -1562
  6. data/assets/javascripts/bootstrap.min.js +4 -4
  7. data/assets/javascripts/bootstrap/alert.js +145 -83
  8. data/assets/javascripts/bootstrap/button.js +66 -152
  9. data/assets/javascripts/bootstrap/carousel.js +307 -241
  10. data/assets/javascripts/bootstrap/collapse.js +287 -183
  11. data/assets/javascripts/bootstrap/dom/data.js +81 -0
  12. data/assets/javascripts/bootstrap/dom/event-handler.js +315 -0
  13. data/assets/javascripts/bootstrap/dom/manipulator.js +96 -0
  14. data/assets/javascripts/bootstrap/dom/polyfill.js +110 -0
  15. data/assets/javascripts/bootstrap/dom/selector-engine.js +98 -0
  16. data/assets/javascripts/bootstrap/dropdown.js +255 -261
  17. data/assets/javascripts/bootstrap/modal.js +364 -270
  18. data/assets/javascripts/bootstrap/popover.js +72 -113
  19. data/assets/javascripts/bootstrap/scrollspy.js +162 -147
  20. data/assets/javascripts/bootstrap/tab.js +176 -108
  21. data/assets/javascripts/bootstrap/toast.js +179 -139
  22. data/assets/javascripts/bootstrap/tooltip.js +369 -259
  23. data/assets/stylesheets/_bootstrap-grid.scss +54 -18
  24. data/assets/stylesheets/_bootstrap-reboot.scss +7 -4
  25. data/assets/stylesheets/_bootstrap.scss +17 -11
  26. data/assets/stylesheets/bootstrap/_alert.scss +6 -7
  27. data/assets/stylesheets/bootstrap/_badge.scss +2 -27
  28. data/assets/stylesheets/bootstrap/_breadcrumb.scss +5 -17
  29. data/assets/stylesheets/bootstrap/_button-group.scss +16 -38
  30. data/assets/stylesheets/bootstrap/_buttons.scss +25 -40
  31. data/assets/stylesheets/bootstrap/_card.scss +43 -79
  32. data/assets/stylesheets/bootstrap/_carousel.scss +30 -15
  33. data/assets/stylesheets/bootstrap/_close.scss +31 -31
  34. data/assets/stylesheets/bootstrap/_containers.scss +41 -0
  35. data/assets/stylesheets/bootstrap/_dropdown.scss +54 -9
  36. data/assets/stylesheets/bootstrap/_forms.scss +9 -338
  37. data/assets/stylesheets/bootstrap/_functions.scss +97 -25
  38. data/assets/stylesheets/bootstrap/_grid.scss +3 -50
  39. data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
  40. data/assets/stylesheets/bootstrap/_list-group.scss +16 -17
  41. data/assets/stylesheets/bootstrap/_mixins.scss +7 -13
  42. data/assets/stylesheets/bootstrap/_modal.scss +41 -45
  43. data/assets/stylesheets/bootstrap/_nav.scss +16 -9
  44. data/assets/stylesheets/bootstrap/_navbar.scss +43 -74
  45. data/assets/stylesheets/bootstrap/_pagination.scss +11 -20
  46. data/assets/stylesheets/bootstrap/_popover.scss +5 -5
  47. data/assets/stylesheets/bootstrap/_progress.scss +2 -3
  48. data/assets/stylesheets/bootstrap/_reboot.scss +310 -175
  49. data/assets/stylesheets/bootstrap/_root.scss +5 -9
  50. data/assets/stylesheets/bootstrap/_spinners.scss +5 -4
  51. data/assets/stylesheets/bootstrap/_tables.scss +80 -114
  52. data/assets/stylesheets/bootstrap/_toasts.scss +6 -2
  53. data/assets/stylesheets/bootstrap/_tooltip.scss +5 -5
  54. data/assets/stylesheets/bootstrap/_transitions.scss +0 -1
  55. data/assets/stylesheets/bootstrap/_type.scss +38 -59
  56. data/assets/stylesheets/bootstrap/_utilities.scss +531 -17
  57. data/assets/stylesheets/bootstrap/_variables.scss +609 -444
  58. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
  59. data/assets/stylesheets/bootstrap/forms/_form-check.scss +142 -0
  60. data/assets/stylesheets/bootstrap/forms/_form-control.scss +116 -0
  61. data/assets/stylesheets/bootstrap/forms/_form-file.scss +91 -0
  62. data/assets/stylesheets/bootstrap/forms/_form-range.scss +136 -0
  63. data/assets/stylesheets/bootstrap/forms/_form-select.scss +82 -0
  64. data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
  65. data/assets/stylesheets/bootstrap/forms/_input-group.scss +140 -0
  66. data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
  67. data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
  68. data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
  69. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
  70. data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
  71. data/assets/stylesheets/bootstrap/helpers/_ratio.scss +26 -0
  72. data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
  73. data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
  74. data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +8 -0
  75. data/assets/stylesheets/bootstrap/mixins/_alert.scss +0 -4
  76. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +35 -22
  77. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +7 -9
  78. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +14 -10
  79. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +69 -51
  80. data/assets/stylesheets/bootstrap/mixins/_caret.scss +4 -4
  81. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
  82. data/assets/stylesheets/bootstrap/mixins/_container.scss +11 -0
  83. data/assets/stylesheets/bootstrap/mixins/_forms.scss +22 -66
  84. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +9 -11
  85. data/assets/stylesheets/bootstrap/mixins/_grid.scss +84 -33
  86. data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -21
  87. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +2 -1
  88. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  89. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +15 -8
  90. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
  91. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
  92. data/assets/stylesheets/bootstrap/mixins/_transition.scss +18 -8
  93. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +49 -0
  94. data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +28 -0
  95. data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
  96. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +234 -126
  97. data/lib/bootstrap/version.rb +2 -2
  98. data/tasks/updater/js.rb +3 -3
  99. data/tasks/updater/network.rb +2 -2
  100. data/test/gemfiles/rails_6_0.gemfile +7 -0
  101. metadata +36 -41
  102. data/assets/javascripts/bootstrap/util.js +0 -188
  103. data/assets/stylesheets/bootstrap/_code.scss +0 -48
  104. data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -521
  105. data/assets/stylesheets/bootstrap/_input-group.scss +0 -191
  106. data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
  107. data/assets/stylesheets/bootstrap/_media.scss +0 -8
  108. data/assets/stylesheets/bootstrap/_print.scss +0 -141
  109. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -22
  110. data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
  111. data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
  112. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -71
  113. data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
  114. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -11
  115. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -34
  116. data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
  117. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
  118. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -17
  119. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
  120. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
  121. data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
  122. data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
  123. data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
  124. data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
  125. data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
  126. data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
  127. data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
  128. data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
  129. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
  130. data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
  131. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
  132. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
  133. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
  134. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
  135. data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -72
  136. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
@@ -1,33 +1,108 @@
1
1
  /*!
2
- * Bootstrap tab.js v4.4.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 v5.0.0-alpha2 (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
- 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';
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);
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/selector-engine.js')) :
8
+ typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/selector-engine.js'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Tab = factory(global.Data, global.EventHandler, global.SelectorEngine));
10
+ }(this, (function (Data, EventHandler, SelectorEngine) { 'use strict';
11
+
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
+
14
+ var Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
15
+ var EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
16
+ var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
17
+
18
+ /**
19
+ * --------------------------------------------------------------------------
20
+ * Bootstrap (v5.0.0-alpha2): util/index.js
21
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
22
+ * --------------------------------------------------------------------------
23
+ */
24
+ var MILLISECONDS_MULTIPLIER = 1000;
25
+ var TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
26
+
27
+ var getSelector = function getSelector(element) {
28
+ var selector = element.getAttribute('data-target');
29
+
30
+ if (!selector || selector === '#') {
31
+ var hrefAttr = element.getAttribute('href');
32
+ selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;
22
33
  }
23
- }
24
34
 
25
- function _createClass(Constructor, protoProps, staticProps) {
26
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
27
- if (staticProps) _defineProperties(Constructor, staticProps);
28
- return Constructor;
29
- }
35
+ return selector;
36
+ };
37
+
38
+ var getElementFromSelector = function getElementFromSelector(element) {
39
+ var selector = getSelector(element);
40
+ return selector ? document.querySelector(selector) : null;
41
+ };
42
+
43
+ var getTransitionDurationFromElement = function getTransitionDurationFromElement(element) {
44
+ if (!element) {
45
+ return 0;
46
+ } // Get transition-duration of the element
47
+
48
+
49
+ var _window$getComputedSt = window.getComputedStyle(element),
50
+ transitionDuration = _window$getComputedSt.transitionDuration,
51
+ transitionDelay = _window$getComputedSt.transitionDelay;
30
52
 
53
+ var floatTransitionDuration = parseFloat(transitionDuration);
54
+ var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
55
+
56
+ if (!floatTransitionDuration && !floatTransitionDelay) {
57
+ return 0;
58
+ } // If multiple durations are defined, take the first
59
+
60
+
61
+ transitionDuration = transitionDuration.split(',')[0];
62
+ transitionDelay = transitionDelay.split(',')[0];
63
+ return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
64
+ };
65
+
66
+ var triggerTransitionEnd = function triggerTransitionEnd(element) {
67
+ element.dispatchEvent(new Event(TRANSITION_END));
68
+ };
69
+
70
+ var emulateTransitionEnd = function emulateTransitionEnd(element, duration) {
71
+ var called = false;
72
+ var durationPadding = 5;
73
+ var emulatedDuration = duration + durationPadding;
74
+
75
+ function listener() {
76
+ called = true;
77
+ element.removeEventListener(TRANSITION_END, listener);
78
+ }
79
+
80
+ element.addEventListener(TRANSITION_END, listener);
81
+ setTimeout(function () {
82
+ if (!called) {
83
+ triggerTransitionEnd(element);
84
+ }
85
+ }, emulatedDuration);
86
+ };
87
+
88
+ var reflow = function reflow(element) {
89
+ return element.offsetHeight;
90
+ };
91
+
92
+ var getjQuery = function getjQuery() {
93
+ var _window = window,
94
+ jQuery = _window.jQuery;
95
+
96
+ if (jQuery && !document.body.hasAttribute('data-no-jquery')) {
97
+ return jQuery;
98
+ }
99
+
100
+ return null;
101
+ };
102
+
103
+ 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); } }
104
+
105
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
31
106
  /**
32
107
  * ------------------------------------------------------------------------
33
108
  * Constants
@@ -35,45 +110,37 @@
35
110
  */
36
111
 
37
112
  var NAME = 'tab';
38
- var VERSION = '4.4.1';
113
+ var VERSION = '5.0.0-alpha2';
39
114
  var DATA_KEY = 'bs.tab';
40
115
  var EVENT_KEY = "." + DATA_KEY;
41
116
  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
- };
117
+ var EVENT_HIDE = "hide" + EVENT_KEY;
118
+ var EVENT_HIDDEN = "hidden" + EVENT_KEY;
119
+ var EVENT_SHOW = "show" + EVENT_KEY;
120
+ var EVENT_SHOWN = "shown" + EVENT_KEY;
121
+ var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
122
+ var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
123
+ var CLASS_NAME_ACTIVE = 'active';
124
+ var CLASS_NAME_DISABLED = 'disabled';
125
+ var CLASS_NAME_FADE = 'fade';
126
+ var CLASS_NAME_SHOW = 'show';
127
+ var SELECTOR_DROPDOWN = '.dropdown';
128
+ var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
129
+ var SELECTOR_ACTIVE = '.active';
130
+ var SELECTOR_ACTIVE_UL = ':scope > li > .active';
131
+ var SELECTOR_DATA_TOGGLE = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]';
132
+ var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
133
+ var SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active';
66
134
  /**
67
135
  * ------------------------------------------------------------------------
68
136
  * Class Definition
69
137
  * ------------------------------------------------------------------------
70
138
  */
71
139
 
72
- var Tab =
73
- /*#__PURE__*/
74
- function () {
140
+ var Tab = /*#__PURE__*/function () {
75
141
  function Tab(element) {
76
142
  this._element = element;
143
+ Data__default['default'].setData(this._element, DATA_KEY, this);
77
144
  } // Getters
78
145
 
79
146
 
@@ -83,53 +150,46 @@
83
150
  _proto.show = function show() {
84
151
  var _this = this;
85
152
 
86
- if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) {
153
+ if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && this._element.classList.contains(CLASS_NAME_ACTIVE) || this._element.classList.contains(CLASS_NAME_DISABLED)) {
87
154
  return;
88
155
  }
89
156
 
90
- var target;
91
157
  var previous;
92
- var listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0];
93
- var selector = Util.getSelectorFromElement(this._element);
158
+ var target = getElementFromSelector(this._element);
159
+
160
+ var listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP);
94
161
 
95
162
  if (listElement) {
96
- var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE;
97
- previous = $.makeArray($(listElement).find(itemSelector));
163
+ var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE;
164
+ previous = SelectorEngine__default['default'].find(itemSelector, listElement);
98
165
  previous = previous[previous.length - 1];
99
166
  }
100
167
 
101
- var hideEvent = $.Event(Event.HIDE, {
102
- relatedTarget: this._element
103
- });
104
- var showEvent = $.Event(Event.SHOW, {
105
- relatedTarget: previous
106
- });
168
+ var hideEvent = null;
107
169
 
108
170
  if (previous) {
109
- $(previous).trigger(hideEvent);
171
+ hideEvent = EventHandler__default['default'].trigger(previous, EVENT_HIDE, {
172
+ relatedTarget: this._element
173
+ });
110
174
  }
111
175
 
112
- $(this._element).trigger(showEvent);
176
+ var showEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW, {
177
+ relatedTarget: previous
178
+ });
113
179
 
114
- if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
180
+ if (showEvent.defaultPrevented || hideEvent !== null && hideEvent.defaultPrevented) {
115
181
  return;
116
182
  }
117
183
 
118
- if (selector) {
119
- target = document.querySelector(selector);
120
- }
121
-
122
184
  this._activate(this._element, listElement);
123
185
 
124
186
  var complete = function complete() {
125
- var hiddenEvent = $.Event(Event.HIDDEN, {
187
+ EventHandler__default['default'].trigger(previous, EVENT_HIDDEN, {
126
188
  relatedTarget: _this._element
127
189
  });
128
- var shownEvent = $.Event(Event.SHOWN, {
190
+ EventHandler__default['default'].trigger(_this._element, EVENT_SHOWN, {
129
191
  relatedTarget: previous
130
192
  });
131
- $(previous).trigger(hiddenEvent);
132
- $(_this._element).trigger(shownEvent);
133
193
  };
134
194
 
135
195
  if (target) {
@@ -140,7 +200,7 @@
140
200
  };
141
201
 
142
202
  _proto.dispose = function dispose() {
143
- $.removeData(this._element, DATA_KEY);
203
+ Data__default['default'].removeData(this._element, DATA_KEY);
144
204
  this._element = null;
145
205
  } // Private
146
206
  ;
@@ -148,17 +208,19 @@
148
208
  _proto._activate = function _activate(element, container, callback) {
149
209
  var _this2 = this;
150
210
 
151
- var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(Selector.ACTIVE_UL) : $(container).children(Selector.ACTIVE);
211
+ var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? SelectorEngine__default['default'].find(SELECTOR_ACTIVE_UL, container) : SelectorEngine__default['default'].children(container, SELECTOR_ACTIVE);
152
212
  var active = activeElements[0];
153
- var isTransitioning = callback && active && $(active).hasClass(ClassName.FADE);
213
+ var isTransitioning = callback && active && active.classList.contains(CLASS_NAME_FADE);
154
214
 
155
215
  var complete = function complete() {
156
216
  return _this2._transitionComplete(element, active, callback);
157
217
  };
158
218
 
159
219
  if (active && isTransitioning) {
160
- var transitionDuration = Util.getTransitionDurationFromElement(active);
161
- $(active).removeClass(ClassName.SHOW).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
220
+ var transitionDuration = getTransitionDurationFromElement(active);
221
+ active.classList.remove(CLASS_NAME_SHOW);
222
+ EventHandler__default['default'].one(active, TRANSITION_END, complete);
223
+ emulateTransitionEnd(active, transitionDuration);
162
224
  } else {
163
225
  complete();
164
226
  }
@@ -166,11 +228,11 @@
166
228
 
167
229
  _proto._transitionComplete = function _transitionComplete(element, active, callback) {
168
230
  if (active) {
169
- $(active).removeClass(ClassName.ACTIVE);
170
- var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
231
+ active.classList.remove(CLASS_NAME_ACTIVE);
232
+ var dropdownChild = SelectorEngine__default['default'].findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode);
171
233
 
172
234
  if (dropdownChild) {
173
- $(dropdownChild).removeClass(ClassName.ACTIVE);
235
+ dropdownChild.classList.remove(CLASS_NAME_ACTIVE);
174
236
  }
175
237
 
176
238
  if (active.getAttribute('role') === 'tab') {
@@ -178,24 +240,25 @@
178
240
  }
179
241
  }
180
242
 
181
- $(element).addClass(ClassName.ACTIVE);
243
+ element.classList.add(CLASS_NAME_ACTIVE);
182
244
 
183
245
  if (element.getAttribute('role') === 'tab') {
184
246
  element.setAttribute('aria-selected', true);
185
247
  }
186
248
 
187
- Util.reflow(element);
249
+ reflow(element);
188
250
 
189
- if (element.classList.contains(ClassName.FADE)) {
190
- element.classList.add(ClassName.SHOW);
251
+ if (element.classList.contains(CLASS_NAME_FADE)) {
252
+ element.classList.add(CLASS_NAME_SHOW);
191
253
  }
192
254
 
193
- if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
194
- var dropdownElement = $(element).closest(Selector.DROPDOWN)[0];
255
+ if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {
256
+ var dropdownElement = element.closest(SELECTOR_DROPDOWN);
195
257
 
196
258
  if (dropdownElement) {
197
- var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE));
198
- $(dropdownToggleList).addClass(ClassName.ACTIVE);
259
+ SelectorEngine__default['default'].find(SELECTOR_DROPDOWN_TOGGLE).forEach(function (dropdown) {
260
+ return dropdown.classList.add(CLASS_NAME_ACTIVE);
261
+ });
199
262
  }
200
263
 
201
264
  element.setAttribute('aria-expanded', true);
@@ -207,15 +270,9 @@
207
270
  } // Static
208
271
  ;
209
272
 
210
- Tab._jQueryInterface = function _jQueryInterface(config) {
273
+ Tab.jQueryInterface = function jQueryInterface(config) {
211
274
  return this.each(function () {
212
- var $this = $(this);
213
- var data = $this.data(DATA_KEY);
214
-
215
- if (!data) {
216
- data = new Tab(this);
217
- $this.data(DATA_KEY, data);
218
- }
275
+ var data = Data__default['default'].getData(this, DATA_KEY) || new Tab(this);
219
276
 
220
277
  if (typeof config === 'string') {
221
278
  if (typeof data[config] === 'undefined') {
@@ -227,6 +284,10 @@
227
284
  });
228
285
  };
229
286
 
287
+ Tab.getInstance = function getInstance(element) {
288
+ return Data__default['default'].getData(element, DATA_KEY);
289
+ };
290
+
230
291
  _createClass(Tab, null, [{
231
292
  key: "VERSION",
232
293
  get: function get() {
@@ -243,24 +304,31 @@
243
304
  */
244
305
 
245
306
 
246
- $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
307
+ EventHandler__default['default'].on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
247
308
  event.preventDefault();
248
-
249
- Tab._jQueryInterface.call($(this), 'show');
309
+ var data = Data__default['default'].getData(this, DATA_KEY) || new Tab(this);
310
+ data.show();
250
311
  });
312
+ var $ = getjQuery();
251
313
  /**
252
314
  * ------------------------------------------------------------------------
253
315
  * jQuery
254
316
  * ------------------------------------------------------------------------
317
+ * add .tab to jQuery only if jQuery is present
255
318
  */
256
319
 
257
- $.fn[NAME] = Tab._jQueryInterface;
258
- $.fn[NAME].Constructor = Tab;
320
+ /* istanbul ignore if */
259
321
 
260
- $.fn[NAME].noConflict = function () {
261
- $.fn[NAME] = JQUERY_NO_CONFLICT;
262
- return Tab._jQueryInterface;
263
- };
322
+ if ($) {
323
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
324
+ $.fn[NAME] = Tab.jQueryInterface;
325
+ $.fn[NAME].Constructor = Tab;
326
+
327
+ $.fn[NAME].noConflict = function () {
328
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
329
+ return Tab.jQueryInterface;
330
+ };
331
+ }
264
332
 
265
333
  return Tab;
266
334
 
@@ -1,82 +1,118 @@
1
1
  /*!
2
- * Bootstrap toast.js v4.4.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 v5.0.0-alpha2 (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
- 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';
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
- }
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js')) :
8
+ typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/manipulator.js'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Toast = factory(global.Data, global.EventHandler, global.Manipulator));
10
+ }(this, (function (Data, EventHandler, Manipulator) { 'use strict';
24
11
 
25
- function _createClass(Constructor, protoProps, staticProps) {
26
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
27
- if (staticProps) _defineProperties(Constructor, staticProps);
28
- return Constructor;
29
- }
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
30
13
 
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;
14
+ var Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
15
+ var EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
16
+ var Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);
17
+
18
+ /**
19
+ * --------------------------------------------------------------------------
20
+ * Bootstrap (v5.0.0-alpha2): util/index.js
21
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
22
+ * --------------------------------------------------------------------------
23
+ */
24
+ var MILLISECONDS_MULTIPLIER = 1000;
25
+ var TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
26
+
27
+ var toType = function toType(obj) {
28
+ if (obj === null || obj === undefined) {
29
+ return "" + obj;
41
30
  }
42
31
 
43
- return obj;
44
- }
32
+ return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
33
+ };
45
34
 
46
- function ownKeys(object, enumerableOnly) {
47
- var keys = Object.keys(object);
35
+ var getTransitionDurationFromElement = function getTransitionDurationFromElement(element) {
36
+ if (!element) {
37
+ return 0;
38
+ } // Get transition-duration of the element
48
39
 
49
- if (Object.getOwnPropertySymbols) {
50
- var symbols = Object.getOwnPropertySymbols(object);
51
- if (enumerableOnly) symbols = symbols.filter(function (sym) {
52
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
53
- });
54
- keys.push.apply(keys, symbols);
40
+
41
+ var _window$getComputedSt = window.getComputedStyle(element),
42
+ transitionDuration = _window$getComputedSt.transitionDuration,
43
+ transitionDelay = _window$getComputedSt.transitionDelay;
44
+
45
+ var floatTransitionDuration = parseFloat(transitionDuration);
46
+ var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
47
+
48
+ if (!floatTransitionDuration && !floatTransitionDelay) {
49
+ return 0;
50
+ } // If multiple durations are defined, take the first
51
+
52
+
53
+ transitionDuration = transitionDuration.split(',')[0];
54
+ transitionDelay = transitionDelay.split(',')[0];
55
+ return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
56
+ };
57
+
58
+ var triggerTransitionEnd = function triggerTransitionEnd(element) {
59
+ element.dispatchEvent(new Event(TRANSITION_END));
60
+ };
61
+
62
+ var isElement = function isElement(obj) {
63
+ return (obj[0] || obj).nodeType;
64
+ };
65
+
66
+ var emulateTransitionEnd = function emulateTransitionEnd(element, duration) {
67
+ var called = false;
68
+ var durationPadding = 5;
69
+ var emulatedDuration = duration + durationPadding;
70
+
71
+ function listener() {
72
+ called = true;
73
+ element.removeEventListener(TRANSITION_END, listener);
55
74
  }
56
75
 
57
- return keys;
58
- }
76
+ element.addEventListener(TRANSITION_END, listener);
77
+ setTimeout(function () {
78
+ if (!called) {
79
+ triggerTransitionEnd(element);
80
+ }
81
+ }, emulatedDuration);
82
+ };
59
83
 
60
- function _objectSpread2(target) {
61
- for (var i = 1; i < arguments.length; i++) {
62
- var source = arguments[i] != null ? arguments[i] : {};
84
+ var typeCheckConfig = function typeCheckConfig(componentName, config, configTypes) {
85
+ Object.keys(configTypes).forEach(function (property) {
86
+ var expectedTypes = configTypes[property];
87
+ var value = config[property];
88
+ var valueType = value && isElement(value) ? 'element' : toType(value);
63
89
 
64
- if (i % 2) {
65
- ownKeys(Object(source), true).forEach(function (key) {
66
- _defineProperty(target, key, source[key]);
67
- });
68
- } else if (Object.getOwnPropertyDescriptors) {
69
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
70
- } else {
71
- ownKeys(Object(source)).forEach(function (key) {
72
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
73
- });
90
+ if (!new RegExp(expectedTypes).test(valueType)) {
91
+ throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
74
92
  }
93
+ });
94
+ };
95
+
96
+ var reflow = function reflow(element) {
97
+ return element.offsetHeight;
98
+ };
99
+
100
+ var getjQuery = function getjQuery() {
101
+ var _window = window,
102
+ jQuery = _window.jQuery;
103
+
104
+ if (jQuery && !document.body.hasAttribute('data-no-jquery')) {
105
+ return jQuery;
75
106
  }
76
107
 
77
- return target;
78
- }
108
+ return null;
109
+ };
79
110
 
111
+ 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); }
112
+
113
+ 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); } }
114
+
115
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
80
116
  /**
81
117
  * ------------------------------------------------------------------------
82
118
  * Constants
@@ -84,23 +120,18 @@
84
120
  */
85
121
 
86
122
  var NAME = 'toast';
87
- var VERSION = '4.4.1';
123
+ var VERSION = '5.0.0-alpha2';
88
124
  var DATA_KEY = 'bs.toast';
89
125
  var EVENT_KEY = "." + DATA_KEY;
90
- var JQUERY_NO_CONFLICT = $.fn[NAME];
91
- var Event = {
92
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
93
- HIDE: "hide" + EVENT_KEY,
94
- HIDDEN: "hidden" + EVENT_KEY,
95
- SHOW: "show" + EVENT_KEY,
96
- SHOWN: "shown" + EVENT_KEY
97
- };
98
- var ClassName = {
99
- FADE: 'fade',
100
- HIDE: 'hide',
101
- SHOW: 'show',
102
- SHOWING: 'showing'
103
- };
126
+ var EVENT_CLICK_DISMISS = "click.dismiss" + EVENT_KEY;
127
+ var EVENT_HIDE = "hide" + EVENT_KEY;
128
+ var EVENT_HIDDEN = "hidden" + EVENT_KEY;
129
+ var EVENT_SHOW = "show" + EVENT_KEY;
130
+ var EVENT_SHOWN = "shown" + EVENT_KEY;
131
+ var CLASS_NAME_FADE = 'fade';
132
+ var CLASS_NAME_HIDE = 'hide';
133
+ var CLASS_NAME_SHOW = 'show';
134
+ var CLASS_NAME_SHOWING = 'showing';
104
135
  var DefaultType = {
105
136
  animation: 'boolean',
106
137
  autohide: 'boolean',
@@ -109,26 +140,24 @@
109
140
  var Default = {
110
141
  animation: true,
111
142
  autohide: true,
112
- delay: 500
113
- };
114
- var Selector = {
115
- DATA_DISMISS: '[data-dismiss="toast"]'
143
+ delay: 5000
116
144
  };
145
+ var SELECTOR_DATA_DISMISS = '[data-dismiss="toast"]';
117
146
  /**
118
147
  * ------------------------------------------------------------------------
119
148
  * Class Definition
120
149
  * ------------------------------------------------------------------------
121
150
  */
122
151
 
123
- var Toast =
124
- /*#__PURE__*/
125
- function () {
152
+ var Toast = /*#__PURE__*/function () {
126
153
  function Toast(element, config) {
127
154
  this._element = element;
128
155
  this._config = this._getConfig(config);
129
156
  this._timeout = null;
130
157
 
131
158
  this._setListeners();
159
+
160
+ Data__default['default'].setData(element, DATA_KEY, this);
132
161
  } // Getters
133
162
 
134
163
 
@@ -138,23 +167,24 @@
138
167
  _proto.show = function show() {
139
168
  var _this = this;
140
169
 
141
- var showEvent = $.Event(Event.SHOW);
142
- $(this._element).trigger(showEvent);
170
+ var showEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW);
143
171
 
144
- if (showEvent.isDefaultPrevented()) {
172
+ if (showEvent.defaultPrevented) {
145
173
  return;
146
174
  }
147
175
 
176
+ this._clearTimeout();
177
+
148
178
  if (this._config.animation) {
149
- this._element.classList.add(ClassName.FADE);
179
+ this._element.classList.add(CLASS_NAME_FADE);
150
180
  }
151
181
 
152
182
  var complete = function complete() {
153
- _this._element.classList.remove(ClassName.SHOWING);
183
+ _this._element.classList.remove(CLASS_NAME_SHOWING);
154
184
 
155
- _this._element.classList.add(ClassName.SHOW);
185
+ _this._element.classList.add(CLASS_NAME_SHOW);
156
186
 
157
- $(_this._element).trigger(Event.SHOWN);
187
+ EventHandler__default['default'].trigger(_this._element, EVENT_SHOWN);
158
188
 
159
189
  if (_this._config.autohide) {
160
190
  _this._timeout = setTimeout(function () {
@@ -163,94 +193,93 @@
163
193
  }
164
194
  };
165
195
 
166
- this._element.classList.remove(ClassName.HIDE);
196
+ this._element.classList.remove(CLASS_NAME_HIDE);
167
197
 
168
- Util.reflow(this._element);
198
+ reflow(this._element);
169
199
 
170
- this._element.classList.add(ClassName.SHOWING);
200
+ this._element.classList.add(CLASS_NAME_SHOWING);
171
201
 
172
202
  if (this._config.animation) {
173
- var transitionDuration = Util.getTransitionDurationFromElement(this._element);
174
- $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
203
+ var transitionDuration = getTransitionDurationFromElement(this._element);
204
+ EventHandler__default['default'].one(this._element, TRANSITION_END, complete);
205
+ emulateTransitionEnd(this._element, transitionDuration);
175
206
  } else {
176
207
  complete();
177
208
  }
178
209
  };
179
210
 
180
211
  _proto.hide = function hide() {
181
- if (!this._element.classList.contains(ClassName.SHOW)) {
212
+ var _this2 = this;
213
+
214
+ if (!this._element.classList.contains(CLASS_NAME_SHOW)) {
182
215
  return;
183
216
  }
184
217
 
185
- var hideEvent = $.Event(Event.HIDE);
186
- $(this._element).trigger(hideEvent);
218
+ var hideEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE);
187
219
 
188
- if (hideEvent.isDefaultPrevented()) {
220
+ if (hideEvent.defaultPrevented) {
189
221
  return;
190
222
  }
191
223
 
192
- this._close();
224
+ var complete = function complete() {
225
+ _this2._element.classList.add(CLASS_NAME_HIDE);
226
+
227
+ EventHandler__default['default'].trigger(_this2._element, EVENT_HIDDEN);
228
+ };
229
+
230
+ this._element.classList.remove(CLASS_NAME_SHOW);
231
+
232
+ if (this._config.animation) {
233
+ var transitionDuration = getTransitionDurationFromElement(this._element);
234
+ EventHandler__default['default'].one(this._element, TRANSITION_END, complete);
235
+ emulateTransitionEnd(this._element, transitionDuration);
236
+ } else {
237
+ complete();
238
+ }
193
239
  };
194
240
 
195
241
  _proto.dispose = function dispose() {
196
- clearTimeout(this._timeout);
197
- this._timeout = null;
242
+ this._clearTimeout();
198
243
 
199
- if (this._element.classList.contains(ClassName.SHOW)) {
200
- this._element.classList.remove(ClassName.SHOW);
244
+ if (this._element.classList.contains(CLASS_NAME_SHOW)) {
245
+ this._element.classList.remove(CLASS_NAME_SHOW);
201
246
  }
202
247
 
203
- $(this._element).off(Event.CLICK_DISMISS);
204
- $.removeData(this._element, DATA_KEY);
248
+ EventHandler__default['default'].off(this._element, EVENT_CLICK_DISMISS);
249
+ Data__default['default'].removeData(this._element, DATA_KEY);
205
250
  this._element = null;
206
251
  this._config = null;
207
252
  } // Private
208
253
  ;
209
254
 
210
255
  _proto._getConfig = function _getConfig(config) {
211
- config = _objectSpread2({}, Default, {}, $(this._element).data(), {}, typeof config === 'object' && config ? config : {});
212
- Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
256
+ config = _extends({}, Default, Manipulator__default['default'].getDataAttributes(this._element), typeof config === 'object' && config ? config : {});
257
+ typeCheckConfig(NAME, config, this.constructor.DefaultType);
213
258
  return config;
214
259
  };
215
260
 
216
261
  _proto._setListeners = function _setListeners() {
217
- var _this2 = this;
262
+ var _this3 = this;
218
263
 
219
- $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function () {
220
- return _this2.hide();
264
+ EventHandler__default['default'].on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function () {
265
+ return _this3.hide();
221
266
  });
222
267
  };
223
268
 
224
- _proto._close = function _close() {
225
- var _this3 = this;
226
-
227
- var complete = function complete() {
228
- _this3._element.classList.add(ClassName.HIDE);
229
-
230
- $(_this3._element).trigger(Event.HIDDEN);
231
- };
232
-
233
- this._element.classList.remove(ClassName.SHOW);
234
-
235
- if (this._config.animation) {
236
- var transitionDuration = Util.getTransitionDurationFromElement(this._element);
237
- $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
238
- } else {
239
- complete();
240
- }
269
+ _proto._clearTimeout = function _clearTimeout() {
270
+ clearTimeout(this._timeout);
271
+ this._timeout = null;
241
272
  } // Static
242
273
  ;
243
274
 
244
- Toast._jQueryInterface = function _jQueryInterface(config) {
275
+ Toast.jQueryInterface = function jQueryInterface(config) {
245
276
  return this.each(function () {
246
- var $element = $(this);
247
- var data = $element.data(DATA_KEY);
277
+ var data = Data__default['default'].getData(this, DATA_KEY);
248
278
 
249
279
  var _config = typeof config === 'object' && config;
250
280
 
251
281
  if (!data) {
252
282
  data = new Toast(this, _config);
253
- $element.data(DATA_KEY, data);
254
283
  }
255
284
 
256
285
  if (typeof config === 'string') {
@@ -263,6 +292,10 @@
263
292
  });
264
293
  };
265
294
 
295
+ Toast.getInstance = function getInstance(element) {
296
+ return Data__default['default'].getData(element, DATA_KEY);
297
+ };
298
+
266
299
  _createClass(Toast, null, [{
267
300
  key: "VERSION",
268
301
  get: function get() {
@@ -282,20 +315,27 @@
282
315
 
283
316
  return Toast;
284
317
  }();
318
+
319
+ var $ = getjQuery();
285
320
  /**
286
321
  * ------------------------------------------------------------------------
287
322
  * jQuery
288
323
  * ------------------------------------------------------------------------
324
+ * add .toast to jQuery only if jQuery is present
289
325
  */
290
326
 
327
+ /* istanbul ignore if */
291
328
 
292
- $.fn[NAME] = Toast._jQueryInterface;
293
- $.fn[NAME].Constructor = Toast;
329
+ if ($) {
330
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
331
+ $.fn[NAME] = Toast.jQueryInterface;
332
+ $.fn[NAME].Constructor = Toast;
294
333
 
295
- $.fn[NAME].noConflict = function () {
296
- $.fn[NAME] = JQUERY_NO_CONFLICT;
297
- return Toast._jQueryInterface;
298
- };
334
+ $.fn[NAME].noConflict = function () {
335
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
336
+ return Toast.jQueryInterface;
337
+ };
338
+ }
299
339
 
300
340
  return Toast;
301
341