bootstrap 4.6.1 → 5.0.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.
Files changed (150) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -1
  3. data/README.md +7 -4
  4. data/assets/javascripts/bootstrap/alert.js +192 -112
  5. data/assets/javascripts/bootstrap/base-component.js +63 -0
  6. data/assets/javascripts/bootstrap/button.js +96 -176
  7. data/assets/javascripts/bootstrap/carousel.js +470 -355
  8. data/assets/javascripts/bootstrap/collapse.js +377 -221
  9. data/assets/javascripts/bootstrap/dom/data.js +68 -0
  10. data/assets/javascripts/bootstrap/dom/event-handler.js +322 -0
  11. data/assets/javascripts/bootstrap/dom/manipulator.js +88 -0
  12. data/assets/javascripts/bootstrap/dom/selector-engine.js +85 -0
  13. data/assets/javascripts/bootstrap/dropdown.js +470 -351
  14. data/assets/javascripts/bootstrap/modal.js +611 -435
  15. data/assets/javascripts/bootstrap/offcanvas.js +671 -0
  16. data/assets/javascripts/bootstrap/popover.js +137 -165
  17. data/assets/javascripts/bootstrap/scrollspy.js +249 -191
  18. data/assets/javascripts/bootstrap/tab.js +241 -141
  19. data/assets/javascripts/bootstrap/toast.js +221 -153
  20. data/assets/javascripts/bootstrap/tooltip.js +649 -483
  21. data/assets/javascripts/bootstrap-global-this-define.js +6 -0
  22. data/assets/javascripts/bootstrap-global-this-undefine.js +2 -0
  23. data/assets/javascripts/bootstrap-sprockets.js +14 -7
  24. data/assets/javascripts/bootstrap.js +3272 -2586
  25. data/assets/javascripts/bootstrap.min.js +2 -2
  26. data/assets/stylesheets/_bootstrap-grid.scss +51 -16
  27. data/assets/stylesheets/_bootstrap-reboot.scss +4 -1
  28. data/assets/stylesheets/_bootstrap.scss +16 -8
  29. data/assets/stylesheets/bootstrap/_accordion.scss +118 -0
  30. data/assets/stylesheets/bootstrap/_alert.scss +15 -10
  31. data/assets/stylesheets/bootstrap/_badge.scss +2 -27
  32. data/assets/stylesheets/bootstrap/_breadcrumb.scss +3 -17
  33. data/assets/stylesheets/bootstrap/_button-group.scss +21 -45
  34. data/assets/stylesheets/bootstrap/_buttons.scss +29 -60
  35. data/assets/stylesheets/bootstrap/_card.scss +20 -91
  36. data/assets/stylesheets/bootstrap/_carousel.scss +64 -35
  37. data/assets/stylesheets/bootstrap/_close.scss +30 -30
  38. data/assets/stylesheets/bootstrap/_containers.scss +41 -0
  39. data/assets/stylesheets/bootstrap/_dropdown.scss +84 -36
  40. data/assets/stylesheets/bootstrap/_forms.scss +9 -347
  41. data/assets/stylesheets/bootstrap/_functions.scss +84 -69
  42. data/assets/stylesheets/bootstrap/_grid.scss +3 -54
  43. data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
  44. data/assets/stylesheets/bootstrap/_images.scss +1 -1
  45. data/assets/stylesheets/bootstrap/_list-group.scss +28 -8
  46. data/assets/stylesheets/bootstrap/_mixins.scss +8 -13
  47. data/assets/stylesheets/bootstrap/_modal.scss +45 -57
  48. data/assets/stylesheets/bootstrap/_nav.scss +23 -4
  49. data/assets/stylesheets/bootstrap/_navbar.scss +45 -71
  50. data/assets/stylesheets/bootstrap/_offcanvas.scss +77 -0
  51. data/assets/stylesheets/bootstrap/_pagination.scss +10 -20
  52. data/assets/stylesheets/bootstrap/_popover.scss +24 -36
  53. data/assets/stylesheets/bootstrap/_progress.scss +5 -4
  54. data/assets/stylesheets/bootstrap/_reboot.scss +316 -179
  55. data/assets/stylesheets/bootstrap/_root.scss +5 -8
  56. data/assets/stylesheets/bootstrap/_spinners.scss +9 -5
  57. data/assets/stylesheets/bootstrap/_tables.scss +79 -114
  58. data/assets/stylesheets/bootstrap/_toasts.scss +20 -15
  59. data/assets/stylesheets/bootstrap/_tooltip.scss +21 -21
  60. data/assets/stylesheets/bootstrap/_transitions.scss +2 -1
  61. data/assets/stylesheets/bootstrap/_type.scss +38 -59
  62. data/assets/stylesheets/bootstrap/_utilities.scss +594 -18
  63. data/assets/stylesheets/bootstrap/_variables.scss +801 -485
  64. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
  65. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +61 -0
  66. data/assets/stylesheets/bootstrap/forms/_form-check.scss +152 -0
  67. data/assets/stylesheets/bootstrap/forms/_form-control.scss +219 -0
  68. data/assets/stylesheets/bootstrap/forms/_form-range.scss +91 -0
  69. data/assets/stylesheets/bootstrap/forms/_form-select.scss +67 -0
  70. data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
  71. data/assets/stylesheets/bootstrap/forms/_input-group.scss +121 -0
  72. data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
  73. data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
  74. data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
  75. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
  76. data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
  77. data/assets/stylesheets/bootstrap/helpers/_ratio.scss +26 -0
  78. data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
  79. data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
  80. data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +8 -0
  81. data/assets/stylesheets/bootstrap/mixins/_alert.scss +3 -5
  82. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +10 -8
  83. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +7 -9
  84. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +14 -10
  85. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +71 -48
  86. data/assets/stylesheets/bootstrap/mixins/_caret.scss +10 -8
  87. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
  88. data/assets/stylesheets/bootstrap/mixins/_color-scheme.scss +7 -0
  89. data/assets/stylesheets/bootstrap/mixins/_container.scss +9 -0
  90. data/assets/stylesheets/bootstrap/mixins/_forms.scss +39 -97
  91. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +13 -11
  92. data/assets/stylesheets/bootstrap/mixins/_grid.scss +90 -34
  93. data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -21
  94. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +5 -2
  95. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  96. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +17 -8
  97. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
  98. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
  99. data/assets/stylesheets/bootstrap/mixins/_transition.scss +1 -1
  100. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +68 -0
  101. data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +29 -0
  102. data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
  103. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +214 -130
  104. data/bootstrap.gemspec +1 -3
  105. data/lib/bootstrap/version.rb +2 -2
  106. data/tasks/updater/js.rb +20 -5
  107. data/tasks/updater/network.rb +7 -1
  108. data/test/dummy_rails/app/assets/javascripts/application.js +4 -3
  109. data/test/dummy_rails/app/views/layouts/application.html.erb +3 -1
  110. data/test/dummy_rails/app/views/pages/root.html +89 -0
  111. data/test/dummy_rails/config/application.rb +0 -3
  112. data/test/gemfiles/rails_6_1.gemfile +7 -0
  113. metadata +45 -73
  114. data/assets/javascripts/bootstrap/util.js +0 -189
  115. data/assets/stylesheets/bootstrap/_code.scss +0 -48
  116. data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -526
  117. data/assets/stylesheets/bootstrap/_input-group.scss +0 -211
  118. data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
  119. data/assets/stylesheets/bootstrap/_media.scss +0 -8
  120. data/assets/stylesheets/bootstrap/_print.scss +0 -132
  121. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -23
  122. data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
  123. data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
  124. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -80
  125. data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
  126. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -11
  127. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -34
  128. data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
  129. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
  130. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -17
  131. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
  132. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
  133. data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
  134. data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
  135. data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
  136. data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
  137. data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
  138. data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
  139. data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
  140. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +0 -5
  141. data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
  142. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
  143. data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
  144. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
  145. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
  146. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
  147. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
  148. data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -72
  149. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
  150. data/test/dummy_rails/app/views/pages/root.html.slim +0 -58
@@ -1,89 +1,181 @@
1
1
  /*!
2
- * Bootstrap toast.js v4.6.1 (https://getbootstrap.com/)
2
+ * Bootstrap toast.js v5.0.0 (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
  */
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'], factory) :
9
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Toast = factory(global.jQuery, global.Util));
10
- })(this, (function ($, Util) { 'use strict';
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./base-component.js')) :
8
+ typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler', './dom/manipulator', './base-component'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Toast = factory(global.Data, global.EventHandler, global.Manipulator, global.Base));
10
+ }(this, (function (Data, EventHandler, Manipulator, BaseComponent) { 'use strict';
11
11
 
12
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
13
 
14
- var $__default = /*#__PURE__*/_interopDefaultLegacy($);
15
- var Util__default = /*#__PURE__*/_interopDefaultLegacy(Util);
14
+ var Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
15
+ var EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
16
+ var Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);
17
+ var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
16
18
 
17
- function _defineProperties(target, props) {
18
- for (var i = 0; i < props.length; i++) {
19
- var descriptor = props[i];
20
- descriptor.enumerable = descriptor.enumerable || false;
21
- descriptor.configurable = true;
22
- if ("value" in descriptor) descriptor.writable = true;
23
- Object.defineProperty(target, descriptor.key, descriptor);
19
+ /**
20
+ * --------------------------------------------------------------------------
21
+ * Bootstrap (v5.0.0): util/index.js
22
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
23
+ * --------------------------------------------------------------------------
24
+ */
25
+ const MILLISECONDS_MULTIPLIER = 1000;
26
+ const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
27
+
28
+ const toType = obj => {
29
+ if (obj === null || obj === undefined) {
30
+ return `${obj}`;
24
31
  }
25
- }
26
32
 
27
- function _createClass(Constructor, protoProps, staticProps) {
28
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
29
- if (staticProps) _defineProperties(Constructor, staticProps);
30
- return Constructor;
31
- }
33
+ return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
34
+ };
32
35
 
33
- function _extends() {
34
- _extends = Object.assign || function (target) {
35
- for (var i = 1; i < arguments.length; i++) {
36
- var source = arguments[i];
36
+ const getTransitionDurationFromElement = element => {
37
+ if (!element) {
38
+ return 0;
39
+ } // Get transition-duration of the element
37
40
 
38
- for (var key in source) {
39
- if (Object.prototype.hasOwnProperty.call(source, key)) {
40
- target[key] = source[key];
41
- }
42
- }
41
+
42
+ let {
43
+ transitionDuration,
44
+ transitionDelay
45
+ } = window.getComputedStyle(element);
46
+ const floatTransitionDuration = Number.parseFloat(transitionDuration);
47
+ const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
48
+
49
+ if (!floatTransitionDuration && !floatTransitionDelay) {
50
+ return 0;
51
+ } // If multiple durations are defined, take the first
52
+
53
+
54
+ transitionDuration = transitionDuration.split(',')[0];
55
+ transitionDelay = transitionDelay.split(',')[0];
56
+ return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
57
+ };
58
+
59
+ const triggerTransitionEnd = element => {
60
+ element.dispatchEvent(new Event(TRANSITION_END));
61
+ };
62
+
63
+ const isElement = obj => (obj[0] || obj).nodeType;
64
+
65
+ const emulateTransitionEnd = (element, duration) => {
66
+ let called = false;
67
+ const durationPadding = 5;
68
+ const emulatedDuration = duration + durationPadding;
69
+
70
+ function listener() {
71
+ called = true;
72
+ element.removeEventListener(TRANSITION_END, listener);
73
+ }
74
+
75
+ element.addEventListener(TRANSITION_END, listener);
76
+ setTimeout(() => {
77
+ if (!called) {
78
+ triggerTransitionEnd(element);
43
79
  }
80
+ }, emulatedDuration);
81
+ };
44
82
 
45
- return target;
46
- };
83
+ const typeCheckConfig = (componentName, config, configTypes) => {
84
+ Object.keys(configTypes).forEach(property => {
85
+ const expectedTypes = configTypes[property];
86
+ const value = config[property];
87
+ const valueType = value && isElement(value) ? 'element' : toType(value);
47
88
 
48
- return _extends.apply(this, arguments);
49
- }
89
+ if (!new RegExp(expectedTypes).test(valueType)) {
90
+ throw new TypeError(`${componentName.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`);
91
+ }
92
+ });
93
+ };
94
+
95
+ const reflow = element => element.offsetHeight;
96
+
97
+ const getjQuery = () => {
98
+ const {
99
+ jQuery
100
+ } = window;
101
+
102
+ if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
103
+ return jQuery;
104
+ }
105
+
106
+ return null;
107
+ };
108
+
109
+ const onDOMContentLoaded = callback => {
110
+ if (document.readyState === 'loading') {
111
+ document.addEventListener('DOMContentLoaded', callback);
112
+ } else {
113
+ callback();
114
+ }
115
+ };
116
+
117
+ const defineJQueryPlugin = (name, plugin) => {
118
+ onDOMContentLoaded(() => {
119
+ const $ = getjQuery();
120
+ /* istanbul ignore if */
121
+
122
+ if ($) {
123
+ const JQUERY_NO_CONFLICT = $.fn[name];
124
+ $.fn[name] = plugin.jQueryInterface;
125
+ $.fn[name].Constructor = plugin;
126
+
127
+ $.fn[name].noConflict = () => {
128
+ $.fn[name] = JQUERY_NO_CONFLICT;
129
+ return plugin.jQueryInterface;
130
+ };
131
+ }
132
+ });
133
+ };
50
134
 
51
135
  /**
136
+ * --------------------------------------------------------------------------
137
+ * Bootstrap (v5.0.0): toast.js
138
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
139
+ * --------------------------------------------------------------------------
140
+ */
141
+ /**
142
+ * ------------------------------------------------------------------------
52
143
  * Constants
144
+ * ------------------------------------------------------------------------
53
145
  */
54
146
 
55
- var NAME = 'toast';
56
- var VERSION = '4.6.1';
57
- var DATA_KEY = 'bs.toast';
58
- var EVENT_KEY = "." + DATA_KEY;
59
- var JQUERY_NO_CONFLICT = $__default["default"].fn[NAME];
60
- var CLASS_NAME_FADE = 'fade';
61
- var CLASS_NAME_HIDE = 'hide';
62
- var CLASS_NAME_SHOW = 'show';
63
- var CLASS_NAME_SHOWING = 'showing';
64
- var EVENT_CLICK_DISMISS = "click.dismiss" + EVENT_KEY;
65
- var EVENT_HIDE = "hide" + EVENT_KEY;
66
- var EVENT_HIDDEN = "hidden" + EVENT_KEY;
67
- var EVENT_SHOW = "show" + EVENT_KEY;
68
- var EVENT_SHOWN = "shown" + EVENT_KEY;
69
- var SELECTOR_DATA_DISMISS = '[data-dismiss="toast"]';
70
- var Default = {
71
- animation: true,
72
- autohide: true,
73
- delay: 500
74
- };
75
- var DefaultType = {
147
+ const NAME = 'toast';
148
+ const DATA_KEY = 'bs.toast';
149
+ const EVENT_KEY = `.${DATA_KEY}`;
150
+ const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`;
151
+ const EVENT_HIDE = `hide${EVENT_KEY}`;
152
+ const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
153
+ const EVENT_SHOW = `show${EVENT_KEY}`;
154
+ const EVENT_SHOWN = `shown${EVENT_KEY}`;
155
+ const CLASS_NAME_FADE = 'fade';
156
+ const CLASS_NAME_HIDE = 'hide';
157
+ const CLASS_NAME_SHOW = 'show';
158
+ const CLASS_NAME_SHOWING = 'showing';
159
+ const DefaultType = {
76
160
  animation: 'boolean',
77
161
  autohide: 'boolean',
78
162
  delay: 'number'
79
163
  };
164
+ const Default = {
165
+ animation: true,
166
+ autohide: true,
167
+ delay: 5000
168
+ };
169
+ const SELECTOR_DATA_DISMISS = '[data-bs-dismiss="toast"]';
80
170
  /**
81
- * Class definition
171
+ * ------------------------------------------------------------------------
172
+ * Class Definition
173
+ * ------------------------------------------------------------------------
82
174
  */
83
175
 
84
- var Toast = /*#__PURE__*/function () {
85
- function Toast(element, config) {
86
- this._element = element;
176
+ class Toast extends BaseComponent__default['default'] {
177
+ constructor(element, config) {
178
+ super(element);
87
179
  this._config = this._getConfig(config);
88
180
  this._timeout = null;
89
181
 
@@ -91,16 +183,23 @@
91
183
  } // Getters
92
184
 
93
185
 
94
- var _proto = Toast.prototype;
186
+ static get DefaultType() {
187
+ return DefaultType;
188
+ }
189
+
190
+ static get Default() {
191
+ return Default;
192
+ }
95
193
 
96
- // Public
97
- _proto.show = function show() {
98
- var _this = this;
194
+ static get DATA_KEY() {
195
+ return DATA_KEY;
196
+ } // Public
99
197
 
100
- var showEvent = $__default["default"].Event(EVENT_SHOW);
101
- $__default["default"](this._element).trigger(showEvent);
102
198
 
103
- if (showEvent.isDefaultPrevented()) {
199
+ show() {
200
+ const showEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW);
201
+
202
+ if (showEvent.defaultPrevented) {
104
203
  return;
105
204
  }
106
205
 
@@ -110,156 +209,125 @@
110
209
  this._element.classList.add(CLASS_NAME_FADE);
111
210
  }
112
211
 
113
- var complete = function complete() {
114
- _this._element.classList.remove(CLASS_NAME_SHOWING);
212
+ const complete = () => {
213
+ this._element.classList.remove(CLASS_NAME_SHOWING);
115
214
 
116
- _this._element.classList.add(CLASS_NAME_SHOW);
215
+ this._element.classList.add(CLASS_NAME_SHOW);
117
216
 
118
- $__default["default"](_this._element).trigger(EVENT_SHOWN);
217
+ EventHandler__default['default'].trigger(this._element, EVENT_SHOWN);
119
218
 
120
- if (_this._config.autohide) {
121
- _this._timeout = setTimeout(function () {
122
- _this.hide();
123
- }, _this._config.delay);
219
+ if (this._config.autohide) {
220
+ this._timeout = setTimeout(() => {
221
+ this.hide();
222
+ }, this._config.delay);
124
223
  }
125
224
  };
126
225
 
127
226
  this._element.classList.remove(CLASS_NAME_HIDE);
128
227
 
129
- Util__default["default"].reflow(this._element);
228
+ reflow(this._element);
130
229
 
131
230
  this._element.classList.add(CLASS_NAME_SHOWING);
132
231
 
133
232
  if (this._config.animation) {
134
- var transitionDuration = Util__default["default"].getTransitionDurationFromElement(this._element);
135
- $__default["default"](this._element).one(Util__default["default"].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
233
+ const transitionDuration = getTransitionDurationFromElement(this._element);
234
+ EventHandler__default['default'].one(this._element, 'transitionend', complete);
235
+ emulateTransitionEnd(this._element, transitionDuration);
136
236
  } else {
137
237
  complete();
138
238
  }
139
- };
239
+ }
140
240
 
141
- _proto.hide = function hide() {
241
+ hide() {
142
242
  if (!this._element.classList.contains(CLASS_NAME_SHOW)) {
143
243
  return;
144
244
  }
145
245
 
146
- var hideEvent = $__default["default"].Event(EVENT_HIDE);
147
- $__default["default"](this._element).trigger(hideEvent);
246
+ const hideEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE);
148
247
 
149
- if (hideEvent.isDefaultPrevented()) {
248
+ if (hideEvent.defaultPrevented) {
150
249
  return;
151
250
  }
152
251
 
153
- this._close();
154
- };
252
+ const complete = () => {
253
+ this._element.classList.add(CLASS_NAME_HIDE);
155
254
 
156
- _proto.dispose = function dispose() {
255
+ EventHandler__default['default'].trigger(this._element, EVENT_HIDDEN);
256
+ };
257
+
258
+ this._element.classList.remove(CLASS_NAME_SHOW);
259
+
260
+ if (this._config.animation) {
261
+ const transitionDuration = getTransitionDurationFromElement(this._element);
262
+ EventHandler__default['default'].one(this._element, 'transitionend', complete);
263
+ emulateTransitionEnd(this._element, transitionDuration);
264
+ } else {
265
+ complete();
266
+ }
267
+ }
268
+
269
+ dispose() {
157
270
  this._clearTimeout();
158
271
 
159
272
  if (this._element.classList.contains(CLASS_NAME_SHOW)) {
160
273
  this._element.classList.remove(CLASS_NAME_SHOW);
161
274
  }
162
275
 
163
- $__default["default"](this._element).off(EVENT_CLICK_DISMISS);
164
- $__default["default"].removeData(this._element, DATA_KEY);
165
- this._element = null;
276
+ super.dispose();
166
277
  this._config = null;
167
278
  } // Private
168
- ;
169
-
170
- _proto._getConfig = function _getConfig(config) {
171
- config = _extends({}, Default, $__default["default"](this._element).data(), typeof config === 'object' && config ? config : {});
172
- Util__default["default"].typeCheckConfig(NAME, config, this.constructor.DefaultType);
173
- return config;
174
- };
175
-
176
- _proto._setListeners = function _setListeners() {
177
- var _this2 = this;
178
279
 
179
- $__default["default"](this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function () {
180
- return _this2.hide();
181
- });
182
- };
183
-
184
- _proto._close = function _close() {
185
- var _this3 = this;
186
-
187
- var complete = function complete() {
188
- _this3._element.classList.add(CLASS_NAME_HIDE);
189
280
 
190
- $__default["default"](_this3._element).trigger(EVENT_HIDDEN);
281
+ _getConfig(config) {
282
+ config = { ...Default,
283
+ ...Manipulator__default['default'].getDataAttributes(this._element),
284
+ ...(typeof config === 'object' && config ? config : {})
191
285
  };
286
+ typeCheckConfig(NAME, config, this.constructor.DefaultType);
287
+ return config;
288
+ }
192
289
 
193
- this._element.classList.remove(CLASS_NAME_SHOW);
194
-
195
- if (this._config.animation) {
196
- var transitionDuration = Util__default["default"].getTransitionDurationFromElement(this._element);
197
- $__default["default"](this._element).one(Util__default["default"].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
198
- } else {
199
- complete();
200
- }
201
- };
290
+ _setListeners() {
291
+ EventHandler__default['default'].on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide());
292
+ }
202
293
 
203
- _proto._clearTimeout = function _clearTimeout() {
294
+ _clearTimeout() {
204
295
  clearTimeout(this._timeout);
205
296
  this._timeout = null;
206
297
  } // Static
207
- ;
208
298
 
209
- Toast._jQueryInterface = function _jQueryInterface(config) {
299
+
300
+ static jQueryInterface(config) {
210
301
  return this.each(function () {
211
- var $element = $__default["default"](this);
212
- var data = $element.data(DATA_KEY);
302
+ let data = Data__default['default'].get(this, DATA_KEY);
213
303
 
214
- var _config = typeof config === 'object' && config;
304
+ const _config = typeof config === 'object' && config;
215
305
 
216
306
  if (!data) {
217
307
  data = new Toast(this, _config);
218
- $element.data(DATA_KEY, data);
219
308
  }
220
309
 
221
310
  if (typeof config === 'string') {
222
311
  if (typeof data[config] === 'undefined') {
223
- throw new TypeError("No method named \"" + config + "\"");
312
+ throw new TypeError(`No method named "${config}"`);
224
313
  }
225
314
 
226
315
  data[config](this);
227
316
  }
228
317
  });
229
- };
230
-
231
- _createClass(Toast, null, [{
232
- key: "VERSION",
233
- get: function get() {
234
- return VERSION;
235
- }
236
- }, {
237
- key: "DefaultType",
238
- get: function get() {
239
- return DefaultType;
240
- }
241
- }, {
242
- key: "Default",
243
- get: function get() {
244
- return Default;
245
- }
246
- }]);
318
+ }
247
319
 
248
- return Toast;
249
- }();
320
+ }
250
321
  /**
322
+ * ------------------------------------------------------------------------
251
323
  * jQuery
324
+ * ------------------------------------------------------------------------
325
+ * add .Toast to jQuery only if jQuery is present
252
326
  */
253
327
 
254
328
 
255
- $__default["default"].fn[NAME] = Toast._jQueryInterface;
256
- $__default["default"].fn[NAME].Constructor = Toast;
257
-
258
- $__default["default"].fn[NAME].noConflict = function () {
259
- $__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
260
- return Toast._jQueryInterface;
261
- };
329
+ defineJQueryPlugin(NAME, Toast);
262
330
 
263
331
  return Toast;
264
332
 
265
- }));
333
+ })));