bootstrap 4.1.3 → 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.
- checksums.yaml +4 -4
- data/.travis.yml +17 -2
- data/CHANGELOG.md +2 -14
- data/README.md +7 -4
- data/Rakefile +2 -2
- data/assets/javascripts/bootstrap/alert.js +226 -166
- data/assets/javascripts/bootstrap/base-component.js +63 -0
- data/assets/javascripts/bootstrap/button.js +119 -165
- data/assets/javascripts/bootstrap/carousel.js +634 -445
- data/assets/javascripts/bootstrap/collapse.js +447 -327
- data/assets/javascripts/bootstrap/dom/data.js +68 -0
- data/assets/javascripts/bootstrap/dom/event-handler.js +322 -0
- data/assets/javascripts/bootstrap/dom/manipulator.js +88 -0
- data/assets/javascripts/bootstrap/dom/selector-engine.js +85 -0
- data/assets/javascripts/bootstrap/dropdown.js +550 -425
- data/assets/javascripts/bootstrap/modal.js +695 -492
- data/assets/javascripts/bootstrap/offcanvas.js +671 -0
- data/assets/javascripts/bootstrap/popover.js +167 -217
- data/assets/javascripts/bootstrap/scrollspy.js +319 -302
- data/assets/javascripts/bootstrap/tab.js +303 -221
- data/assets/javascripts/bootstrap/toast.js +333 -0
- data/assets/javascripts/bootstrap/tooltip.js +896 -577
- data/assets/javascripts/bootstrap-global-this-define.js +6 -0
- data/assets/javascripts/bootstrap-global-this-undefine.js +2 -0
- data/assets/javascripts/bootstrap-sprockets.js +15 -7
- data/assets/javascripts/bootstrap.js +4262 -3163
- data/assets/javascripts/bootstrap.min.js +4 -4
- data/assets/stylesheets/_bootstrap-grid.scss +54 -21
- data/assets/stylesheets/_bootstrap-reboot.scss +7 -4
- data/assets/stylesheets/_bootstrap.scss +21 -11
- data/assets/stylesheets/bootstrap/_accordion.scss +118 -0
- data/assets/stylesheets/bootstrap/_alert.scss +15 -9
- data/assets/stylesheets/bootstrap/_badge.scss +3 -21
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +5 -18
- data/assets/stylesheets/bootstrap/_button-group.scss +29 -62
- data/assets/stylesheets/bootstrap/_buttons.scss +33 -65
- data/assets/stylesheets/bootstrap/_card.scss +55 -141
- data/assets/stylesheets/bootstrap/_carousel.scss +94 -101
- data/assets/stylesheets/bootstrap/_close.scss +33 -28
- data/assets/stylesheets/bootstrap/_containers.scss +41 -0
- data/assets/stylesheets/bootstrap/_dropdown.scss +114 -40
- data/assets/stylesheets/bootstrap/_forms.scss +9 -333
- data/assets/stylesheets/bootstrap/_functions.scss +148 -29
- data/assets/stylesheets/bootstrap/_grid.scss +4 -34
- data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
- data/assets/stylesheets/bootstrap/_images.scss +4 -4
- data/assets/stylesheets/bootstrap/_list-group.scss +86 -27
- data/assets/stylesheets/bootstrap/_mixins.scss +17 -16
- data/assets/stylesheets/bootstrap/_modal.scss +90 -42
- data/assets/stylesheets/bootstrap/_nav.scss +31 -10
- data/assets/stylesheets/bootstrap/_navbar.scss +68 -61
- data/assets/stylesheets/bootstrap/_offcanvas.scss +77 -0
- data/assets/stylesheets/bootstrap/_pagination.scss +13 -27
- data/assets/stylesheets/bootstrap/_popover.scss +63 -88
- data/assets/stylesheets/bootstrap/_progress.scss +20 -6
- data/assets/stylesheets/bootstrap/_reboot.scss +349 -211
- data/assets/stylesheets/bootstrap/_root.scss +5 -8
- data/assets/stylesheets/bootstrap/_spinners.scss +69 -0
- data/assets/stylesheets/bootstrap/_tables.scss +79 -116
- data/assets/stylesheets/bootstrap/_toasts.scss +51 -0
- data/assets/stylesheets/bootstrap/_tooltip.scss +18 -18
- data/assets/stylesheets/bootstrap/_transitions.scss +2 -3
- data/assets/stylesheets/bootstrap/_type.scss +42 -63
- data/assets/stylesheets/bootstrap/_utilities.scss +594 -15
- data/assets/stylesheets/bootstrap/_variables.scss +952 -440
- data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
- data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +61 -0
- data/assets/stylesheets/bootstrap/forms/_form-check.scss +152 -0
- data/assets/stylesheets/bootstrap/forms/_form-control.scss +219 -0
- data/assets/stylesheets/bootstrap/forms/_form-range.scss +91 -0
- data/assets/stylesheets/bootstrap/forms/_form-select.scss +67 -0
- data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
- data/assets/stylesheets/bootstrap/forms/_input-group.scss +121 -0
- data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
- data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
- data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
- data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
- data/assets/stylesheets/bootstrap/helpers/_ratio.scss +26 -0
- data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
- data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
- data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +8 -0
- data/assets/stylesheets/bootstrap/mixins/_alert.scss +3 -5
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +57 -14
- data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +14 -1
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +13 -9
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +77 -53
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +14 -16
- data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_color-scheme.scss +7 -0
- data/assets/stylesheets/bootstrap/mixins/_container.scss +9 -0
- data/assets/stylesheets/bootstrap/mixins/_deprecate.scss +10 -0
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +87 -97
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +13 -11
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +106 -33
- data/assets/stylesheets/bootstrap/mixins/_image.scss +0 -20
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +5 -2
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +18 -9
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +19 -6
- data/assets/stylesheets/bootstrap/mixins/_utilities.scss +68 -0
- data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +29 -0
- data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +312 -0
- data/bootstrap.gemspec +7 -6
- data/lib/bootstrap/engine.rb +3 -0
- data/lib/bootstrap/version.rb +4 -2
- data/lib/bootstrap.rb +10 -7
- data/tasks/updater/js.rb +20 -5
- data/tasks/updater/network.rb +8 -2
- data/test/dummy_rails/app/assets/config/manifest.js +3 -0
- data/test/dummy_rails/app/assets/javascripts/application.js +4 -3
- data/test/dummy_rails/app/assets/stylesheets/.browserslistrc +1 -0
- data/test/dummy_rails/app/views/layouts/application.html.erb +3 -1
- data/test/dummy_rails/app/views/pages/root.html +89 -0
- data/test/dummy_rails/config/application.rb +0 -3
- data/test/gemfiles/rails_6_0.gemfile +7 -0
- data/test/gemfiles/rails_6_1.gemfile +7 -0
- data/test/support/dummy_rails_integration.rb +3 -1
- data/test/test_helper.rb +18 -13
- metadata +64 -79
- data/assets/javascripts/bootstrap/util.js +0 -143
- data/assets/stylesheets/bootstrap/_code.scss +0 -48
- data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -433
- data/assets/stylesheets/bootstrap/_input-group.scss +0 -173
- data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -16
- data/assets/stylesheets/bootstrap/_media.scss +0 -8
- data/assets/stylesheets/bootstrap/_print.scss +0 -141
- data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -21
- data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -12
- data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -11
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -67
- data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
- data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -10
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -33
- data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -6
- data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -30
- data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -14
- data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -13
- data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -7
- data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
- data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -59
- data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -38
- data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -52
- data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
- data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -9
- data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -37
- data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
- data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
- data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -12
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -51
- data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -58
- data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -11
- data/test/dummy_rails/app/views/pages/root.html.slim +0 -58
- /data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
@@ -0,0 +1,333 @@
|
|
1
|
+
/*!
|
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
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
5
|
+
*/
|
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'), 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
|
+
|
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 Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);
|
17
|
+
var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
|
18
|
+
|
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}`;
|
31
|
+
}
|
32
|
+
|
33
|
+
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
|
34
|
+
};
|
35
|
+
|
36
|
+
const getTransitionDurationFromElement = element => {
|
37
|
+
if (!element) {
|
38
|
+
return 0;
|
39
|
+
} // Get transition-duration of the element
|
40
|
+
|
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);
|
79
|
+
}
|
80
|
+
}, emulatedDuration);
|
81
|
+
};
|
82
|
+
|
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);
|
88
|
+
|
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
|
+
};
|
134
|
+
|
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
|
+
* ------------------------------------------------------------------------
|
143
|
+
* Constants
|
144
|
+
* ------------------------------------------------------------------------
|
145
|
+
*/
|
146
|
+
|
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 = {
|
160
|
+
animation: 'boolean',
|
161
|
+
autohide: 'boolean',
|
162
|
+
delay: 'number'
|
163
|
+
};
|
164
|
+
const Default = {
|
165
|
+
animation: true,
|
166
|
+
autohide: true,
|
167
|
+
delay: 5000
|
168
|
+
};
|
169
|
+
const SELECTOR_DATA_DISMISS = '[data-bs-dismiss="toast"]';
|
170
|
+
/**
|
171
|
+
* ------------------------------------------------------------------------
|
172
|
+
* Class Definition
|
173
|
+
* ------------------------------------------------------------------------
|
174
|
+
*/
|
175
|
+
|
176
|
+
class Toast extends BaseComponent__default['default'] {
|
177
|
+
constructor(element, config) {
|
178
|
+
super(element);
|
179
|
+
this._config = this._getConfig(config);
|
180
|
+
this._timeout = null;
|
181
|
+
|
182
|
+
this._setListeners();
|
183
|
+
} // Getters
|
184
|
+
|
185
|
+
|
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
|
197
|
+
|
198
|
+
|
199
|
+
show() {
|
200
|
+
const showEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW);
|
201
|
+
|
202
|
+
if (showEvent.defaultPrevented) {
|
203
|
+
return;
|
204
|
+
}
|
205
|
+
|
206
|
+
this._clearTimeout();
|
207
|
+
|
208
|
+
if (this._config.animation) {
|
209
|
+
this._element.classList.add(CLASS_NAME_FADE);
|
210
|
+
}
|
211
|
+
|
212
|
+
const complete = () => {
|
213
|
+
this._element.classList.remove(CLASS_NAME_SHOWING);
|
214
|
+
|
215
|
+
this._element.classList.add(CLASS_NAME_SHOW);
|
216
|
+
|
217
|
+
EventHandler__default['default'].trigger(this._element, EVENT_SHOWN);
|
218
|
+
|
219
|
+
if (this._config.autohide) {
|
220
|
+
this._timeout = setTimeout(() => {
|
221
|
+
this.hide();
|
222
|
+
}, this._config.delay);
|
223
|
+
}
|
224
|
+
};
|
225
|
+
|
226
|
+
this._element.classList.remove(CLASS_NAME_HIDE);
|
227
|
+
|
228
|
+
reflow(this._element);
|
229
|
+
|
230
|
+
this._element.classList.add(CLASS_NAME_SHOWING);
|
231
|
+
|
232
|
+
if (this._config.animation) {
|
233
|
+
const transitionDuration = getTransitionDurationFromElement(this._element);
|
234
|
+
EventHandler__default['default'].one(this._element, 'transitionend', complete);
|
235
|
+
emulateTransitionEnd(this._element, transitionDuration);
|
236
|
+
} else {
|
237
|
+
complete();
|
238
|
+
}
|
239
|
+
}
|
240
|
+
|
241
|
+
hide() {
|
242
|
+
if (!this._element.classList.contains(CLASS_NAME_SHOW)) {
|
243
|
+
return;
|
244
|
+
}
|
245
|
+
|
246
|
+
const hideEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE);
|
247
|
+
|
248
|
+
if (hideEvent.defaultPrevented) {
|
249
|
+
return;
|
250
|
+
}
|
251
|
+
|
252
|
+
const complete = () => {
|
253
|
+
this._element.classList.add(CLASS_NAME_HIDE);
|
254
|
+
|
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() {
|
270
|
+
this._clearTimeout();
|
271
|
+
|
272
|
+
if (this._element.classList.contains(CLASS_NAME_SHOW)) {
|
273
|
+
this._element.classList.remove(CLASS_NAME_SHOW);
|
274
|
+
}
|
275
|
+
|
276
|
+
super.dispose();
|
277
|
+
this._config = null;
|
278
|
+
} // Private
|
279
|
+
|
280
|
+
|
281
|
+
_getConfig(config) {
|
282
|
+
config = { ...Default,
|
283
|
+
...Manipulator__default['default'].getDataAttributes(this._element),
|
284
|
+
...(typeof config === 'object' && config ? config : {})
|
285
|
+
};
|
286
|
+
typeCheckConfig(NAME, config, this.constructor.DefaultType);
|
287
|
+
return config;
|
288
|
+
}
|
289
|
+
|
290
|
+
_setListeners() {
|
291
|
+
EventHandler__default['default'].on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide());
|
292
|
+
}
|
293
|
+
|
294
|
+
_clearTimeout() {
|
295
|
+
clearTimeout(this._timeout);
|
296
|
+
this._timeout = null;
|
297
|
+
} // Static
|
298
|
+
|
299
|
+
|
300
|
+
static jQueryInterface(config) {
|
301
|
+
return this.each(function () {
|
302
|
+
let data = Data__default['default'].get(this, DATA_KEY);
|
303
|
+
|
304
|
+
const _config = typeof config === 'object' && config;
|
305
|
+
|
306
|
+
if (!data) {
|
307
|
+
data = new Toast(this, _config);
|
308
|
+
}
|
309
|
+
|
310
|
+
if (typeof config === 'string') {
|
311
|
+
if (typeof data[config] === 'undefined') {
|
312
|
+
throw new TypeError(`No method named "${config}"`);
|
313
|
+
}
|
314
|
+
|
315
|
+
data[config](this);
|
316
|
+
}
|
317
|
+
});
|
318
|
+
}
|
319
|
+
|
320
|
+
}
|
321
|
+
/**
|
322
|
+
* ------------------------------------------------------------------------
|
323
|
+
* jQuery
|
324
|
+
* ------------------------------------------------------------------------
|
325
|
+
* add .Toast to jQuery only if jQuery is present
|
326
|
+
*/
|
327
|
+
|
328
|
+
|
329
|
+
defineJQueryPlugin(NAME, Toast);
|
330
|
+
|
331
|
+
return Toast;
|
332
|
+
|
333
|
+
})));
|