bootstrap 4.3.0 → 5.0.0.alpha1
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 +15 -1
- data/CHANGELOG.md +2 -14
- data/README.md +1 -1
- data/assets/javascripts/bootstrap-sprockets.js +5 -1
- data/assets/javascripts/bootstrap.js +2292 -1514
- data/assets/javascripts/bootstrap.min.js +4 -4
- data/assets/javascripts/bootstrap/alert.js +148 -85
- data/assets/javascripts/bootstrap/button.js +69 -110
- data/assets/javascripts/bootstrap/carousel.js +320 -239
- data/assets/javascripts/bootstrap/collapse.js +300 -177
- data/assets/javascripts/bootstrap/dom/data.js +81 -0
- data/assets/javascripts/bootstrap/dom/event-handler.js +311 -0
- data/assets/javascripts/bootstrap/dom/manipulator.js +100 -0
- data/assets/javascripts/bootstrap/dom/polyfill.js +110 -0
- data/assets/javascripts/bootstrap/dom/selector-engine.js +98 -0
- data/assets/javascripts/bootstrap/dropdown.js +282 -265
- data/assets/javascripts/bootstrap/modal.js +348 -231
- data/assets/javascripts/bootstrap/popover.js +80 -105
- data/assets/javascripts/bootstrap/scrollspy.js +173 -138
- data/assets/javascripts/bootstrap/tab.js +180 -115
- data/assets/javascripts/bootstrap/toast.js +188 -132
- data/assets/javascripts/bootstrap/tooltip.js +508 -230
- data/assets/stylesheets/_bootstrap-grid.scss +54 -18
- data/assets/stylesheets/_bootstrap-reboot.scss +7 -4
- data/assets/stylesheets/_bootstrap.scss +17 -11
- data/assets/stylesheets/bootstrap/_alert.scss +3 -3
- data/assets/stylesheets/bootstrap/_badge.scss +2 -27
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +7 -18
- data/assets/stylesheets/bootstrap/_button-group.scss +16 -38
- data/assets/stylesheets/bootstrap/_buttons.scss +26 -39
- data/assets/stylesheets/bootstrap/_card.scss +48 -97
- data/assets/stylesheets/bootstrap/_carousel.scss +16 -18
- data/assets/stylesheets/bootstrap/_close.scss +9 -14
- data/assets/stylesheets/bootstrap/_containers.scss +41 -0
- data/assets/stylesheets/bootstrap/_dropdown.scss +13 -9
- data/assets/stylesheets/bootstrap/_forms.scss +9 -330
- data/assets/stylesheets/bootstrap/_functions.scss +141 -24
- data/assets/stylesheets/bootstrap/_grid.scss +4 -34
- data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
- data/assets/stylesheets/bootstrap/_images.scss +2 -2
- data/assets/stylesheets/bootstrap/_list-group.scss +41 -33
- data/assets/stylesheets/bootstrap/_mixins.scss +9 -15
- data/assets/stylesheets/bootstrap/_modal.scss +54 -48
- data/assets/stylesheets/bootstrap/_nav.scss +12 -9
- data/assets/stylesheets/bootstrap/_navbar.scss +54 -56
- data/assets/stylesheets/bootstrap/_pagination.scss +10 -22
- data/assets/stylesheets/bootstrap/_popover.scss +13 -14
- data/assets/stylesheets/bootstrap/_progress.scss +6 -4
- data/assets/stylesheets/bootstrap/_reboot.scss +318 -185
- data/assets/stylesheets/bootstrap/_root.scss +5 -8
- data/assets/stylesheets/bootstrap/_spinners.scss +3 -2
- data/assets/stylesheets/bootstrap/_tables.scss +80 -114
- data/assets/stylesheets/bootstrap/_tooltip.scss +5 -5
- data/assets/stylesheets/bootstrap/_transitions.scss +0 -1
- data/assets/stylesheets/bootstrap/_type.scss +40 -61
- data/assets/stylesheets/bootstrap/_utilities.scss +503 -17
- data/assets/stylesheets/bootstrap/_variables.scss +567 -430
- data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
- data/assets/stylesheets/bootstrap/forms/_form-check.scss +142 -0
- data/assets/stylesheets/bootstrap/forms/_form-control.scss +116 -0
- data/assets/stylesheets/bootstrap/forms/_form-file.scss +91 -0
- data/assets/stylesheets/bootstrap/forms/_form-range.scss +136 -0
- data/assets/stylesheets/bootstrap/forms/_form-select.scss +82 -0
- data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
- data/assets/stylesheets/bootstrap/forms/_input-group.scss +140 -0
- data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
- data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
- data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
- data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
- data/assets/stylesheets/bootstrap/helpers/_embed.scss +31 -0
- data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
- data/assets/stylesheets/bootstrap/helpers/_screenreaders.scss +8 -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/mixins/_alert.scss +0 -4
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +26 -13
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +11 -8
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +68 -50
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +4 -4
- data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_container.scss +9 -0
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +47 -106
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +9 -11
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +99 -29
- data/assets/stylesheets/bootstrap/mixins/_image.scss +0 -20
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +2 -1
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +15 -8
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +14 -19
- data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +17 -7
- data/assets/stylesheets/bootstrap/mixins/_utilities.scss +49 -0
- data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +230 -130
- data/bootstrap.gemspec +1 -1
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +3 -3
- data/tasks/updater/network.rb +2 -2
- data/test/dummy_rails/app/assets/config/manifest.js +3 -0
- data/test/dummy_rails/app/assets/stylesheets/.browserslistrc +1 -0
- data/test/gemfiles/rails_6_0.gemfile +7 -0
- data/test/support/dummy_rails_integration.rb +3 -1
- data/test/test_helper.rb +18 -13
- metadata +40 -42
- data/assets/javascripts/bootstrap/util.js +0 -171
- data/assets/stylesheets/bootstrap/_code.scss +0 -48
- data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -507
- data/assets/stylesheets/bootstrap/_input-group.scss +0 -193
- data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
- 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 -17
- data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -66
- data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
- data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -10
- data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
- data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
- data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -16
- data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
- data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
- 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 -75
- data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
- data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
- data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
- data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
- data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
- data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
- 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 -20
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
- data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
- data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -72
- data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
|
@@ -1,33 +1,106 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Bootstrap tab.js
|
|
3
|
-
* Copyright 2011-
|
|
4
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
|
2
|
+
* Bootstrap tab.js v5.0.0-alpha1 (https://getbootstrap.com/)
|
|
3
|
+
* Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
|
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('
|
|
8
|
-
typeof define === 'function' && define.amd ? define(['
|
|
9
|
-
(global = global || self, global.Tab = factory(global.
|
|
10
|
-
}(this, function (
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/selector-engine.js')) :
|
|
8
|
+
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/selector-engine.js'], factory) :
|
|
9
|
+
(global = global || self, global.Tab = factory(global.Data, global.EventHandler, global.SelectorEngine));
|
|
10
|
+
}(this, (function (Data, EventHandler, SelectorEngine) { 'use strict';
|
|
11
|
+
|
|
12
|
+
Data = Data && Object.prototype.hasOwnProperty.call(Data, 'default') ? Data['default'] : Data;
|
|
13
|
+
EventHandler = EventHandler && Object.prototype.hasOwnProperty.call(EventHandler, 'default') ? EventHandler['default'] : EventHandler;
|
|
14
|
+
SelectorEngine = SelectorEngine && Object.prototype.hasOwnProperty.call(SelectorEngine, 'default') ? SelectorEngine['default'] : SelectorEngine;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* --------------------------------------------------------------------------
|
|
18
|
+
* Bootstrap (v5.0.0-alpha1): util/index.js
|
|
19
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
20
|
+
* --------------------------------------------------------------------------
|
|
21
|
+
*/
|
|
22
|
+
var MILLISECONDS_MULTIPLIER = 1000;
|
|
23
|
+
var TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
|
24
|
+
|
|
25
|
+
var getSelector = function getSelector(element) {
|
|
26
|
+
var selector = element.getAttribute('data-target');
|
|
27
|
+
|
|
28
|
+
if (!selector || selector === '#') {
|
|
29
|
+
var hrefAttr = element.getAttribute('href');
|
|
30
|
+
selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;
|
|
22
31
|
}
|
|
23
|
-
}
|
|
24
32
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
33
|
+
return selector;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
var getElementFromSelector = function getElementFromSelector(element) {
|
|
37
|
+
var selector = getSelector(element);
|
|
38
|
+
return selector ? document.querySelector(selector) : null;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
var getTransitionDurationFromElement = function getTransitionDurationFromElement(element) {
|
|
42
|
+
if (!element) {
|
|
43
|
+
return 0;
|
|
44
|
+
} // Get transition-duration of the element
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
var _window$getComputedSt = window.getComputedStyle(element),
|
|
48
|
+
transitionDuration = _window$getComputedSt.transitionDuration,
|
|
49
|
+
transitionDelay = _window$getComputedSt.transitionDelay;
|
|
50
|
+
|
|
51
|
+
var floatTransitionDuration = parseFloat(transitionDuration);
|
|
52
|
+
var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
|
|
53
|
+
|
|
54
|
+
if (!floatTransitionDuration && !floatTransitionDelay) {
|
|
55
|
+
return 0;
|
|
56
|
+
} // If multiple durations are defined, take the first
|
|
30
57
|
|
|
58
|
+
|
|
59
|
+
transitionDuration = transitionDuration.split(',')[0];
|
|
60
|
+
transitionDelay = transitionDelay.split(',')[0];
|
|
61
|
+
return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
var triggerTransitionEnd = function triggerTransitionEnd(element) {
|
|
65
|
+
element.dispatchEvent(new Event(TRANSITION_END));
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
var emulateTransitionEnd = function emulateTransitionEnd(element, duration) {
|
|
69
|
+
var called = false;
|
|
70
|
+
var durationPadding = 5;
|
|
71
|
+
var emulatedDuration = duration + durationPadding;
|
|
72
|
+
|
|
73
|
+
function listener() {
|
|
74
|
+
called = true;
|
|
75
|
+
element.removeEventListener(TRANSITION_END, listener);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
element.addEventListener(TRANSITION_END, listener);
|
|
79
|
+
setTimeout(function () {
|
|
80
|
+
if (!called) {
|
|
81
|
+
triggerTransitionEnd(element);
|
|
82
|
+
}
|
|
83
|
+
}, emulatedDuration);
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
var reflow = function reflow(element) {
|
|
87
|
+
return element.offsetHeight;
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
var getjQuery = function getjQuery() {
|
|
91
|
+
var _window = window,
|
|
92
|
+
jQuery = _window.jQuery;
|
|
93
|
+
|
|
94
|
+
if (jQuery && !document.body.hasAttribute('data-no-jquery')) {
|
|
95
|
+
return jQuery;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return null;
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
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); } }
|
|
102
|
+
|
|
103
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
31
104
|
/**
|
|
32
105
|
* ------------------------------------------------------------------------
|
|
33
106
|
* Constants
|
|
@@ -35,46 +108,37 @@
|
|
|
35
108
|
*/
|
|
36
109
|
|
|
37
110
|
var NAME = 'tab';
|
|
38
|
-
var VERSION = '
|
|
111
|
+
var VERSION = '5.0.0-alpha1';
|
|
39
112
|
var DATA_KEY = 'bs.tab';
|
|
40
113
|
var EVENT_KEY = "." + DATA_KEY;
|
|
41
114
|
var DATA_API_KEY = '.data-api';
|
|
42
|
-
var
|
|
43
|
-
var
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
var
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
var
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
|
|
65
|
-
/**
|
|
66
|
-
* ------------------------------------------------------------------------
|
|
67
|
-
* Class Definition
|
|
68
|
-
* ------------------------------------------------------------------------
|
|
69
|
-
*/
|
|
70
|
-
|
|
71
|
-
};
|
|
115
|
+
var EVENT_HIDE = "hide" + EVENT_KEY;
|
|
116
|
+
var EVENT_HIDDEN = "hidden" + EVENT_KEY;
|
|
117
|
+
var EVENT_SHOW = "show" + EVENT_KEY;
|
|
118
|
+
var EVENT_SHOWN = "shown" + EVENT_KEY;
|
|
119
|
+
var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
|
|
120
|
+
var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
|
|
121
|
+
var CLASS_NAME_ACTIVE = 'active';
|
|
122
|
+
var CLASS_NAME_DISABLED = 'disabled';
|
|
123
|
+
var CLASS_NAME_FADE = 'fade';
|
|
124
|
+
var CLASS_NAME_SHOW = 'show';
|
|
125
|
+
var SELECTOR_DROPDOWN = '.dropdown';
|
|
126
|
+
var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
|
|
127
|
+
var SELECTOR_ACTIVE = '.active';
|
|
128
|
+
var SELECTOR_ACTIVE_UL = ':scope > li > .active';
|
|
129
|
+
var SELECTOR_DATA_TOGGLE = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]';
|
|
130
|
+
var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
|
|
131
|
+
var SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active';
|
|
132
|
+
/**
|
|
133
|
+
* ------------------------------------------------------------------------
|
|
134
|
+
* Class Definition
|
|
135
|
+
* ------------------------------------------------------------------------
|
|
136
|
+
*/
|
|
72
137
|
|
|
73
|
-
var Tab =
|
|
74
|
-
/*#__PURE__*/
|
|
75
|
-
function () {
|
|
138
|
+
var Tab = /*#__PURE__*/function () {
|
|
76
139
|
function Tab(element) {
|
|
77
140
|
this._element = element;
|
|
141
|
+
Data.setData(this._element, DATA_KEY, this);
|
|
78
142
|
} // Getters
|
|
79
143
|
|
|
80
144
|
|
|
@@ -84,53 +148,46 @@
|
|
|
84
148
|
_proto.show = function show() {
|
|
85
149
|
var _this = this;
|
|
86
150
|
|
|
87
|
-
if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE &&
|
|
151
|
+
if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && this._element.classList.contains(CLASS_NAME_ACTIVE) || this._element.classList.contains(CLASS_NAME_DISABLED)) {
|
|
88
152
|
return;
|
|
89
153
|
}
|
|
90
154
|
|
|
91
|
-
var target;
|
|
92
155
|
var previous;
|
|
93
|
-
var
|
|
94
|
-
|
|
156
|
+
var target = getElementFromSelector(this._element);
|
|
157
|
+
|
|
158
|
+
var listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP);
|
|
95
159
|
|
|
96
160
|
if (listElement) {
|
|
97
|
-
var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ?
|
|
98
|
-
previous =
|
|
161
|
+
var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE;
|
|
162
|
+
previous = SelectorEngine.find(itemSelector, listElement);
|
|
99
163
|
previous = previous[previous.length - 1];
|
|
100
164
|
}
|
|
101
165
|
|
|
102
|
-
var hideEvent =
|
|
103
|
-
relatedTarget: this._element
|
|
104
|
-
});
|
|
105
|
-
var showEvent = $.Event(Event.SHOW, {
|
|
106
|
-
relatedTarget: previous
|
|
107
|
-
});
|
|
166
|
+
var hideEvent = null;
|
|
108
167
|
|
|
109
168
|
if (previous) {
|
|
110
|
-
|
|
169
|
+
hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {
|
|
170
|
+
relatedTarget: this._element
|
|
171
|
+
});
|
|
111
172
|
}
|
|
112
173
|
|
|
113
|
-
|
|
174
|
+
var showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {
|
|
175
|
+
relatedTarget: previous
|
|
176
|
+
});
|
|
114
177
|
|
|
115
|
-
if (showEvent.
|
|
178
|
+
if (showEvent.defaultPrevented || hideEvent !== null && hideEvent.defaultPrevented) {
|
|
116
179
|
return;
|
|
117
180
|
}
|
|
118
181
|
|
|
119
|
-
if (selector) {
|
|
120
|
-
target = document.querySelector(selector);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
182
|
this._activate(this._element, listElement);
|
|
124
183
|
|
|
125
184
|
var complete = function complete() {
|
|
126
|
-
|
|
185
|
+
EventHandler.trigger(previous, EVENT_HIDDEN, {
|
|
127
186
|
relatedTarget: _this._element
|
|
128
187
|
});
|
|
129
|
-
|
|
188
|
+
EventHandler.trigger(_this._element, EVENT_SHOWN, {
|
|
130
189
|
relatedTarget: previous
|
|
131
190
|
});
|
|
132
|
-
$(previous).trigger(hiddenEvent);
|
|
133
|
-
$(_this._element).trigger(shownEvent);
|
|
134
191
|
};
|
|
135
192
|
|
|
136
193
|
if (target) {
|
|
@@ -141,7 +198,7 @@
|
|
|
141
198
|
};
|
|
142
199
|
|
|
143
200
|
_proto.dispose = function dispose() {
|
|
144
|
-
|
|
201
|
+
Data.removeData(this._element, DATA_KEY);
|
|
145
202
|
this._element = null;
|
|
146
203
|
} // Private
|
|
147
204
|
;
|
|
@@ -149,17 +206,19 @@
|
|
|
149
206
|
_proto._activate = function _activate(element, container, callback) {
|
|
150
207
|
var _this2 = this;
|
|
151
208
|
|
|
152
|
-
var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?
|
|
209
|
+
var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? SelectorEngine.find(SELECTOR_ACTIVE_UL, container) : SelectorEngine.children(container, SELECTOR_ACTIVE);
|
|
153
210
|
var active = activeElements[0];
|
|
154
|
-
var isTransitioning = callback && active &&
|
|
211
|
+
var isTransitioning = callback && active && active.classList.contains(CLASS_NAME_FADE);
|
|
155
212
|
|
|
156
213
|
var complete = function complete() {
|
|
157
214
|
return _this2._transitionComplete(element, active, callback);
|
|
158
215
|
};
|
|
159
216
|
|
|
160
217
|
if (active && isTransitioning) {
|
|
161
|
-
var transitionDuration =
|
|
162
|
-
|
|
218
|
+
var transitionDuration = getTransitionDurationFromElement(active);
|
|
219
|
+
active.classList.remove(CLASS_NAME_SHOW);
|
|
220
|
+
EventHandler.one(active, TRANSITION_END, complete);
|
|
221
|
+
emulateTransitionEnd(active, transitionDuration);
|
|
163
222
|
} else {
|
|
164
223
|
complete();
|
|
165
224
|
}
|
|
@@ -167,11 +226,11 @@
|
|
|
167
226
|
|
|
168
227
|
_proto._transitionComplete = function _transitionComplete(element, active, callback) {
|
|
169
228
|
if (active) {
|
|
170
|
-
|
|
171
|
-
var dropdownChild =
|
|
229
|
+
active.classList.remove(CLASS_NAME_ACTIVE);
|
|
230
|
+
var dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode);
|
|
172
231
|
|
|
173
232
|
if (dropdownChild) {
|
|
174
|
-
|
|
233
|
+
dropdownChild.classList.remove(CLASS_NAME_ACTIVE);
|
|
175
234
|
}
|
|
176
235
|
|
|
177
236
|
if (active.getAttribute('role') === 'tab') {
|
|
@@ -179,24 +238,25 @@
|
|
|
179
238
|
}
|
|
180
239
|
}
|
|
181
240
|
|
|
182
|
-
|
|
241
|
+
element.classList.add(CLASS_NAME_ACTIVE);
|
|
183
242
|
|
|
184
243
|
if (element.getAttribute('role') === 'tab') {
|
|
185
244
|
element.setAttribute('aria-selected', true);
|
|
186
245
|
}
|
|
187
246
|
|
|
188
|
-
|
|
247
|
+
reflow(element);
|
|
189
248
|
|
|
190
|
-
if (element.classList.contains(
|
|
191
|
-
element.classList.add(
|
|
249
|
+
if (element.classList.contains(CLASS_NAME_FADE)) {
|
|
250
|
+
element.classList.add(CLASS_NAME_SHOW);
|
|
192
251
|
}
|
|
193
252
|
|
|
194
|
-
if (element.parentNode &&
|
|
195
|
-
var dropdownElement =
|
|
253
|
+
if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {
|
|
254
|
+
var dropdownElement = element.closest(SELECTOR_DROPDOWN);
|
|
196
255
|
|
|
197
256
|
if (dropdownElement) {
|
|
198
|
-
|
|
199
|
-
|
|
257
|
+
SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE).forEach(function (dropdown) {
|
|
258
|
+
return dropdown.classList.add(CLASS_NAME_ACTIVE);
|
|
259
|
+
});
|
|
200
260
|
}
|
|
201
261
|
|
|
202
262
|
element.setAttribute('aria-expanded', true);
|
|
@@ -208,15 +268,9 @@
|
|
|
208
268
|
} // Static
|
|
209
269
|
;
|
|
210
270
|
|
|
211
|
-
Tab.
|
|
271
|
+
Tab.jQueryInterface = function jQueryInterface(config) {
|
|
212
272
|
return this.each(function () {
|
|
213
|
-
var
|
|
214
|
-
var data = $this.data(DATA_KEY);
|
|
215
|
-
|
|
216
|
-
if (!data) {
|
|
217
|
-
data = new Tab(this);
|
|
218
|
-
$this.data(DATA_KEY, data);
|
|
219
|
-
}
|
|
273
|
+
var data = Data.getData(this, DATA_KEY) || new Tab(this);
|
|
220
274
|
|
|
221
275
|
if (typeof config === 'string') {
|
|
222
276
|
if (typeof data[config] === 'undefined') {
|
|
@@ -228,6 +282,10 @@
|
|
|
228
282
|
});
|
|
229
283
|
};
|
|
230
284
|
|
|
285
|
+
Tab.getInstance = function getInstance(element) {
|
|
286
|
+
return Data.getData(element, DATA_KEY);
|
|
287
|
+
};
|
|
288
|
+
|
|
231
289
|
_createClass(Tab, null, [{
|
|
232
290
|
key: "VERSION",
|
|
233
291
|
get: function get() {
|
|
@@ -244,25 +302,32 @@
|
|
|
244
302
|
*/
|
|
245
303
|
|
|
246
304
|
|
|
247
|
-
|
|
305
|
+
EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
|
|
248
306
|
event.preventDefault();
|
|
249
|
-
|
|
250
|
-
|
|
307
|
+
var data = Data.getData(this, DATA_KEY) || new Tab(this);
|
|
308
|
+
data.show();
|
|
251
309
|
});
|
|
310
|
+
var $ = getjQuery();
|
|
252
311
|
/**
|
|
253
312
|
* ------------------------------------------------------------------------
|
|
254
313
|
* jQuery
|
|
255
314
|
* ------------------------------------------------------------------------
|
|
315
|
+
* add .tab to jQuery only if jQuery is present
|
|
256
316
|
*/
|
|
257
317
|
|
|
258
|
-
|
|
259
|
-
$.fn[NAME].Constructor = Tab;
|
|
318
|
+
/* istanbul ignore if */
|
|
260
319
|
|
|
261
|
-
|
|
262
|
-
$.fn[NAME]
|
|
263
|
-
|
|
264
|
-
|
|
320
|
+
if ($) {
|
|
321
|
+
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
|
322
|
+
$.fn[NAME] = Tab.jQueryInterface;
|
|
323
|
+
$.fn[NAME].Constructor = Tab;
|
|
324
|
+
|
|
325
|
+
$.fn[NAME].noConflict = function () {
|
|
326
|
+
$.fn[NAME] = JQUERY_NO_CONFLICT;
|
|
327
|
+
return Tab.jQueryInterface;
|
|
328
|
+
};
|
|
329
|
+
}
|
|
265
330
|
|
|
266
331
|
return Tab;
|
|
267
332
|
|
|
268
|
-
}));
|
|
333
|
+
})));
|
|
@@ -1,67 +1,120 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Bootstrap toast.js
|
|
3
|
-
* Copyright 2011-
|
|
4
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
|
2
|
+
* Bootstrap toast.js v5.0.0-alpha1 (https://getbootstrap.com/)
|
|
3
|
+
* Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
|
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('
|
|
8
|
-
typeof define === 'function' && define.amd ? define(['
|
|
9
|
-
(global = global || self, global.Toast = factory(global.
|
|
10
|
-
}(this, function (
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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 = global || self, global.Toast = factory(global.Data, global.EventHandler, global.Manipulator));
|
|
10
|
+
}(this, (function (Data, EventHandler, Manipulator) { 'use strict';
|
|
11
|
+
|
|
12
|
+
Data = Data && Object.prototype.hasOwnProperty.call(Data, 'default') ? Data['default'] : Data;
|
|
13
|
+
EventHandler = EventHandler && Object.prototype.hasOwnProperty.call(EventHandler, 'default') ? EventHandler['default'] : EventHandler;
|
|
14
|
+
Manipulator = Manipulator && Object.prototype.hasOwnProperty.call(Manipulator, 'default') ? Manipulator['default'] : Manipulator;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* --------------------------------------------------------------------------
|
|
18
|
+
* Bootstrap (v5.0.0-alpha1): util/index.js
|
|
19
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
20
|
+
* --------------------------------------------------------------------------
|
|
21
|
+
*/
|
|
22
|
+
var MILLISECONDS_MULTIPLIER = 1000;
|
|
23
|
+
var TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
|
24
|
+
|
|
25
|
+
var toType = function toType(obj) {
|
|
26
|
+
if (obj === null || obj === undefined) {
|
|
27
|
+
return "" + obj;
|
|
22
28
|
}
|
|
23
|
-
}
|
|
24
29
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
28
|
-
return Constructor;
|
|
29
|
-
}
|
|
30
|
+
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
|
|
31
|
+
};
|
|
30
32
|
|
|
31
|
-
function
|
|
32
|
-
if (
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
33
|
+
var getTransitionDurationFromElement = function getTransitionDurationFromElement(element) {
|
|
34
|
+
if (!element) {
|
|
35
|
+
return 0;
|
|
36
|
+
} // Get transition-duration of the element
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
var _window$getComputedSt = window.getComputedStyle(element),
|
|
40
|
+
transitionDuration = _window$getComputedSt.transitionDuration,
|
|
41
|
+
transitionDelay = _window$getComputedSt.transitionDelay;
|
|
42
|
+
|
|
43
|
+
var floatTransitionDuration = parseFloat(transitionDuration);
|
|
44
|
+
var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
|
|
45
|
+
|
|
46
|
+
if (!floatTransitionDuration && !floatTransitionDelay) {
|
|
47
|
+
return 0;
|
|
48
|
+
} // If multiple durations are defined, take the first
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
transitionDuration = transitionDuration.split(',')[0];
|
|
52
|
+
transitionDelay = transitionDelay.split(',')[0];
|
|
53
|
+
return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
var triggerTransitionEnd = function triggerTransitionEnd(element) {
|
|
57
|
+
element.dispatchEvent(new Event(TRANSITION_END));
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
var isElement = function isElement(obj) {
|
|
61
|
+
return (obj[0] || obj).nodeType;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
var emulateTransitionEnd = function emulateTransitionEnd(element, duration) {
|
|
65
|
+
var called = false;
|
|
66
|
+
var durationPadding = 5;
|
|
67
|
+
var emulatedDuration = duration + durationPadding;
|
|
68
|
+
|
|
69
|
+
function listener() {
|
|
70
|
+
called = true;
|
|
71
|
+
element.removeEventListener(TRANSITION_END, listener);
|
|
41
72
|
}
|
|
42
73
|
|
|
43
|
-
|
|
44
|
-
|
|
74
|
+
element.addEventListener(TRANSITION_END, listener);
|
|
75
|
+
setTimeout(function () {
|
|
76
|
+
if (!called) {
|
|
77
|
+
triggerTransitionEnd(element);
|
|
78
|
+
}
|
|
79
|
+
}, emulatedDuration);
|
|
80
|
+
};
|
|
45
81
|
|
|
46
|
-
function
|
|
47
|
-
|
|
48
|
-
var
|
|
49
|
-
var
|
|
82
|
+
var typeCheckConfig = function typeCheckConfig(componentName, config, configTypes) {
|
|
83
|
+
Object.keys(configTypes).forEach(function (property) {
|
|
84
|
+
var expectedTypes = configTypes[property];
|
|
85
|
+
var value = config[property];
|
|
86
|
+
var valueType = value && isElement(value) ? 'element' : toType(value);
|
|
50
87
|
|
|
51
|
-
if (
|
|
52
|
-
|
|
53
|
-
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
54
|
-
}));
|
|
88
|
+
if (!new RegExp(expectedTypes).test(valueType)) {
|
|
89
|
+
throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
|
|
55
90
|
}
|
|
91
|
+
});
|
|
92
|
+
};
|
|
56
93
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
94
|
+
var reflow = function reflow(element) {
|
|
95
|
+
return element.offsetHeight;
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
var getjQuery = function getjQuery() {
|
|
99
|
+
var _window = window,
|
|
100
|
+
jQuery = _window.jQuery;
|
|
101
|
+
|
|
102
|
+
if (jQuery && !document.body.hasAttribute('data-no-jquery')) {
|
|
103
|
+
return jQuery;
|
|
60
104
|
}
|
|
61
105
|
|
|
62
|
-
return
|
|
63
|
-
}
|
|
106
|
+
return null;
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
110
|
+
|
|
111
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
112
|
+
|
|
113
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
64
114
|
|
|
115
|
+
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); } }
|
|
116
|
+
|
|
117
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
65
118
|
/**
|
|
66
119
|
* ------------------------------------------------------------------------
|
|
67
120
|
* Constants
|
|
@@ -69,23 +122,18 @@
|
|
|
69
122
|
*/
|
|
70
123
|
|
|
71
124
|
var NAME = 'toast';
|
|
72
|
-
var VERSION = '
|
|
125
|
+
var VERSION = '5.0.0-alpha1';
|
|
73
126
|
var DATA_KEY = 'bs.toast';
|
|
74
127
|
var EVENT_KEY = "." + DATA_KEY;
|
|
75
|
-
var
|
|
76
|
-
var
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
var
|
|
84
|
-
FADE: 'fade',
|
|
85
|
-
HIDE: 'hide',
|
|
86
|
-
SHOW: 'show',
|
|
87
|
-
SHOWING: 'showing'
|
|
88
|
-
};
|
|
128
|
+
var EVENT_CLICK_DISMISS = "click.dismiss" + EVENT_KEY;
|
|
129
|
+
var EVENT_HIDE = "hide" + EVENT_KEY;
|
|
130
|
+
var EVENT_HIDDEN = "hidden" + EVENT_KEY;
|
|
131
|
+
var EVENT_SHOW = "show" + EVENT_KEY;
|
|
132
|
+
var EVENT_SHOWN = "shown" + EVENT_KEY;
|
|
133
|
+
var CLASS_NAME_FADE = 'fade';
|
|
134
|
+
var CLASS_NAME_HIDE = 'hide';
|
|
135
|
+
var CLASS_NAME_SHOW = 'show';
|
|
136
|
+
var CLASS_NAME_SHOWING = 'showing';
|
|
89
137
|
var DefaultType = {
|
|
90
138
|
animation: 'boolean',
|
|
91
139
|
autohide: 'boolean',
|
|
@@ -96,25 +144,22 @@
|
|
|
96
144
|
autohide: true,
|
|
97
145
|
delay: 500
|
|
98
146
|
};
|
|
99
|
-
var
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
*/
|
|
106
|
-
|
|
107
|
-
};
|
|
147
|
+
var SELECTOR_DATA_DISMISS = '[data-dismiss="toast"]';
|
|
148
|
+
/**
|
|
149
|
+
* ------------------------------------------------------------------------
|
|
150
|
+
* Class Definition
|
|
151
|
+
* ------------------------------------------------------------------------
|
|
152
|
+
*/
|
|
108
153
|
|
|
109
|
-
var Toast =
|
|
110
|
-
/*#__PURE__*/
|
|
111
|
-
function () {
|
|
154
|
+
var Toast = /*#__PURE__*/function () {
|
|
112
155
|
function Toast(element, config) {
|
|
113
156
|
this._element = element;
|
|
114
157
|
this._config = this._getConfig(config);
|
|
115
158
|
this._timeout = null;
|
|
116
159
|
|
|
117
160
|
this._setListeners();
|
|
161
|
+
|
|
162
|
+
Data.setData(element, DATA_KEY, this);
|
|
118
163
|
} // Getters
|
|
119
164
|
|
|
120
165
|
|
|
@@ -124,51 +169,72 @@
|
|
|
124
169
|
_proto.show = function show() {
|
|
125
170
|
var _this = this;
|
|
126
171
|
|
|
127
|
-
|
|
172
|
+
var showEvent = EventHandler.trigger(this._element, EVENT_SHOW);
|
|
173
|
+
|
|
174
|
+
if (showEvent.defaultPrevented) {
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
128
177
|
|
|
129
178
|
if (this._config.animation) {
|
|
130
|
-
this._element.classList.add(
|
|
179
|
+
this._element.classList.add(CLASS_NAME_FADE);
|
|
131
180
|
}
|
|
132
181
|
|
|
133
182
|
var complete = function complete() {
|
|
134
|
-
_this._element.classList.remove(
|
|
183
|
+
_this._element.classList.remove(CLASS_NAME_SHOWING);
|
|
135
184
|
|
|
136
|
-
_this._element.classList.add(
|
|
185
|
+
_this._element.classList.add(CLASS_NAME_SHOW);
|
|
137
186
|
|
|
138
|
-
|
|
187
|
+
EventHandler.trigger(_this._element, EVENT_SHOWN);
|
|
139
188
|
|
|
140
189
|
if (_this._config.autohide) {
|
|
141
|
-
_this.
|
|
190
|
+
_this._timeout = setTimeout(function () {
|
|
191
|
+
_this.hide();
|
|
192
|
+
}, _this._config.delay);
|
|
142
193
|
}
|
|
143
194
|
};
|
|
144
195
|
|
|
145
|
-
this._element.classList.remove(
|
|
196
|
+
this._element.classList.remove(CLASS_NAME_HIDE);
|
|
197
|
+
|
|
198
|
+
reflow(this._element);
|
|
146
199
|
|
|
147
|
-
this._element.classList.add(
|
|
200
|
+
this._element.classList.add(CLASS_NAME_SHOWING);
|
|
148
201
|
|
|
149
202
|
if (this._config.animation) {
|
|
150
|
-
var transitionDuration =
|
|
151
|
-
|
|
203
|
+
var transitionDuration = getTransitionDurationFromElement(this._element);
|
|
204
|
+
EventHandler.one(this._element, TRANSITION_END, complete);
|
|
205
|
+
emulateTransitionEnd(this._element, transitionDuration);
|
|
152
206
|
} else {
|
|
153
207
|
complete();
|
|
154
208
|
}
|
|
155
209
|
};
|
|
156
210
|
|
|
157
|
-
_proto.hide = function hide(
|
|
211
|
+
_proto.hide = function hide() {
|
|
158
212
|
var _this2 = this;
|
|
159
213
|
|
|
160
|
-
if (!this._element.classList.contains(
|
|
214
|
+
if (!this._element.classList.contains(CLASS_NAME_SHOW)) {
|
|
161
215
|
return;
|
|
162
216
|
}
|
|
163
217
|
|
|
164
|
-
|
|
218
|
+
var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE);
|
|
165
219
|
|
|
166
|
-
if (
|
|
167
|
-
|
|
220
|
+
if (hideEvent.defaultPrevented) {
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
var complete = function complete() {
|
|
225
|
+
_this2._element.classList.add(CLASS_NAME_HIDE);
|
|
226
|
+
|
|
227
|
+
EventHandler.trigger(_this2._element, EVENT_HIDDEN);
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
this._element.classList.remove(CLASS_NAME_SHOW);
|
|
231
|
+
|
|
232
|
+
if (this._config.animation) {
|
|
233
|
+
var transitionDuration = getTransitionDurationFromElement(this._element);
|
|
234
|
+
EventHandler.one(this._element, TRANSITION_END, complete);
|
|
235
|
+
emulateTransitionEnd(this._element, transitionDuration);
|
|
168
236
|
} else {
|
|
169
|
-
|
|
170
|
-
_this2._close();
|
|
171
|
-
}, this._config.delay);
|
|
237
|
+
complete();
|
|
172
238
|
}
|
|
173
239
|
};
|
|
174
240
|
|
|
@@ -176,61 +242,40 @@
|
|
|
176
242
|
clearTimeout(this._timeout);
|
|
177
243
|
this._timeout = null;
|
|
178
244
|
|
|
179
|
-
if (this._element.classList.contains(
|
|
180
|
-
this._element.classList.remove(
|
|
245
|
+
if (this._element.classList.contains(CLASS_NAME_SHOW)) {
|
|
246
|
+
this._element.classList.remove(CLASS_NAME_SHOW);
|
|
181
247
|
}
|
|
182
248
|
|
|
183
|
-
|
|
184
|
-
|
|
249
|
+
EventHandler.off(this._element, EVENT_CLICK_DISMISS);
|
|
250
|
+
Data.removeData(this._element, DATA_KEY);
|
|
185
251
|
this._element = null;
|
|
186
252
|
this._config = null;
|
|
187
253
|
} // Private
|
|
188
254
|
;
|
|
189
255
|
|
|
190
256
|
_proto._getConfig = function _getConfig(config) {
|
|
191
|
-
config = _objectSpread({}, Default,
|
|
192
|
-
|
|
257
|
+
config = _objectSpread(_objectSpread(_objectSpread({}, Default), Manipulator.getDataAttributes(this._element)), typeof config === 'object' && config ? config : {});
|
|
258
|
+
typeCheckConfig(NAME, config, this.constructor.DefaultType);
|
|
193
259
|
return config;
|
|
194
260
|
};
|
|
195
261
|
|
|
196
262
|
_proto._setListeners = function _setListeners() {
|
|
197
263
|
var _this3 = this;
|
|
198
264
|
|
|
199
|
-
|
|
200
|
-
return _this3.hide(
|
|
265
|
+
EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function () {
|
|
266
|
+
return _this3.hide();
|
|
201
267
|
});
|
|
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
268
|
} // Static
|
|
222
269
|
;
|
|
223
270
|
|
|
224
|
-
Toast.
|
|
271
|
+
Toast.jQueryInterface = function jQueryInterface(config) {
|
|
225
272
|
return this.each(function () {
|
|
226
|
-
var
|
|
227
|
-
var data = $element.data(DATA_KEY);
|
|
273
|
+
var data = Data.getData(this, DATA_KEY);
|
|
228
274
|
|
|
229
275
|
var _config = typeof config === 'object' && config;
|
|
230
276
|
|
|
231
277
|
if (!data) {
|
|
232
278
|
data = new Toast(this, _config);
|
|
233
|
-
$element.data(DATA_KEY, data);
|
|
234
279
|
}
|
|
235
280
|
|
|
236
281
|
if (typeof config === 'string') {
|
|
@@ -243,6 +288,10 @@
|
|
|
243
288
|
});
|
|
244
289
|
};
|
|
245
290
|
|
|
291
|
+
Toast.getInstance = function getInstance(element) {
|
|
292
|
+
return Data.getData(element, DATA_KEY);
|
|
293
|
+
};
|
|
294
|
+
|
|
246
295
|
_createClass(Toast, null, [{
|
|
247
296
|
key: "VERSION",
|
|
248
297
|
get: function get() {
|
|
@@ -262,21 +311,28 @@
|
|
|
262
311
|
|
|
263
312
|
return Toast;
|
|
264
313
|
}();
|
|
314
|
+
|
|
315
|
+
var $ = getjQuery();
|
|
265
316
|
/**
|
|
266
317
|
* ------------------------------------------------------------------------
|
|
267
318
|
* jQuery
|
|
268
319
|
* ------------------------------------------------------------------------
|
|
320
|
+
* add .toast to jQuery only if jQuery is present
|
|
269
321
|
*/
|
|
270
322
|
|
|
323
|
+
/* istanbul ignore if */
|
|
271
324
|
|
|
272
|
-
|
|
273
|
-
|
|
325
|
+
if ($) {
|
|
326
|
+
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
|
327
|
+
$.fn[NAME] = Toast.jQueryInterface;
|
|
328
|
+
$.fn[NAME].Constructor = Toast;
|
|
274
329
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
330
|
+
$.fn[NAME].noConflict = function () {
|
|
331
|
+
$.fn[NAME] = JQUERY_NO_CONFLICT;
|
|
332
|
+
return Toast.jQueryInterface;
|
|
333
|
+
};
|
|
334
|
+
}
|
|
279
335
|
|
|
280
336
|
return Toast;
|
|
281
337
|
|
|
282
|
-
}));
|
|
338
|
+
})));
|