bootstrap 5.0.0.beta2 → 5.0.2
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/README.md +3 -3
- data/assets/javascripts/bootstrap-sprockets.js +8 -7
- data/assets/javascripts/bootstrap.js +2525 -2460
- data/assets/javascripts/bootstrap.min.js +2 -2
- data/assets/javascripts/bootstrap/alert.js +77 -179
- data/assets/javascripts/bootstrap/base-component.js +140 -38
- data/assets/javascripts/bootstrap/button.js +54 -100
- data/assets/javascripts/bootstrap/carousel.js +335 -451
- data/assets/javascripts/bootstrap/collapse.js +195 -303
- data/assets/javascripts/bootstrap/dom/data.js +34 -47
- data/assets/javascripts/bootstrap/dom/event-handler.js +95 -90
- data/assets/javascripts/bootstrap/dom/manipulator.js +23 -21
- data/assets/javascripts/bootstrap/dom/selector-engine.js +20 -28
- data/assets/javascripts/bootstrap/dropdown.js +323 -358
- data/assets/javascripts/bootstrap/modal.js +537 -489
- data/assets/javascripts/bootstrap/offcanvas.js +720 -0
- data/assets/javascripts/bootstrap/popover.js +112 -180
- data/assets/javascripts/bootstrap/scrollspy.js +167 -235
- data/assets/javascripts/bootstrap/tab.js +121 -188
- data/assets/javascripts/bootstrap/toast.js +166 -243
- data/assets/javascripts/bootstrap/tooltip.js +333 -495
- data/assets/stylesheets/_bootstrap-grid.scss +1 -1
- data/assets/stylesheets/_bootstrap-reboot.scss +1 -1
- data/assets/stylesheets/_bootstrap.scss +2 -1
- data/assets/stylesheets/bootstrap/_accordion.scss +24 -32
- data/assets/stylesheets/bootstrap/_buttons.scss +2 -0
- data/assets/stylesheets/bootstrap/_card.scss +6 -6
- data/assets/stylesheets/bootstrap/_carousel.scss +2 -2
- data/assets/stylesheets/bootstrap/_dropdown.scss +14 -23
- data/assets/stylesheets/bootstrap/_functions.scss +61 -3
- data/assets/stylesheets/bootstrap/_images.scss +1 -1
- data/assets/stylesheets/bootstrap/_list-group.scss +16 -5
- data/assets/stylesheets/bootstrap/_mixins.scss +1 -0
- data/assets/stylesheets/bootstrap/_modal.scss +8 -24
- data/assets/stylesheets/bootstrap/_nav.scss +7 -0
- data/assets/stylesheets/bootstrap/_navbar.scss +2 -0
- data/assets/stylesheets/bootstrap/_offcanvas.scss +79 -0
- data/assets/stylesheets/bootstrap/_popover.scss +10 -10
- data/assets/stylesheets/bootstrap/_progress.scss +3 -0
- data/assets/stylesheets/bootstrap/_reboot.scss +7 -21
- data/assets/stylesheets/bootstrap/_spinners.scss +6 -2
- data/assets/stylesheets/bootstrap/_tables.scss +1 -0
- data/assets/stylesheets/bootstrap/_toasts.scss +1 -1
- data/assets/stylesheets/bootstrap/_tooltip.scss +4 -4
- data/assets/stylesheets/bootstrap/_transitions.scss +2 -0
- data/assets/stylesheets/bootstrap/_utilities.scss +65 -37
- data/assets/stylesheets/bootstrap/_variables.scss +162 -50
- data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +1 -1
- data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +3 -1
- data/assets/stylesheets/bootstrap/forms/_form-check.scss +1 -1
- data/assets/stylesheets/bootstrap/forms/_form-control.scss +0 -4
- data/assets/stylesheets/bootstrap/forms/_form-range.scss +1 -1
- data/assets/stylesheets/bootstrap/forms/_form-select.scss +3 -0
- data/assets/stylesheets/bootstrap/mixins/_alert.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +7 -2
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_color-scheme.scss +7 -0
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +25 -5
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +23 -11
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +2 -0
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +55 -13
- data/bootstrap.gemspec +1 -1
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +1 -1
- data/tasks/updater/network.rb +7 -1
- metadata +9 -6
@@ -1,156 +1,58 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap toast.js v5.0.
|
2
|
+
* Bootstrap toast.js v5.0.2 (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('./dom/
|
8
|
-
typeof define === 'function' && define.amd ? define(['./dom/
|
9
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Toast = factory(global.
|
10
|
-
}(this, (function (
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./base-component.js')) :
|
8
|
+
typeof define === 'function' && define.amd ? define(['./dom/event-handler', './dom/manipulator', './base-component'], factory) :
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Toast = factory(global.EventHandler, global.Manipulator, global.Base));
|
10
|
+
}(this, (function (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 Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
|
15
14
|
var EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
|
16
15
|
var Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);
|
17
16
|
var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
|
18
17
|
|
19
|
-
|
20
|
-
for (var i = 0; i < props.length; i++) {
|
21
|
-
var descriptor = props[i];
|
22
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
23
|
-
descriptor.configurable = true;
|
24
|
-
if ("value" in descriptor) descriptor.writable = true;
|
25
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
26
|
-
}
|
27
|
-
}
|
28
|
-
|
29
|
-
function _createClass(Constructor, protoProps, staticProps) {
|
30
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
31
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
32
|
-
return Constructor;
|
33
|
-
}
|
34
|
-
|
35
|
-
function _extends() {
|
36
|
-
_extends = Object.assign || function (target) {
|
37
|
-
for (var i = 1; i < arguments.length; i++) {
|
38
|
-
var source = arguments[i];
|
39
|
-
|
40
|
-
for (var key in source) {
|
41
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
42
|
-
target[key] = source[key];
|
43
|
-
}
|
44
|
-
}
|
45
|
-
}
|
46
|
-
|
47
|
-
return target;
|
48
|
-
};
|
49
|
-
|
50
|
-
return _extends.apply(this, arguments);
|
51
|
-
}
|
52
|
-
|
53
|
-
function _inheritsLoose(subClass, superClass) {
|
54
|
-
subClass.prototype = Object.create(superClass.prototype);
|
55
|
-
subClass.prototype.constructor = subClass;
|
56
|
-
|
57
|
-
_setPrototypeOf(subClass, superClass);
|
58
|
-
}
|
59
|
-
|
60
|
-
function _setPrototypeOf(o, p) {
|
61
|
-
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
62
|
-
o.__proto__ = p;
|
63
|
-
return o;
|
64
|
-
};
|
65
|
-
|
66
|
-
return _setPrototypeOf(o, p);
|
67
|
-
}
|
68
|
-
|
69
|
-
/**
|
70
|
-
* --------------------------------------------------------------------------
|
71
|
-
* Bootstrap (v5.0.0-beta2): util/index.js
|
72
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
73
|
-
* --------------------------------------------------------------------------
|
74
|
-
*/
|
75
|
-
var MILLISECONDS_MULTIPLIER = 1000;
|
76
|
-
var TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
77
|
-
|
78
|
-
var toType = function toType(obj) {
|
18
|
+
const toType = obj => {
|
79
19
|
if (obj === null || obj === undefined) {
|
80
|
-
return
|
20
|
+
return `${obj}`;
|
81
21
|
}
|
82
22
|
|
83
23
|
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
|
84
24
|
};
|
85
25
|
|
86
|
-
|
87
|
-
if (!
|
88
|
-
return
|
89
|
-
}
|
90
|
-
|
91
|
-
|
92
|
-
var _window$getComputedSt = window.getComputedStyle(element),
|
93
|
-
transitionDuration = _window$getComputedSt.transitionDuration,
|
94
|
-
transitionDelay = _window$getComputedSt.transitionDelay;
|
95
|
-
|
96
|
-
var floatTransitionDuration = Number.parseFloat(transitionDuration);
|
97
|
-
var floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
|
98
|
-
|
99
|
-
if (!floatTransitionDuration && !floatTransitionDelay) {
|
100
|
-
return 0;
|
101
|
-
} // If multiple durations are defined, take the first
|
102
|
-
|
103
|
-
|
104
|
-
transitionDuration = transitionDuration.split(',')[0];
|
105
|
-
transitionDelay = transitionDelay.split(',')[0];
|
106
|
-
return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
|
107
|
-
};
|
108
|
-
|
109
|
-
var triggerTransitionEnd = function triggerTransitionEnd(element) {
|
110
|
-
element.dispatchEvent(new Event(TRANSITION_END));
|
111
|
-
};
|
112
|
-
|
113
|
-
var isElement = function isElement(obj) {
|
114
|
-
return (obj[0] || obj).nodeType;
|
115
|
-
};
|
116
|
-
|
117
|
-
var emulateTransitionEnd = function emulateTransitionEnd(element, duration) {
|
118
|
-
var called = false;
|
119
|
-
var durationPadding = 5;
|
120
|
-
var emulatedDuration = duration + durationPadding;
|
26
|
+
const isElement = obj => {
|
27
|
+
if (!obj || typeof obj !== 'object') {
|
28
|
+
return false;
|
29
|
+
}
|
121
30
|
|
122
|
-
|
123
|
-
|
124
|
-
element.removeEventListener(TRANSITION_END, listener);
|
31
|
+
if (typeof obj.jquery !== 'undefined') {
|
32
|
+
obj = obj[0];
|
125
33
|
}
|
126
34
|
|
127
|
-
|
128
|
-
setTimeout(function () {
|
129
|
-
if (!called) {
|
130
|
-
triggerTransitionEnd(element);
|
131
|
-
}
|
132
|
-
}, emulatedDuration);
|
35
|
+
return typeof obj.nodeType !== 'undefined';
|
133
36
|
};
|
134
37
|
|
135
|
-
|
136
|
-
Object.keys(configTypes).forEach(
|
137
|
-
|
138
|
-
|
139
|
-
|
38
|
+
const typeCheckConfig = (componentName, config, configTypes) => {
|
39
|
+
Object.keys(configTypes).forEach(property => {
|
40
|
+
const expectedTypes = configTypes[property];
|
41
|
+
const value = config[property];
|
42
|
+
const valueType = value && isElement(value) ? 'element' : toType(value);
|
140
43
|
|
141
44
|
if (!new RegExp(expectedTypes).test(valueType)) {
|
142
|
-
throw new TypeError(componentName.toUpperCase()
|
45
|
+
throw new TypeError(`${componentName.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`);
|
143
46
|
}
|
144
47
|
});
|
145
48
|
};
|
146
49
|
|
147
|
-
|
148
|
-
return element.offsetHeight;
|
149
|
-
};
|
50
|
+
const reflow = element => element.offsetHeight;
|
150
51
|
|
151
|
-
|
152
|
-
|
153
|
-
|
52
|
+
const getjQuery = () => {
|
53
|
+
const {
|
54
|
+
jQuery
|
55
|
+
} = window;
|
154
56
|
|
155
57
|
if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
|
156
58
|
return jQuery;
|
@@ -159,27 +61,35 @@
|
|
159
61
|
return null;
|
160
62
|
};
|
161
63
|
|
162
|
-
|
64
|
+
const DOMContentLoadedCallbacks = [];
|
65
|
+
|
66
|
+
const onDOMContentLoaded = callback => {
|
163
67
|
if (document.readyState === 'loading') {
|
164
|
-
document
|
68
|
+
// add listener on the first call when the document is in loading state
|
69
|
+
if (!DOMContentLoadedCallbacks.length) {
|
70
|
+
document.addEventListener('DOMContentLoaded', () => {
|
71
|
+
DOMContentLoadedCallbacks.forEach(callback => callback());
|
72
|
+
});
|
73
|
+
}
|
74
|
+
|
75
|
+
DOMContentLoadedCallbacks.push(callback);
|
165
76
|
} else {
|
166
77
|
callback();
|
167
78
|
}
|
168
79
|
};
|
169
80
|
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
onDOMContentLoaded(function () {
|
174
|
-
var $ = getjQuery();
|
81
|
+
const defineJQueryPlugin = plugin => {
|
82
|
+
onDOMContentLoaded(() => {
|
83
|
+
const $ = getjQuery();
|
175
84
|
/* istanbul ignore if */
|
176
85
|
|
177
86
|
if ($) {
|
178
|
-
|
87
|
+
const name = plugin.NAME;
|
88
|
+
const JQUERY_NO_CONFLICT = $.fn[name];
|
179
89
|
$.fn[name] = plugin.jQueryInterface;
|
180
90
|
$.fn[name].Constructor = plugin;
|
181
91
|
|
182
|
-
$.fn[name].noConflict =
|
92
|
+
$.fn[name].noConflict = () => {
|
183
93
|
$.fn[name] = JQUERY_NO_CONFLICT;
|
184
94
|
return plugin.jQueryInterface;
|
185
95
|
};
|
@@ -187,64 +97,78 @@
|
|
187
97
|
});
|
188
98
|
};
|
189
99
|
|
100
|
+
/**
|
101
|
+
* --------------------------------------------------------------------------
|
102
|
+
* Bootstrap (v5.0.2): toast.js
|
103
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
104
|
+
* --------------------------------------------------------------------------
|
105
|
+
*/
|
190
106
|
/**
|
191
107
|
* ------------------------------------------------------------------------
|
192
108
|
* Constants
|
193
109
|
* ------------------------------------------------------------------------
|
194
110
|
*/
|
195
111
|
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
112
|
+
const NAME = 'toast';
|
113
|
+
const DATA_KEY = 'bs.toast';
|
114
|
+
const EVENT_KEY = `.${DATA_KEY}`;
|
115
|
+
const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`;
|
116
|
+
const EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`;
|
117
|
+
const EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`;
|
118
|
+
const EVENT_FOCUSIN = `focusin${EVENT_KEY}`;
|
119
|
+
const EVENT_FOCUSOUT = `focusout${EVENT_KEY}`;
|
120
|
+
const EVENT_HIDE = `hide${EVENT_KEY}`;
|
121
|
+
const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
|
122
|
+
const EVENT_SHOW = `show${EVENT_KEY}`;
|
123
|
+
const EVENT_SHOWN = `shown${EVENT_KEY}`;
|
124
|
+
const CLASS_NAME_FADE = 'fade';
|
125
|
+
const CLASS_NAME_HIDE = 'hide';
|
126
|
+
const CLASS_NAME_SHOW = 'show';
|
127
|
+
const CLASS_NAME_SHOWING = 'showing';
|
128
|
+
const DefaultType = {
|
209
129
|
animation: 'boolean',
|
210
130
|
autohide: 'boolean',
|
211
131
|
delay: 'number'
|
212
132
|
};
|
213
|
-
|
133
|
+
const Default = {
|
214
134
|
animation: true,
|
215
135
|
autohide: true,
|
216
136
|
delay: 5000
|
217
137
|
};
|
218
|
-
|
138
|
+
const SELECTOR_DATA_DISMISS = '[data-bs-dismiss="toast"]';
|
219
139
|
/**
|
220
140
|
* ------------------------------------------------------------------------
|
221
141
|
* Class Definition
|
222
142
|
* ------------------------------------------------------------------------
|
223
143
|
*/
|
224
144
|
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
145
|
+
class Toast extends BaseComponent__default['default'] {
|
146
|
+
constructor(element, config) {
|
147
|
+
super(element);
|
148
|
+
this._config = this._getConfig(config);
|
149
|
+
this._timeout = null;
|
150
|
+
this._hasMouseInteraction = false;
|
151
|
+
this._hasKeyboardInteraction = false;
|
230
152
|
|
231
|
-
|
232
|
-
|
233
|
-
_this._timeout = null;
|
153
|
+
this._setListeners();
|
154
|
+
} // Getters
|
234
155
|
|
235
|
-
_this._setListeners();
|
236
156
|
|
237
|
-
|
238
|
-
|
157
|
+
static get DefaultType() {
|
158
|
+
return DefaultType;
|
159
|
+
}
|
239
160
|
|
161
|
+
static get Default() {
|
162
|
+
return Default;
|
163
|
+
}
|
240
164
|
|
241
|
-
|
165
|
+
static get NAME() {
|
166
|
+
return NAME;
|
167
|
+
} // Public
|
242
168
|
|
243
|
-
// Public
|
244
|
-
_proto.show = function show() {
|
245
|
-
var _this2 = this;
|
246
169
|
|
247
|
-
|
170
|
+
show() {
|
171
|
+
const showEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW);
|
248
172
|
|
249
173
|
if (showEvent.defaultPrevented) {
|
250
174
|
return;
|
@@ -256,18 +180,14 @@
|
|
256
180
|
this._element.classList.add(CLASS_NAME_FADE);
|
257
181
|
}
|
258
182
|
|
259
|
-
|
260
|
-
|
183
|
+
const complete = () => {
|
184
|
+
this._element.classList.remove(CLASS_NAME_SHOWING);
|
261
185
|
|
262
|
-
|
186
|
+
this._element.classList.add(CLASS_NAME_SHOW);
|
263
187
|
|
264
|
-
EventHandler__default['default'].trigger(
|
188
|
+
EventHandler__default['default'].trigger(this._element, EVENT_SHOWN);
|
265
189
|
|
266
|
-
|
267
|
-
_this2._timeout = setTimeout(function () {
|
268
|
-
_this2.hide();
|
269
|
-
}, _this2._config.delay);
|
270
|
-
}
|
190
|
+
this._maybeScheduleHide();
|
271
191
|
};
|
272
192
|
|
273
193
|
this._element.classList.remove(CLASS_NAME_HIDE);
|
@@ -276,119 +196,122 @@
|
|
276
196
|
|
277
197
|
this._element.classList.add(CLASS_NAME_SHOWING);
|
278
198
|
|
279
|
-
|
280
|
-
|
281
|
-
EventHandler__default['default'].one(this._element, 'transitionend', complete);
|
282
|
-
emulateTransitionEnd(this._element, transitionDuration);
|
283
|
-
} else {
|
284
|
-
complete();
|
285
|
-
}
|
286
|
-
};
|
287
|
-
|
288
|
-
_proto.hide = function hide() {
|
289
|
-
var _this3 = this;
|
199
|
+
this._queueCallback(complete, this._element, this._config.animation);
|
200
|
+
}
|
290
201
|
|
202
|
+
hide() {
|
291
203
|
if (!this._element.classList.contains(CLASS_NAME_SHOW)) {
|
292
204
|
return;
|
293
205
|
}
|
294
206
|
|
295
|
-
|
207
|
+
const hideEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE);
|
296
208
|
|
297
209
|
if (hideEvent.defaultPrevented) {
|
298
210
|
return;
|
299
211
|
}
|
300
212
|
|
301
|
-
|
302
|
-
|
213
|
+
const complete = () => {
|
214
|
+
this._element.classList.add(CLASS_NAME_HIDE);
|
303
215
|
|
304
|
-
EventHandler__default['default'].trigger(
|
216
|
+
EventHandler__default['default'].trigger(this._element, EVENT_HIDDEN);
|
305
217
|
};
|
306
218
|
|
307
219
|
this._element.classList.remove(CLASS_NAME_SHOW);
|
308
220
|
|
309
|
-
|
310
|
-
|
311
|
-
EventHandler__default['default'].one(this._element, 'transitionend', complete);
|
312
|
-
emulateTransitionEnd(this._element, transitionDuration);
|
313
|
-
} else {
|
314
|
-
complete();
|
315
|
-
}
|
316
|
-
};
|
221
|
+
this._queueCallback(complete, this._element, this._config.animation);
|
222
|
+
}
|
317
223
|
|
318
|
-
|
224
|
+
dispose() {
|
319
225
|
this._clearTimeout();
|
320
226
|
|
321
227
|
if (this._element.classList.contains(CLASS_NAME_SHOW)) {
|
322
228
|
this._element.classList.remove(CLASS_NAME_SHOW);
|
323
229
|
}
|
324
230
|
|
325
|
-
|
326
|
-
|
327
|
-
_BaseComponent.prototype.dispose.call(this);
|
328
|
-
|
329
|
-
this._config = null;
|
231
|
+
super.dispose();
|
330
232
|
} // Private
|
331
|
-
;
|
332
233
|
|
333
|
-
|
334
|
-
|
234
|
+
|
235
|
+
_getConfig(config) {
|
236
|
+
config = { ...Default,
|
237
|
+
...Manipulator__default['default'].getDataAttributes(this._element),
|
238
|
+
...(typeof config === 'object' && config ? config : {})
|
239
|
+
};
|
335
240
|
typeCheckConfig(NAME, config, this.constructor.DefaultType);
|
336
241
|
return config;
|
337
|
-
}
|
242
|
+
}
|
243
|
+
|
244
|
+
_maybeScheduleHide() {
|
245
|
+
if (!this._config.autohide) {
|
246
|
+
return;
|
247
|
+
}
|
338
248
|
|
339
|
-
|
340
|
-
|
249
|
+
if (this._hasMouseInteraction || this._hasKeyboardInteraction) {
|
250
|
+
return;
|
251
|
+
}
|
341
252
|
|
342
|
-
|
343
|
-
|
344
|
-
});
|
345
|
-
}
|
253
|
+
this._timeout = setTimeout(() => {
|
254
|
+
this.hide();
|
255
|
+
}, this._config.delay);
|
256
|
+
}
|
346
257
|
|
347
|
-
|
258
|
+
_onInteraction(event, isInteracting) {
|
259
|
+
switch (event.type) {
|
260
|
+
case 'mouseover':
|
261
|
+
case 'mouseout':
|
262
|
+
this._hasMouseInteraction = isInteracting;
|
263
|
+
break;
|
264
|
+
|
265
|
+
case 'focusin':
|
266
|
+
case 'focusout':
|
267
|
+
this._hasKeyboardInteraction = isInteracting;
|
268
|
+
break;
|
269
|
+
}
|
270
|
+
|
271
|
+
if (isInteracting) {
|
272
|
+
this._clearTimeout();
|
273
|
+
|
274
|
+
return;
|
275
|
+
}
|
276
|
+
|
277
|
+
const nextElement = event.relatedTarget;
|
278
|
+
|
279
|
+
if (this._element === nextElement || this._element.contains(nextElement)) {
|
280
|
+
return;
|
281
|
+
}
|
282
|
+
|
283
|
+
this._maybeScheduleHide();
|
284
|
+
}
|
285
|
+
|
286
|
+
_setListeners() {
|
287
|
+
EventHandler__default['default'].on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide());
|
288
|
+
EventHandler__default['default'].on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true));
|
289
|
+
EventHandler__default['default'].on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false));
|
290
|
+
EventHandler__default['default'].on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true));
|
291
|
+
EventHandler__default['default'].on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false));
|
292
|
+
}
|
293
|
+
|
294
|
+
_clearTimeout() {
|
348
295
|
clearTimeout(this._timeout);
|
349
296
|
this._timeout = null;
|
350
297
|
} // Static
|
351
|
-
;
|
352
|
-
|
353
|
-
Toast.jQueryInterface = function jQueryInterface(config) {
|
354
|
-
return this.each(function () {
|
355
|
-
var data = Data__default['default'].getData(this, DATA_KEY);
|
356
298
|
|
357
|
-
var _config = typeof config === 'object' && config;
|
358
299
|
|
359
|
-
|
360
|
-
|
361
|
-
|
300
|
+
static jQueryInterface(config) {
|
301
|
+
return this.each(function () {
|
302
|
+
const data = Toast.getOrCreateInstance(this, config);
|
362
303
|
|
363
304
|
if (typeof config === 'string') {
|
364
305
|
if (typeof data[config] === 'undefined') {
|
365
|
-
throw new TypeError(
|
306
|
+
throw new TypeError(`No method named "${config}"`);
|
366
307
|
}
|
367
308
|
|
368
309
|
data[config](this);
|
369
310
|
}
|
370
311
|
});
|
371
|
-
}
|
372
|
-
|
373
|
-
_createClass(Toast, null, [{
|
374
|
-
key: "DefaultType",
|
375
|
-
get: function get() {
|
376
|
-
return DefaultType;
|
377
|
-
}
|
378
|
-
}, {
|
379
|
-
key: "Default",
|
380
|
-
get: function get() {
|
381
|
-
return Default;
|
382
|
-
}
|
383
|
-
}, {
|
384
|
-
key: "DATA_KEY",
|
385
|
-
get: function get() {
|
386
|
-
return DATA_KEY;
|
387
|
-
}
|
388
|
-
}]);
|
312
|
+
}
|
389
313
|
|
390
|
-
|
391
|
-
}(BaseComponent__default['default']);
|
314
|
+
}
|
392
315
|
/**
|
393
316
|
* ------------------------------------------------------------------------
|
394
317
|
* jQuery
|
@@ -397,7 +320,7 @@
|
|
397
320
|
*/
|
398
321
|
|
399
322
|
|
400
|
-
defineJQueryPlugin(
|
323
|
+
defineJQueryPlugin(Toast);
|
401
324
|
|
402
325
|
return Toast;
|
403
326
|
|