bootstrap 4.1.3 → 4.2.1
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.
Potentially problematic release.
This version of bootstrap might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/README.md +1 -1
- data/Rakefile +2 -2
- data/assets/javascripts/bootstrap-sprockets.js +6 -5
- data/assets/javascripts/bootstrap.js +3290 -2985
- data/assets/javascripts/bootstrap.min.js +2 -2
- data/assets/javascripts/bootstrap/alert.js +127 -132
- data/assets/javascripts/bootstrap/button.js +119 -124
- data/assets/javascripts/bootstrap/carousel.js +492 -393
- data/assets/javascripts/bootstrap/collapse.js +276 -279
- data/assets/javascripts/bootstrap/dropdown.js +413 -374
- data/assets/javascripts/bootstrap/modal.js +455 -445
- data/assets/javascripts/bootstrap/popover.js +155 -160
- data/assets/javascripts/bootstrap/scrollspy.js +246 -250
- data/assets/javascripts/bootstrap/tab.js +180 -192
- data/assets/javascripts/bootstrap/toast.js +277 -0
- data/assets/javascripts/bootstrap/tooltip.js +533 -522
- data/assets/javascripts/bootstrap/util.js +140 -116
- data/assets/stylesheets/_bootstrap-grid.scss +2 -5
- data/assets/stylesheets/_bootstrap-reboot.scss +1 -1
- data/assets/stylesheets/_bootstrap.scss +3 -1
- data/assets/stylesheets/bootstrap/_alert.scss +1 -1
- data/assets/stylesheets/bootstrap/_badge.scss +6 -0
- data/assets/stylesheets/bootstrap/_button-group.scss +9 -18
- data/assets/stylesheets/bootstrap/_buttons.scss +7 -10
- data/assets/stylesheets/bootstrap/_card.scss +30 -21
- data/assets/stylesheets/bootstrap/_carousel.scss +36 -74
- data/assets/stylesheets/bootstrap/_close.scss +15 -6
- data/assets/stylesheets/bootstrap/_custom-forms.scss +103 -29
- data/assets/stylesheets/bootstrap/_dropdown.scss +30 -5
- data/assets/stylesheets/bootstrap/_forms.scss +12 -11
- data/assets/stylesheets/bootstrap/_functions.scss +4 -4
- data/assets/stylesheets/bootstrap/_images.scss +1 -1
- data/assets/stylesheets/bootstrap/_input-group.scss +24 -4
- data/assets/stylesheets/bootstrap/_list-group.scss +6 -0
- data/assets/stylesheets/bootstrap/_modal.scss +16 -10
- data/assets/stylesheets/bootstrap/_nav.scss +2 -0
- data/assets/stylesheets/bootstrap/_navbar.scss +4 -4
- data/assets/stylesheets/bootstrap/_popover.scss +1 -1
- data/assets/stylesheets/bootstrap/_reboot.scss +14 -35
- data/assets/stylesheets/bootstrap/_spinners.scss +53 -0
- data/assets/stylesheets/bootstrap/_tables.scss +2 -2
- data/assets/stylesheets/bootstrap/_toasts.scss +43 -0
- data/assets/stylesheets/bootstrap/_type.scss +2 -2
- data/assets/stylesheets/bootstrap/_utilities.scss +1 -0
- data/assets/stylesheets/bootstrap/_variables.scss +220 -81
- data/assets/stylesheets/bootstrap/mixins/_badge.scss +1 -2
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +9 -7
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +0 -4
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +61 -10
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +3 -4
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +9 -10
- data/assets/stylesheets/bootstrap/mixins/_table-row.scss +10 -1
- data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +5 -2
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +4 -0
- data/assets/stylesheets/bootstrap/utilities/_embed.scss +7 -20
- data/assets/stylesheets/bootstrap/utilities/_overflow.scss +5 -0
- data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -5
- data/assets/stylesheets/bootstrap/utilities/_sizing.scss +8 -0
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +23 -1
- data/assets/stylesheets/bootstrap/utilities/_text.scss +13 -4
- data/bootstrap.gemspec +6 -3
- data/lib/bootstrap.rb +10 -7
- data/lib/bootstrap/engine.rb +3 -0
- data/lib/bootstrap/version.rb +4 -2
- metadata +15 -11
@@ -1,3 +1,8 @@
|
|
1
|
+
/*!
|
2
|
+
* Bootstrap tab.js v4.2.1 (https://getbootstrap.com/)
|
3
|
+
* Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
4
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5
|
+
*/
|
1
6
|
(function (global, factory) {
|
2
7
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) :
|
3
8
|
typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) :
|
@@ -24,253 +29,236 @@
|
|
24
29
|
}
|
25
30
|
|
26
31
|
/**
|
27
|
-
*
|
28
|
-
*
|
29
|
-
*
|
30
|
-
* --------------------------------------------------------------------------
|
32
|
+
* ------------------------------------------------------------------------
|
33
|
+
* Constants
|
34
|
+
* ------------------------------------------------------------------------
|
31
35
|
*/
|
32
36
|
|
33
|
-
var
|
37
|
+
var NAME = 'tab';
|
38
|
+
var VERSION = '4.2.1';
|
39
|
+
var DATA_KEY = 'bs.tab';
|
40
|
+
var EVENT_KEY = "." + DATA_KEY;
|
41
|
+
var DATA_API_KEY = '.data-api';
|
42
|
+
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
43
|
+
var Event = {
|
44
|
+
HIDE: "hide" + EVENT_KEY,
|
45
|
+
HIDDEN: "hidden" + EVENT_KEY,
|
46
|
+
SHOW: "show" + EVENT_KEY,
|
47
|
+
SHOWN: "shown" + EVENT_KEY,
|
48
|
+
CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
|
49
|
+
};
|
50
|
+
var ClassName = {
|
51
|
+
DROPDOWN_MENU: 'dropdown-menu',
|
52
|
+
ACTIVE: 'active',
|
53
|
+
DISABLED: 'disabled',
|
54
|
+
FADE: 'fade',
|
55
|
+
SHOW: 'show'
|
56
|
+
};
|
57
|
+
var Selector = {
|
58
|
+
DROPDOWN: '.dropdown',
|
59
|
+
NAV_LIST_GROUP: '.nav, .list-group',
|
60
|
+
ACTIVE: '.active',
|
61
|
+
ACTIVE_UL: '> li > .active',
|
62
|
+
DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
|
63
|
+
DROPDOWN_TOGGLE: '.dropdown-toggle',
|
64
|
+
DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
|
34
65
|
/**
|
35
66
|
* ------------------------------------------------------------------------
|
36
|
-
*
|
67
|
+
* Class Definition
|
37
68
|
* ------------------------------------------------------------------------
|
38
69
|
*/
|
39
|
-
var NAME = 'tab';
|
40
|
-
var VERSION = '4.1.3';
|
41
|
-
var DATA_KEY = 'bs.tab';
|
42
|
-
var EVENT_KEY = "." + DATA_KEY;
|
43
|
-
var DATA_API_KEY = '.data-api';
|
44
|
-
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
45
|
-
var Event = {
|
46
|
-
HIDE: "hide" + EVENT_KEY,
|
47
|
-
HIDDEN: "hidden" + EVENT_KEY,
|
48
|
-
SHOW: "show" + EVENT_KEY,
|
49
|
-
SHOWN: "shown" + EVENT_KEY,
|
50
|
-
CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
|
51
|
-
};
|
52
|
-
var ClassName = {
|
53
|
-
DROPDOWN_MENU: 'dropdown-menu',
|
54
|
-
ACTIVE: 'active',
|
55
|
-
DISABLED: 'disabled',
|
56
|
-
FADE: 'fade',
|
57
|
-
SHOW: 'show'
|
58
|
-
};
|
59
|
-
var Selector = {
|
60
|
-
DROPDOWN: '.dropdown',
|
61
|
-
NAV_LIST_GROUP: '.nav, .list-group',
|
62
|
-
ACTIVE: '.active',
|
63
|
-
ACTIVE_UL: '> li > .active',
|
64
|
-
DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
|
65
|
-
DROPDOWN_TOGGLE: '.dropdown-toggle',
|
66
|
-
DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
|
67
|
-
/**
|
68
|
-
* ------------------------------------------------------------------------
|
69
|
-
* Class Definition
|
70
|
-
* ------------------------------------------------------------------------
|
71
|
-
*/
|
72
|
-
|
73
|
-
};
|
74
70
|
|
75
|
-
|
76
|
-
/*#__PURE__*/
|
77
|
-
function () {
|
78
|
-
function Tab(element) {
|
79
|
-
this._element = element;
|
80
|
-
} // Getters
|
71
|
+
};
|
81
72
|
|
73
|
+
var Tab =
|
74
|
+
/*#__PURE__*/
|
75
|
+
function () {
|
76
|
+
function Tab(element) {
|
77
|
+
this._element = element;
|
78
|
+
} // Getters
|
82
79
|
|
83
|
-
var _proto = Tab.prototype;
|
84
80
|
|
85
|
-
|
86
|
-
_proto.show = function show() {
|
87
|
-
var _this = this;
|
81
|
+
var _proto = Tab.prototype;
|
88
82
|
|
89
|
-
|
90
|
-
|
91
|
-
|
83
|
+
// Public
|
84
|
+
_proto.show = function show() {
|
85
|
+
var _this = this;
|
92
86
|
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
var selector = Util.getSelectorFromElement(this._element);
|
87
|
+
if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) {
|
88
|
+
return;
|
89
|
+
}
|
97
90
|
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
}
|
91
|
+
var target;
|
92
|
+
var previous;
|
93
|
+
var listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0];
|
94
|
+
var selector = Util.getSelectorFromElement(this._element);
|
103
95
|
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
});
|
96
|
+
if (listElement) {
|
97
|
+
var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE;
|
98
|
+
previous = $.makeArray($(listElement).find(itemSelector));
|
99
|
+
previous = previous[previous.length - 1];
|
100
|
+
}
|
110
101
|
|
111
|
-
|
112
|
-
|
113
|
-
|
102
|
+
var hideEvent = $.Event(Event.HIDE, {
|
103
|
+
relatedTarget: this._element
|
104
|
+
});
|
105
|
+
var showEvent = $.Event(Event.SHOW, {
|
106
|
+
relatedTarget: previous
|
107
|
+
});
|
114
108
|
|
115
|
-
|
109
|
+
if (previous) {
|
110
|
+
$(previous).trigger(hideEvent);
|
111
|
+
}
|
116
112
|
|
117
|
-
|
118
|
-
return;
|
119
|
-
}
|
113
|
+
$(this._element).trigger(showEvent);
|
120
114
|
|
121
|
-
|
122
|
-
|
123
|
-
|
115
|
+
if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
|
116
|
+
return;
|
117
|
+
}
|
124
118
|
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
var hiddenEvent = $$$1.Event(Event.HIDDEN, {
|
129
|
-
relatedTarget: _this._element
|
130
|
-
});
|
131
|
-
var shownEvent = $$$1.Event(Event.SHOWN, {
|
132
|
-
relatedTarget: previous
|
133
|
-
});
|
134
|
-
$$$1(previous).trigger(hiddenEvent);
|
135
|
-
$$$1(_this._element).trigger(shownEvent);
|
136
|
-
};
|
137
|
-
|
138
|
-
if (target) {
|
139
|
-
this._activate(target, target.parentNode, complete);
|
140
|
-
} else {
|
141
|
-
complete();
|
142
|
-
}
|
143
|
-
};
|
119
|
+
if (selector) {
|
120
|
+
target = document.querySelector(selector);
|
121
|
+
}
|
144
122
|
|
145
|
-
|
146
|
-
$$$1.removeData(this._element, DATA_KEY);
|
147
|
-
this._element = null;
|
148
|
-
}; // Private
|
123
|
+
this._activate(this._element, listElement);
|
149
124
|
|
125
|
+
var complete = function complete() {
|
126
|
+
var hiddenEvent = $.Event(Event.HIDDEN, {
|
127
|
+
relatedTarget: _this._element
|
128
|
+
});
|
129
|
+
var shownEvent = $.Event(Event.SHOWN, {
|
130
|
+
relatedTarget: previous
|
131
|
+
});
|
132
|
+
$(previous).trigger(hiddenEvent);
|
133
|
+
$(_this._element).trigger(shownEvent);
|
134
|
+
};
|
150
135
|
|
151
|
-
|
152
|
-
|
136
|
+
if (target) {
|
137
|
+
this._activate(target, target.parentNode, complete);
|
138
|
+
} else {
|
139
|
+
complete();
|
140
|
+
}
|
141
|
+
};
|
153
142
|
|
154
|
-
|
143
|
+
_proto.dispose = function dispose() {
|
144
|
+
$.removeData(this._element, DATA_KEY);
|
145
|
+
this._element = null;
|
146
|
+
}; // Private
|
155
147
|
|
156
|
-
if (container.nodeName === 'UL') {
|
157
|
-
activeElements = $$$1(container).find(Selector.ACTIVE_UL);
|
158
|
-
} else {
|
159
|
-
activeElements = $$$1(container).children(Selector.ACTIVE);
|
160
|
-
}
|
161
148
|
|
162
|
-
|
163
|
-
|
149
|
+
_proto._activate = function _activate(element, container, callback) {
|
150
|
+
var _this2 = this;
|
164
151
|
|
165
|
-
|
166
|
-
|
167
|
-
|
152
|
+
var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(Selector.ACTIVE_UL) : $(container).children(Selector.ACTIVE);
|
153
|
+
var active = activeElements[0];
|
154
|
+
var isTransitioning = callback && active && $(active).hasClass(ClassName.FADE);
|
168
155
|
|
169
|
-
|
170
|
-
|
171
|
-
$$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
172
|
-
} else {
|
173
|
-
complete();
|
174
|
-
}
|
156
|
+
var complete = function complete() {
|
157
|
+
return _this2._transitionComplete(element, active, callback);
|
175
158
|
};
|
176
159
|
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
160
|
+
if (active && isTransitioning) {
|
161
|
+
var transitionDuration = Util.getTransitionDurationFromElement(active);
|
162
|
+
$(active).removeClass(ClassName.SHOW).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
163
|
+
} else {
|
164
|
+
complete();
|
165
|
+
}
|
166
|
+
};
|
181
167
|
|
182
|
-
|
183
|
-
|
184
|
-
|
168
|
+
_proto._transitionComplete = function _transitionComplete(element, active, callback) {
|
169
|
+
if (active) {
|
170
|
+
$(active).removeClass(ClassName.ACTIVE);
|
171
|
+
var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
|
185
172
|
|
186
|
-
|
187
|
-
|
188
|
-
}
|
173
|
+
if (dropdownChild) {
|
174
|
+
$(dropdownChild).removeClass(ClassName.ACTIVE);
|
189
175
|
}
|
190
176
|
|
191
|
-
|
192
|
-
|
193
|
-
if (element.getAttribute('role') === 'tab') {
|
194
|
-
element.setAttribute('aria-selected', true);
|
177
|
+
if (active.getAttribute('role') === 'tab') {
|
178
|
+
active.setAttribute('aria-selected', false);
|
195
179
|
}
|
180
|
+
}
|
196
181
|
|
197
|
-
|
198
|
-
$$$1(element).addClass(ClassName.SHOW);
|
182
|
+
$(element).addClass(ClassName.ACTIVE);
|
199
183
|
|
200
|
-
|
201
|
-
|
184
|
+
if (element.getAttribute('role') === 'tab') {
|
185
|
+
element.setAttribute('aria-selected', true);
|
186
|
+
}
|
202
187
|
|
203
|
-
|
204
|
-
|
205
|
-
$$$1(dropdownToggleList).addClass(ClassName.ACTIVE);
|
206
|
-
}
|
188
|
+
Util.reflow(element);
|
189
|
+
$(element).addClass(ClassName.SHOW);
|
207
190
|
|
208
|
-
|
209
|
-
|
191
|
+
if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
|
192
|
+
var dropdownElement = $(element).closest(Selector.DROPDOWN)[0];
|
210
193
|
|
211
|
-
if (
|
212
|
-
|
194
|
+
if (dropdownElement) {
|
195
|
+
var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE));
|
196
|
+
$(dropdownToggleList).addClass(ClassName.ACTIVE);
|
213
197
|
}
|
214
|
-
}; // Static
|
215
198
|
|
199
|
+
element.setAttribute('aria-expanded', true);
|
200
|
+
}
|
216
201
|
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
202
|
+
if (callback) {
|
203
|
+
callback();
|
204
|
+
}
|
205
|
+
}; // Static
|
221
206
|
|
222
|
-
if (!data) {
|
223
|
-
data = new Tab(this);
|
224
|
-
$this.data(DATA_KEY, data);
|
225
|
-
}
|
226
207
|
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
208
|
+
Tab._jQueryInterface = function _jQueryInterface(config) {
|
209
|
+
return this.each(function () {
|
210
|
+
var $this = $(this);
|
211
|
+
var data = $this.data(DATA_KEY);
|
212
|
+
|
213
|
+
if (!data) {
|
214
|
+
data = new Tab(this);
|
215
|
+
$this.data(DATA_KEY, data);
|
216
|
+
}
|
231
217
|
|
232
|
-
|
218
|
+
if (typeof config === 'string') {
|
219
|
+
if (typeof data[config] === 'undefined') {
|
220
|
+
throw new TypeError("No method named \"" + config + "\"");
|
233
221
|
}
|
234
|
-
});
|
235
|
-
};
|
236
222
|
|
237
|
-
|
238
|
-
key: "VERSION",
|
239
|
-
get: function get() {
|
240
|
-
return VERSION;
|
223
|
+
data[config]();
|
241
224
|
}
|
242
|
-
}
|
225
|
+
});
|
226
|
+
};
|
243
227
|
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
*/
|
228
|
+
_createClass(Tab, null, [{
|
229
|
+
key: "VERSION",
|
230
|
+
get: function get() {
|
231
|
+
return VERSION;
|
232
|
+
}
|
233
|
+
}]);
|
251
234
|
|
235
|
+
return Tab;
|
236
|
+
}();
|
237
|
+
/**
|
238
|
+
* ------------------------------------------------------------------------
|
239
|
+
* Data Api implementation
|
240
|
+
* ------------------------------------------------------------------------
|
241
|
+
*/
|
252
242
|
|
253
|
-
$$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
|
254
|
-
event.preventDefault();
|
255
243
|
|
256
|
-
|
257
|
-
|
258
|
-
/**
|
259
|
-
* ------------------------------------------------------------------------
|
260
|
-
* jQuery
|
261
|
-
* ------------------------------------------------------------------------
|
262
|
-
*/
|
244
|
+
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
|
245
|
+
event.preventDefault();
|
263
246
|
|
264
|
-
|
265
|
-
|
247
|
+
Tab._jQueryInterface.call($(this), 'show');
|
248
|
+
});
|
249
|
+
/**
|
250
|
+
* ------------------------------------------------------------------------
|
251
|
+
* jQuery
|
252
|
+
* ------------------------------------------------------------------------
|
253
|
+
*/
|
266
254
|
|
267
|
-
|
268
|
-
|
269
|
-
return Tab._jQueryInterface;
|
270
|
-
};
|
255
|
+
$.fn[NAME] = Tab._jQueryInterface;
|
256
|
+
$.fn[NAME].Constructor = Tab;
|
271
257
|
|
272
|
-
|
273
|
-
|
258
|
+
$.fn[NAME].noConflict = function () {
|
259
|
+
$.fn[NAME] = JQUERY_NO_CONFLICT;
|
260
|
+
return Tab._jQueryInterface;
|
261
|
+
};
|
274
262
|
|
275
263
|
return Tab;
|
276
264
|
|
@@ -0,0 +1,277 @@
|
|
1
|
+
/*!
|
2
|
+
* Bootstrap toast.js v4.2.1 (https://getbootstrap.com/)
|
3
|
+
* Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
4
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5
|
+
*/
|
6
|
+
(function (global, factory) {
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) :
|
8
|
+
typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) :
|
9
|
+
(global.Toast = factory(global.jQuery,global.Util));
|
10
|
+
}(this, (function ($,Util) { 'use strict';
|
11
|
+
|
12
|
+
$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
|
13
|
+
Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
|
14
|
+
|
15
|
+
function _defineProperties(target, props) {
|
16
|
+
for (var i = 0; i < props.length; i++) {
|
17
|
+
var descriptor = props[i];
|
18
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
19
|
+
descriptor.configurable = true;
|
20
|
+
if ("value" in descriptor) descriptor.writable = true;
|
21
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
22
|
+
}
|
23
|
+
}
|
24
|
+
|
25
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
26
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
27
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
28
|
+
return Constructor;
|
29
|
+
}
|
30
|
+
|
31
|
+
function _defineProperty(obj, key, value) {
|
32
|
+
if (key in obj) {
|
33
|
+
Object.defineProperty(obj, key, {
|
34
|
+
value: value,
|
35
|
+
enumerable: true,
|
36
|
+
configurable: true,
|
37
|
+
writable: true
|
38
|
+
});
|
39
|
+
} else {
|
40
|
+
obj[key] = value;
|
41
|
+
}
|
42
|
+
|
43
|
+
return obj;
|
44
|
+
}
|
45
|
+
|
46
|
+
function _objectSpread(target) {
|
47
|
+
for (var i = 1; i < arguments.length; i++) {
|
48
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
49
|
+
var ownKeys = Object.keys(source);
|
50
|
+
|
51
|
+
if (typeof Object.getOwnPropertySymbols === 'function') {
|
52
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
|
53
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
54
|
+
}));
|
55
|
+
}
|
56
|
+
|
57
|
+
ownKeys.forEach(function (key) {
|
58
|
+
_defineProperty(target, key, source[key]);
|
59
|
+
});
|
60
|
+
}
|
61
|
+
|
62
|
+
return target;
|
63
|
+
}
|
64
|
+
|
65
|
+
/**
|
66
|
+
* ------------------------------------------------------------------------
|
67
|
+
* Constants
|
68
|
+
* ------------------------------------------------------------------------
|
69
|
+
*/
|
70
|
+
|
71
|
+
var NAME = 'toast';
|
72
|
+
var VERSION = '4.2.1';
|
73
|
+
var DATA_KEY = 'bs.toast';
|
74
|
+
var EVENT_KEY = "." + DATA_KEY;
|
75
|
+
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
76
|
+
var Event = {
|
77
|
+
CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
|
78
|
+
HIDE: "hide" + EVENT_KEY,
|
79
|
+
HIDDEN: "hidden" + EVENT_KEY,
|
80
|
+
SHOW: "show" + EVENT_KEY,
|
81
|
+
SHOWN: "shown" + EVENT_KEY
|
82
|
+
};
|
83
|
+
var ClassName = {
|
84
|
+
FADE: 'fade',
|
85
|
+
HIDE: 'hide',
|
86
|
+
SHOW: 'show',
|
87
|
+
SHOWING: 'showing'
|
88
|
+
};
|
89
|
+
var DefaultType = {
|
90
|
+
animation: 'boolean',
|
91
|
+
autohide: 'boolean',
|
92
|
+
delay: 'number'
|
93
|
+
};
|
94
|
+
var Default = {
|
95
|
+
animation: true,
|
96
|
+
autohide: true,
|
97
|
+
delay: 500
|
98
|
+
};
|
99
|
+
var Selector = {
|
100
|
+
DATA_DISMISS: '[data-dismiss="toast"]'
|
101
|
+
/**
|
102
|
+
* ------------------------------------------------------------------------
|
103
|
+
* Class Definition
|
104
|
+
* ------------------------------------------------------------------------
|
105
|
+
*/
|
106
|
+
|
107
|
+
};
|
108
|
+
|
109
|
+
var Toast =
|
110
|
+
/*#__PURE__*/
|
111
|
+
function () {
|
112
|
+
function Toast(element, config) {
|
113
|
+
this._element = element;
|
114
|
+
this._config = this._getConfig(config);
|
115
|
+
this._timeout = null;
|
116
|
+
|
117
|
+
this._setListeners();
|
118
|
+
} // Getters
|
119
|
+
|
120
|
+
|
121
|
+
var _proto = Toast.prototype;
|
122
|
+
|
123
|
+
// Public
|
124
|
+
_proto.show = function show() {
|
125
|
+
var _this = this;
|
126
|
+
|
127
|
+
$(this._element).trigger(Event.SHOW);
|
128
|
+
|
129
|
+
if (this._config.animation) {
|
130
|
+
this._element.classList.add(ClassName.FADE);
|
131
|
+
}
|
132
|
+
|
133
|
+
var complete = function complete() {
|
134
|
+
_this._element.classList.remove(ClassName.SHOWING);
|
135
|
+
|
136
|
+
_this._element.classList.add(ClassName.SHOW);
|
137
|
+
|
138
|
+
$(_this._element).trigger(Event.SHOWN);
|
139
|
+
|
140
|
+
if (_this._config.autohide) {
|
141
|
+
_this.hide();
|
142
|
+
}
|
143
|
+
};
|
144
|
+
|
145
|
+
this._element.classList.remove(ClassName.HIDE);
|
146
|
+
|
147
|
+
this._element.classList.add(ClassName.SHOWING);
|
148
|
+
|
149
|
+
if (this._config.animation) {
|
150
|
+
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
151
|
+
$(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
152
|
+
} else {
|
153
|
+
complete();
|
154
|
+
}
|
155
|
+
};
|
156
|
+
|
157
|
+
_proto.hide = function hide(withoutTimeout) {
|
158
|
+
var _this2 = this;
|
159
|
+
|
160
|
+
if (!this._element.classList.contains(ClassName.SHOW)) {
|
161
|
+
return;
|
162
|
+
}
|
163
|
+
|
164
|
+
$(this._element).trigger(Event.HIDE);
|
165
|
+
|
166
|
+
if (withoutTimeout) {
|
167
|
+
this._close();
|
168
|
+
} else {
|
169
|
+
this._timeout = setTimeout(function () {
|
170
|
+
_this2._close();
|
171
|
+
}, this._config.delay);
|
172
|
+
}
|
173
|
+
};
|
174
|
+
|
175
|
+
_proto.dispose = function dispose() {
|
176
|
+
clearTimeout(this._timeout);
|
177
|
+
this._timeout = null;
|
178
|
+
|
179
|
+
if (this._element.classList.contains(ClassName.SHOW)) {
|
180
|
+
this._element.classList.remove(ClassName.SHOW);
|
181
|
+
}
|
182
|
+
|
183
|
+
$(this._element).off(Event.CLICK_DISMISS);
|
184
|
+
$.removeData(this._element, DATA_KEY);
|
185
|
+
this._element = null;
|
186
|
+
this._config = null;
|
187
|
+
}; // Private
|
188
|
+
|
189
|
+
|
190
|
+
_proto._getConfig = function _getConfig(config) {
|
191
|
+
config = _objectSpread({}, Default, $(this._element).data(), typeof config === 'object' && config ? config : {});
|
192
|
+
Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
|
193
|
+
return config;
|
194
|
+
};
|
195
|
+
|
196
|
+
_proto._setListeners = function _setListeners() {
|
197
|
+
var _this3 = this;
|
198
|
+
|
199
|
+
$(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function () {
|
200
|
+
return _this3.hide(true);
|
201
|
+
});
|
202
|
+
};
|
203
|
+
|
204
|
+
_proto._close = function _close() {
|
205
|
+
var _this4 = this;
|
206
|
+
|
207
|
+
var complete = function complete() {
|
208
|
+
_this4._element.classList.add(ClassName.HIDE);
|
209
|
+
|
210
|
+
$(_this4._element).trigger(Event.HIDDEN);
|
211
|
+
};
|
212
|
+
|
213
|
+
this._element.classList.remove(ClassName.SHOW);
|
214
|
+
|
215
|
+
if (this._config.animation) {
|
216
|
+
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
217
|
+
$(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
218
|
+
} else {
|
219
|
+
complete();
|
220
|
+
}
|
221
|
+
}; // Static
|
222
|
+
|
223
|
+
|
224
|
+
Toast._jQueryInterface = function _jQueryInterface(config) {
|
225
|
+
return this.each(function () {
|
226
|
+
var $element = $(this);
|
227
|
+
var data = $element.data(DATA_KEY);
|
228
|
+
|
229
|
+
var _config = typeof config === 'object' && config;
|
230
|
+
|
231
|
+
if (!data) {
|
232
|
+
data = new Toast(this, _config);
|
233
|
+
$element.data(DATA_KEY, data);
|
234
|
+
}
|
235
|
+
|
236
|
+
if (typeof config === 'string') {
|
237
|
+
if (typeof data[config] === 'undefined') {
|
238
|
+
throw new TypeError("No method named \"" + config + "\"");
|
239
|
+
}
|
240
|
+
|
241
|
+
data[config](this);
|
242
|
+
}
|
243
|
+
});
|
244
|
+
};
|
245
|
+
|
246
|
+
_createClass(Toast, null, [{
|
247
|
+
key: "VERSION",
|
248
|
+
get: function get() {
|
249
|
+
return VERSION;
|
250
|
+
}
|
251
|
+
}, {
|
252
|
+
key: "DefaultType",
|
253
|
+
get: function get() {
|
254
|
+
return DefaultType;
|
255
|
+
}
|
256
|
+
}]);
|
257
|
+
|
258
|
+
return Toast;
|
259
|
+
}();
|
260
|
+
/**
|
261
|
+
* ------------------------------------------------------------------------
|
262
|
+
* jQuery
|
263
|
+
* ------------------------------------------------------------------------
|
264
|
+
*/
|
265
|
+
|
266
|
+
|
267
|
+
$.fn[NAME] = Toast._jQueryInterface;
|
268
|
+
$.fn[NAME].Constructor = Toast;
|
269
|
+
|
270
|
+
$.fn[NAME].noConflict = function () {
|
271
|
+
$.fn[NAME] = JQUERY_NO_CONFLICT;
|
272
|
+
return Toast._jQueryInterface;
|
273
|
+
};
|
274
|
+
|
275
|
+
return Toast;
|
276
|
+
|
277
|
+
})));
|