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