bootstrap 4.6.1 → 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/README.md +1 -1
- data/assets/javascripts/bootstrap/alert.js +148 -70
- data/assets/javascripts/bootstrap/button.js +71 -151
- data/assets/javascripts/bootstrap/carousel.js +314 -206
- data/assets/javascripts/bootstrap/collapse.js +306 -150
- 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 +256 -202
- data/assets/javascripts/bootstrap/modal.js +353 -247
- data/assets/javascripts/bootstrap/popover.js +83 -91
- data/assets/javascripts/bootstrap/scrollspy.js +175 -103
- data/assets/javascripts/bootstrap/tab.js +170 -96
- data/assets/javascripts/bootstrap/toast.js +180 -107
- data/assets/javascripts/bootstrap/tooltip.js +374 -223
- data/assets/javascripts/bootstrap-sprockets.js +11 -7
- data/assets/javascripts/bootstrap.js +2257 -1548
- data/assets/javascripts/bootstrap.min.js +3 -3
- data/assets/stylesheets/_bootstrap-grid.scss +53 -18
- data/assets/stylesheets/_bootstrap-reboot.scss +6 -3
- data/assets/stylesheets/_bootstrap.scss +16 -10
- data/assets/stylesheets/bootstrap/_alert.scss +3 -4
- data/assets/stylesheets/bootstrap/_badge.scss +2 -27
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +5 -17
- data/assets/stylesheets/bootstrap/_button-group.scss +16 -38
- data/assets/stylesheets/bootstrap/_buttons.scss +27 -45
- data/assets/stylesheets/bootstrap/_card.scss +22 -68
- data/assets/stylesheets/bootstrap/_carousel.scss +15 -20
- data/assets/stylesheets/bootstrap/_close.scss +9 -13
- data/assets/stylesheets/bootstrap/_containers.scss +41 -0
- data/assets/stylesheets/bootstrap/_dropdown.scss +12 -9
- data/assets/stylesheets/bootstrap/_forms.scss +9 -347
- data/assets/stylesheets/bootstrap/_functions.scss +82 -69
- data/assets/stylesheets/bootstrap/_grid.scss +3 -54
- data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
- data/assets/stylesheets/bootstrap/_images.scss +1 -1
- data/assets/stylesheets/bootstrap/_list-group.scss +7 -4
- data/assets/stylesheets/bootstrap/_mixins.scss +6 -12
- data/assets/stylesheets/bootstrap/_modal.scss +36 -41
- data/assets/stylesheets/bootstrap/_nav.scss +7 -4
- data/assets/stylesheets/bootstrap/_navbar.scss +42 -82
- data/assets/stylesheets/bootstrap/_pagination.scss +7 -20
- data/assets/stylesheets/bootstrap/_popover.scss +14 -14
- data/assets/stylesheets/bootstrap/_progress.scss +3 -5
- data/assets/stylesheets/bootstrap/_reboot.scss +304 -172
- data/assets/stylesheets/bootstrap/_root.scss +5 -8
- data/assets/stylesheets/bootstrap/_spinners.scss +6 -15
- data/assets/stylesheets/bootstrap/_tables.scss +80 -114
- data/assets/stylesheets/bootstrap/_toasts.scss +2 -4
- data/assets/stylesheets/bootstrap/_tooltip.scss +9 -9
- data/assets/stylesheets/bootstrap/_transitions.scss +0 -1
- data/assets/stylesheets/bootstrap/_type.scss +38 -59
- data/assets/stylesheets/bootstrap/_utilities.scss +503 -18
- data/assets/stylesheets/bootstrap/_variables.scss +548 -436
- 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 +1 -1
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +11 -8
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +62 -47
- 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 +23 -85
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +9 -11
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +86 -34
- data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -21
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +2 -1
- data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +15 -8
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +18 -24
- data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +2 -2
- 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 +214 -130
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +3 -3
- metadata +32 -40
- data/assets/javascripts/bootstrap/util.js +0 -189
- data/assets/stylesheets/bootstrap/_code.scss +0 -48
- data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -526
- data/assets/stylesheets/bootstrap/_input-group.scss +0 -211
- data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
- data/assets/stylesheets/bootstrap/_media.scss +0 -8
- data/assets/stylesheets/bootstrap/_print.scss +0 -132
- data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -23
- 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 -80
- data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
- data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -11
- 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 -17
- 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/_interactions.scss +0 -5
- 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,69 +1,144 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Bootstrap tab.js
|
|
3
|
-
* Copyright 2011-
|
|
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
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 =
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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;
|
|
24
31
|
}
|
|
25
|
-
}
|
|
26
32
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
|
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); } }
|
|
32
102
|
|
|
103
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
33
104
|
/**
|
|
105
|
+
* ------------------------------------------------------------------------
|
|
34
106
|
* Constants
|
|
107
|
+
* ------------------------------------------------------------------------
|
|
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 JQUERY_NO_CONFLICT = $__default["default"].fn[NAME];
|
|
43
|
-
var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
|
|
44
|
-
var CLASS_NAME_ACTIVE = 'active';
|
|
45
|
-
var CLASS_NAME_DISABLED = 'disabled';
|
|
46
|
-
var CLASS_NAME_FADE = 'fade';
|
|
47
|
-
var CLASS_NAME_SHOW = 'show';
|
|
48
115
|
var EVENT_HIDE = "hide" + EVENT_KEY;
|
|
49
116
|
var EVENT_HIDDEN = "hidden" + EVENT_KEY;
|
|
50
117
|
var EVENT_SHOW = "show" + EVENT_KEY;
|
|
51
118
|
var EVENT_SHOWN = "shown" + EVENT_KEY;
|
|
52
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';
|
|
53
125
|
var SELECTOR_DROPDOWN = '.dropdown';
|
|
54
126
|
var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
|
|
55
127
|
var SELECTOR_ACTIVE = '.active';
|
|
56
|
-
var SELECTOR_ACTIVE_UL = '> li > .active';
|
|
128
|
+
var SELECTOR_ACTIVE_UL = ':scope > li > .active';
|
|
57
129
|
var SELECTOR_DATA_TOGGLE = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]';
|
|
58
130
|
var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
|
|
59
|
-
var SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active';
|
|
131
|
+
var SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active';
|
|
60
132
|
/**
|
|
61
|
-
*
|
|
133
|
+
* ------------------------------------------------------------------------
|
|
134
|
+
* Class Definition
|
|
135
|
+
* ------------------------------------------------------------------------
|
|
62
136
|
*/
|
|
63
137
|
|
|
64
138
|
var Tab = /*#__PURE__*/function () {
|
|
65
139
|
function Tab(element) {
|
|
66
140
|
this._element = element;
|
|
141
|
+
Data.setData(this._element, DATA_KEY, this);
|
|
67
142
|
} // Getters
|
|
68
143
|
|
|
69
144
|
|
|
@@ -73,53 +148,46 @@
|
|
|
73
148
|
_proto.show = function show() {
|
|
74
149
|
var _this = this;
|
|
75
150
|
|
|
76
|
-
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)) {
|
|
77
152
|
return;
|
|
78
153
|
}
|
|
79
154
|
|
|
80
|
-
var target;
|
|
81
155
|
var previous;
|
|
82
|
-
var
|
|
83
|
-
|
|
156
|
+
var target = getElementFromSelector(this._element);
|
|
157
|
+
|
|
158
|
+
var listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP);
|
|
84
159
|
|
|
85
160
|
if (listElement) {
|
|
86
161
|
var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE;
|
|
87
|
-
previous =
|
|
162
|
+
previous = SelectorEngine.find(itemSelector, listElement);
|
|
88
163
|
previous = previous[previous.length - 1];
|
|
89
164
|
}
|
|
90
165
|
|
|
91
|
-
var hideEvent =
|
|
92
|
-
relatedTarget: this._element
|
|
93
|
-
});
|
|
94
|
-
var showEvent = $__default["default"].Event(EVENT_SHOW, {
|
|
95
|
-
relatedTarget: previous
|
|
96
|
-
});
|
|
166
|
+
var hideEvent = null;
|
|
97
167
|
|
|
98
168
|
if (previous) {
|
|
99
|
-
|
|
169
|
+
hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {
|
|
170
|
+
relatedTarget: this._element
|
|
171
|
+
});
|
|
100
172
|
}
|
|
101
173
|
|
|
102
|
-
|
|
174
|
+
var showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {
|
|
175
|
+
relatedTarget: previous
|
|
176
|
+
});
|
|
103
177
|
|
|
104
|
-
if (showEvent.
|
|
178
|
+
if (showEvent.defaultPrevented || hideEvent !== null && hideEvent.defaultPrevented) {
|
|
105
179
|
return;
|
|
106
180
|
}
|
|
107
181
|
|
|
108
|
-
if (selector) {
|
|
109
|
-
target = document.querySelector(selector);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
182
|
this._activate(this._element, listElement);
|
|
113
183
|
|
|
114
184
|
var complete = function complete() {
|
|
115
|
-
|
|
185
|
+
EventHandler.trigger(previous, EVENT_HIDDEN, {
|
|
116
186
|
relatedTarget: _this._element
|
|
117
187
|
});
|
|
118
|
-
|
|
188
|
+
EventHandler.trigger(_this._element, EVENT_SHOWN, {
|
|
119
189
|
relatedTarget: previous
|
|
120
190
|
});
|
|
121
|
-
$__default["default"](previous).trigger(hiddenEvent);
|
|
122
|
-
$__default["default"](_this._element).trigger(shownEvent);
|
|
123
191
|
};
|
|
124
192
|
|
|
125
193
|
if (target) {
|
|
@@ -130,7 +198,7 @@
|
|
|
130
198
|
};
|
|
131
199
|
|
|
132
200
|
_proto.dispose = function dispose() {
|
|
133
|
-
|
|
201
|
+
Data.removeData(this._element, DATA_KEY);
|
|
134
202
|
this._element = null;
|
|
135
203
|
} // Private
|
|
136
204
|
;
|
|
@@ -138,17 +206,19 @@
|
|
|
138
206
|
_proto._activate = function _activate(element, container, callback) {
|
|
139
207
|
var _this2 = this;
|
|
140
208
|
|
|
141
|
-
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);
|
|
142
210
|
var active = activeElements[0];
|
|
143
|
-
var isTransitioning = callback && active &&
|
|
211
|
+
var isTransitioning = callback && active && active.classList.contains(CLASS_NAME_FADE);
|
|
144
212
|
|
|
145
213
|
var complete = function complete() {
|
|
146
214
|
return _this2._transitionComplete(element, active, callback);
|
|
147
215
|
};
|
|
148
216
|
|
|
149
217
|
if (active && isTransitioning) {
|
|
150
|
-
var transitionDuration =
|
|
151
|
-
|
|
218
|
+
var transitionDuration = getTransitionDurationFromElement(active);
|
|
219
|
+
active.classList.remove(CLASS_NAME_SHOW);
|
|
220
|
+
EventHandler.one(active, TRANSITION_END, complete);
|
|
221
|
+
emulateTransitionEnd(active, transitionDuration);
|
|
152
222
|
} else {
|
|
153
223
|
complete();
|
|
154
224
|
}
|
|
@@ -156,11 +226,11 @@
|
|
|
156
226
|
|
|
157
227
|
_proto._transitionComplete = function _transitionComplete(element, active, callback) {
|
|
158
228
|
if (active) {
|
|
159
|
-
|
|
160
|
-
var dropdownChild =
|
|
229
|
+
active.classList.remove(CLASS_NAME_ACTIVE);
|
|
230
|
+
var dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode);
|
|
161
231
|
|
|
162
232
|
if (dropdownChild) {
|
|
163
|
-
|
|
233
|
+
dropdownChild.classList.remove(CLASS_NAME_ACTIVE);
|
|
164
234
|
}
|
|
165
235
|
|
|
166
236
|
if (active.getAttribute('role') === 'tab') {
|
|
@@ -168,30 +238,25 @@
|
|
|
168
238
|
}
|
|
169
239
|
}
|
|
170
240
|
|
|
171
|
-
|
|
241
|
+
element.classList.add(CLASS_NAME_ACTIVE);
|
|
172
242
|
|
|
173
243
|
if (element.getAttribute('role') === 'tab') {
|
|
174
244
|
element.setAttribute('aria-selected', true);
|
|
175
245
|
}
|
|
176
246
|
|
|
177
|
-
|
|
247
|
+
reflow(element);
|
|
178
248
|
|
|
179
249
|
if (element.classList.contains(CLASS_NAME_FADE)) {
|
|
180
250
|
element.classList.add(CLASS_NAME_SHOW);
|
|
181
251
|
}
|
|
182
252
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
if (parent && parent.nodeName === 'LI') {
|
|
186
|
-
parent = parent.parentNode;
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
if (parent && $__default["default"](parent).hasClass(CLASS_NAME_DROPDOWN_MENU)) {
|
|
190
|
-
var dropdownElement = $__default["default"](element).closest(SELECTOR_DROPDOWN)[0];
|
|
253
|
+
if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {
|
|
254
|
+
var dropdownElement = element.closest(SELECTOR_DROPDOWN);
|
|
191
255
|
|
|
192
256
|
if (dropdownElement) {
|
|
193
|
-
|
|
194
|
-
|
|
257
|
+
SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE).forEach(function (dropdown) {
|
|
258
|
+
return dropdown.classList.add(CLASS_NAME_ACTIVE);
|
|
259
|
+
});
|
|
195
260
|
}
|
|
196
261
|
|
|
197
262
|
element.setAttribute('aria-expanded', true);
|
|
@@ -203,15 +268,9 @@
|
|
|
203
268
|
} // Static
|
|
204
269
|
;
|
|
205
270
|
|
|
206
|
-
Tab.
|
|
271
|
+
Tab.jQueryInterface = function jQueryInterface(config) {
|
|
207
272
|
return this.each(function () {
|
|
208
|
-
var
|
|
209
|
-
var data = $this.data(DATA_KEY);
|
|
210
|
-
|
|
211
|
-
if (!data) {
|
|
212
|
-
data = new Tab(this);
|
|
213
|
-
$this.data(DATA_KEY, data);
|
|
214
|
-
}
|
|
273
|
+
var data = Data.getData(this, DATA_KEY) || new Tab(this);
|
|
215
274
|
|
|
216
275
|
if (typeof config === 'string') {
|
|
217
276
|
if (typeof data[config] === 'undefined') {
|
|
@@ -223,6 +282,10 @@
|
|
|
223
282
|
});
|
|
224
283
|
};
|
|
225
284
|
|
|
285
|
+
Tab.getInstance = function getInstance(element) {
|
|
286
|
+
return Data.getData(element, DATA_KEY);
|
|
287
|
+
};
|
|
288
|
+
|
|
226
289
|
_createClass(Tab, null, [{
|
|
227
290
|
key: "VERSION",
|
|
228
291
|
get: function get() {
|
|
@@ -233,27 +296,38 @@
|
|
|
233
296
|
return Tab;
|
|
234
297
|
}();
|
|
235
298
|
/**
|
|
236
|
-
*
|
|
299
|
+
* ------------------------------------------------------------------------
|
|
300
|
+
* Data Api implementation
|
|
301
|
+
* ------------------------------------------------------------------------
|
|
237
302
|
*/
|
|
238
303
|
|
|
239
304
|
|
|
240
|
-
|
|
305
|
+
EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
|
|
241
306
|
event.preventDefault();
|
|
242
|
-
|
|
243
|
-
|
|
307
|
+
var data = Data.getData(this, DATA_KEY) || new Tab(this);
|
|
308
|
+
data.show();
|
|
244
309
|
});
|
|
310
|
+
var $ = getjQuery();
|
|
245
311
|
/**
|
|
312
|
+
* ------------------------------------------------------------------------
|
|
246
313
|
* jQuery
|
|
314
|
+
* ------------------------------------------------------------------------
|
|
315
|
+
* add .tab to jQuery only if jQuery is present
|
|
247
316
|
*/
|
|
248
317
|
|
|
249
|
-
|
|
250
|
-
$__default["default"].fn[NAME].Constructor = Tab;
|
|
318
|
+
/* istanbul ignore if */
|
|
251
319
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
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
|
+
}
|
|
256
330
|
|
|
257
331
|
return Tab;
|
|
258
332
|
|
|
259
|
-
}));
|
|
333
|
+
})));
|