bootstrap 4.3.1 → 4.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of bootstrap might be problematic. Click here for more details.
- 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 +7 -7
- data/assets/javascripts/bootstrap.js +1073 -1076
- data/assets/javascripts/bootstrap.min.js +4 -4
- data/assets/javascripts/bootstrap/alert.js +42 -49
- data/assets/javascripts/bootstrap/button.js +111 -64
- data/assets/javascripts/bootstrap/carousel.js +162 -177
- data/assets/javascripts/bootstrap/collapse.js +97 -122
- data/assets/javascripts/bootstrap/dropdown.js +163 -189
- data/assets/javascripts/bootstrap/modal.js +213 -194
- data/assets/javascripts/bootstrap/popover.js +51 -72
- data/assets/javascripts/bootstrap/scrollspy.js +80 -109
- data/assets/javascripts/bootstrap/tab.js +72 -79
- data/assets/javascripts/bootstrap/toast.js +96 -107
- data/assets/javascripts/bootstrap/tooltip.js +186 -201
- data/assets/javascripts/bootstrap/util.js +41 -20
- data/assets/stylesheets/_bootstrap-grid.scss +5 -4
- data/assets/stylesheets/_bootstrap-reboot.scss +4 -4
- data/assets/stylesheets/_bootstrap.scss +4 -4
- data/assets/stylesheets/bootstrap/_alert.scss +1 -0
- data/assets/stylesheets/bootstrap/_badge.scss +1 -1
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +3 -2
- data/assets/stylesheets/bootstrap/_button-group.scss +1 -1
- data/assets/stylesheets/bootstrap/_buttons.scss +13 -8
- data/assets/stylesheets/bootstrap/_card.scss +42 -45
- data/assets/stylesheets/bootstrap/_carousel.scss +7 -7
- data/assets/stylesheets/bootstrap/_close.scss +2 -3
- data/assets/stylesheets/bootstrap/_code.scss +1 -1
- data/assets/stylesheets/bootstrap/_custom-forms.scss +38 -19
- data/assets/stylesheets/bootstrap/_dropdown.scss +7 -6
- data/assets/stylesheets/bootstrap/_forms.scss +26 -9
- data/assets/stylesheets/bootstrap/_functions.scss +63 -5
- data/assets/stylesheets/bootstrap/_grid.scss +32 -11
- data/assets/stylesheets/bootstrap/_images.scss +2 -2
- data/assets/stylesheets/bootstrap/_input-group.scss +21 -6
- data/assets/stylesheets/bootstrap/_list-group.scss +36 -31
- data/assets/stylesheets/bootstrap/_mixins.scss +3 -3
- data/assets/stylesheets/bootstrap/_modal.scss +26 -15
- data/assets/stylesheets/bootstrap/_nav.scss +7 -7
- data/assets/stylesheets/bootstrap/_navbar.scss +55 -17
- data/assets/stylesheets/bootstrap/_pagination.scss +5 -4
- data/assets/stylesheets/bootstrap/_popover.scss +8 -9
- data/assets/stylesheets/bootstrap/_print.scss +2 -2
- data/assets/stylesheets/bootstrap/_progress.scss +7 -3
- data/assets/stylesheets/bootstrap/_reboot.scss +39 -38
- data/assets/stylesheets/bootstrap/_spinners.scss +14 -4
- data/assets/stylesheets/bootstrap/_tables.scss +3 -3
- data/assets/stylesheets/bootstrap/_toasts.scss +4 -2
- data/assets/stylesheets/bootstrap/_type.scss +3 -3
- data/assets/stylesheets/bootstrap/_utilities.scss +2 -1
- data/assets/stylesheets/bootstrap/_variables.scss +58 -35
- data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +5 -3
- data/assets/stylesheets/bootstrap/mixins/_badge.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +27 -14
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +11 -8
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +8 -8
- data/assets/stylesheets/bootstrap/mixins/_float.scss +3 -3
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +42 -49
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +29 -15
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +25 -7
- data/assets/stylesheets/bootstrap/mixins/_hover.scss +4 -4
- data/assets/stylesheets/bootstrap/mixins/_image.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +2 -1
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +4 -3
- data/assets/stylesheets/bootstrap/mixins/_table-row.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +3 -2
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +18 -8
- data/assets/stylesheets/bootstrap/utilities/_background.scss +2 -2
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +1 -1
- data/assets/stylesheets/bootstrap/utilities/_interactions.scss +5 -0
- data/assets/stylesheets/bootstrap/utilities/_text.scss +4 -4
- data/bootstrap.gemspec +1 -1
- data/lib/bootstrap/version.rb +2 -2
- 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 +11 -5
@@ -1,16 +1,18 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap collapse.js v4.
|
3
|
-
* Copyright 2011-
|
4
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
2
|
+
* Bootstrap collapse.js v4.6.0 (https://getbootstrap.com/)
|
3
|
+
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
4
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
5
5
|
*/
|
6
6
|
(function (global, factory) {
|
7
7
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) :
|
8
|
-
typeof define === 'function' && define.amd ? define(['jquery', './util
|
9
|
-
(global = global || self, global.Collapse = factory(global.jQuery, global.Util));
|
10
|
-
}(this, function ($, Util) { 'use strict';
|
8
|
+
typeof define === 'function' && define.amd ? define(['jquery', './util'], factory) :
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Collapse = factory(global.jQuery, global.Util));
|
10
|
+
}(this, (function ($, Util) { 'use strict';
|
11
11
|
|
12
|
-
|
13
|
-
|
12
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
13
|
+
|
14
|
+
var $__default = /*#__PURE__*/_interopDefaultLegacy($);
|
15
|
+
var Util__default = /*#__PURE__*/_interopDefaultLegacy(Util);
|
14
16
|
|
15
17
|
function _defineProperties(target, props) {
|
16
18
|
for (var i = 0; i < props.length; i++) {
|
@@ -28,38 +30,22 @@
|
|
28
30
|
return Constructor;
|
29
31
|
}
|
30
32
|
|
31
|
-
function
|
32
|
-
|
33
|
-
|
34
|
-
|
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);
|
33
|
+
function _extends() {
|
34
|
+
_extends = Object.assign || function (target) {
|
35
|
+
for (var i = 1; i < arguments.length; i++) {
|
36
|
+
var source = arguments[i];
|
50
37
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
38
|
+
for (var key in source) {
|
39
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
40
|
+
target[key] = source[key];
|
41
|
+
}
|
42
|
+
}
|
55
43
|
}
|
56
44
|
|
57
|
-
|
58
|
-
|
59
|
-
});
|
60
|
-
}
|
45
|
+
return target;
|
46
|
+
};
|
61
47
|
|
62
|
-
return
|
48
|
+
return _extends.apply(this, arguments);
|
63
49
|
}
|
64
50
|
|
65
51
|
/**
|
@@ -69,11 +55,11 @@
|
|
69
55
|
*/
|
70
56
|
|
71
57
|
var NAME = 'collapse';
|
72
|
-
var VERSION = '4.
|
58
|
+
var VERSION = '4.6.0';
|
73
59
|
var DATA_KEY = 'bs.collapse';
|
74
60
|
var EVENT_KEY = "." + DATA_KEY;
|
75
61
|
var DATA_API_KEY = '.data-api';
|
76
|
-
var JQUERY_NO_CONFLICT =
|
62
|
+
var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME];
|
77
63
|
var Default = {
|
78
64
|
toggle: true,
|
79
65
|
parent: ''
|
@@ -82,47 +68,36 @@
|
|
82
68
|
toggle: 'boolean',
|
83
69
|
parent: '(string|element)'
|
84
70
|
};
|
85
|
-
var
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
var
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
ACTIVES: '.show, .collapsing',
|
104
|
-
DATA_TOGGLE: '[data-toggle="collapse"]'
|
105
|
-
/**
|
106
|
-
* ------------------------------------------------------------------------
|
107
|
-
* Class Definition
|
108
|
-
* ------------------------------------------------------------------------
|
109
|
-
*/
|
110
|
-
|
111
|
-
};
|
71
|
+
var EVENT_SHOW = "show" + EVENT_KEY;
|
72
|
+
var EVENT_SHOWN = "shown" + EVENT_KEY;
|
73
|
+
var EVENT_HIDE = "hide" + EVENT_KEY;
|
74
|
+
var EVENT_HIDDEN = "hidden" + EVENT_KEY;
|
75
|
+
var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
|
76
|
+
var CLASS_NAME_SHOW = 'show';
|
77
|
+
var CLASS_NAME_COLLAPSE = 'collapse';
|
78
|
+
var CLASS_NAME_COLLAPSING = 'collapsing';
|
79
|
+
var CLASS_NAME_COLLAPSED = 'collapsed';
|
80
|
+
var DIMENSION_WIDTH = 'width';
|
81
|
+
var DIMENSION_HEIGHT = 'height';
|
82
|
+
var SELECTOR_ACTIVES = '.show, .collapsing';
|
83
|
+
var SELECTOR_DATA_TOGGLE = '[data-toggle="collapse"]';
|
84
|
+
/**
|
85
|
+
* ------------------------------------------------------------------------
|
86
|
+
* Class Definition
|
87
|
+
* ------------------------------------------------------------------------
|
88
|
+
*/
|
112
89
|
|
113
|
-
var Collapse =
|
114
|
-
/*#__PURE__*/
|
115
|
-
function () {
|
90
|
+
var Collapse = /*#__PURE__*/function () {
|
116
91
|
function Collapse(element, config) {
|
117
92
|
this._isTransitioning = false;
|
118
93
|
this._element = element;
|
119
94
|
this._config = this._getConfig(config);
|
120
95
|
this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
|
121
|
-
var toggleList = [].slice.call(document.querySelectorAll(
|
96
|
+
var toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));
|
122
97
|
|
123
98
|
for (var i = 0, len = toggleList.length; i < len; i++) {
|
124
99
|
var elem = toggleList[i];
|
125
|
-
var selector =
|
100
|
+
var selector = Util__default['default'].getSelectorFromElement(elem);
|
126
101
|
var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) {
|
127
102
|
return foundElem === element;
|
128
103
|
});
|
@@ -150,7 +125,7 @@
|
|
150
125
|
|
151
126
|
// Public
|
152
127
|
_proto.toggle = function toggle() {
|
153
|
-
if ($(this._element).hasClass(
|
128
|
+
if ($__default['default'](this._element).hasClass(CLASS_NAME_SHOW)) {
|
154
129
|
this.hide();
|
155
130
|
} else {
|
156
131
|
this.show();
|
@@ -160,7 +135,7 @@
|
|
160
135
|
_proto.show = function show() {
|
161
136
|
var _this = this;
|
162
137
|
|
163
|
-
if (this._isTransitioning || $(this._element).hasClass(
|
138
|
+
if (this._isTransitioning || $__default['default'](this._element).hasClass(CLASS_NAME_SHOW)) {
|
164
139
|
return;
|
165
140
|
}
|
166
141
|
|
@@ -168,12 +143,12 @@
|
|
168
143
|
var activesData;
|
169
144
|
|
170
145
|
if (this._parent) {
|
171
|
-
actives = [].slice.call(this._parent.querySelectorAll(
|
146
|
+
actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES)).filter(function (elem) {
|
172
147
|
if (typeof _this._config.parent === 'string') {
|
173
148
|
return elem.getAttribute('data-parent') === _this._config.parent;
|
174
149
|
}
|
175
150
|
|
176
|
-
return elem.classList.contains(
|
151
|
+
return elem.classList.contains(CLASS_NAME_COLLAPSE);
|
177
152
|
});
|
178
153
|
|
179
154
|
if (actives.length === 0) {
|
@@ -182,64 +157,64 @@
|
|
182
157
|
}
|
183
158
|
|
184
159
|
if (actives) {
|
185
|
-
activesData = $(actives).not(this._selector).data(DATA_KEY);
|
160
|
+
activesData = $__default['default'](actives).not(this._selector).data(DATA_KEY);
|
186
161
|
|
187
162
|
if (activesData && activesData._isTransitioning) {
|
188
163
|
return;
|
189
164
|
}
|
190
165
|
}
|
191
166
|
|
192
|
-
var startEvent =
|
193
|
-
$(this._element).trigger(startEvent);
|
167
|
+
var startEvent = $__default['default'].Event(EVENT_SHOW);
|
168
|
+
$__default['default'](this._element).trigger(startEvent);
|
194
169
|
|
195
170
|
if (startEvent.isDefaultPrevented()) {
|
196
171
|
return;
|
197
172
|
}
|
198
173
|
|
199
174
|
if (actives) {
|
200
|
-
Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide');
|
175
|
+
Collapse._jQueryInterface.call($__default['default'](actives).not(this._selector), 'hide');
|
201
176
|
|
202
177
|
if (!activesData) {
|
203
|
-
$(actives).data(DATA_KEY, null);
|
178
|
+
$__default['default'](actives).data(DATA_KEY, null);
|
204
179
|
}
|
205
180
|
}
|
206
181
|
|
207
182
|
var dimension = this._getDimension();
|
208
183
|
|
209
|
-
$(this._element).removeClass(
|
184
|
+
$__default['default'](this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING);
|
210
185
|
this._element.style[dimension] = 0;
|
211
186
|
|
212
187
|
if (this._triggerArray.length) {
|
213
|
-
$(this._triggerArray).removeClass(
|
188
|
+
$__default['default'](this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true);
|
214
189
|
}
|
215
190
|
|
216
191
|
this.setTransitioning(true);
|
217
192
|
|
218
193
|
var complete = function complete() {
|
219
|
-
$(_this._element).removeClass(
|
194
|
+
$__default['default'](_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW);
|
220
195
|
_this._element.style[dimension] = '';
|
221
196
|
|
222
197
|
_this.setTransitioning(false);
|
223
198
|
|
224
|
-
$(_this._element).trigger(
|
199
|
+
$__default['default'](_this._element).trigger(EVENT_SHOWN);
|
225
200
|
};
|
226
201
|
|
227
202
|
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
|
228
203
|
var scrollSize = "scroll" + capitalizedDimension;
|
229
|
-
var transitionDuration =
|
230
|
-
$(this._element).one(
|
204
|
+
var transitionDuration = Util__default['default'].getTransitionDurationFromElement(this._element);
|
205
|
+
$__default['default'](this._element).one(Util__default['default'].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
231
206
|
this._element.style[dimension] = this._element[scrollSize] + "px";
|
232
207
|
};
|
233
208
|
|
234
209
|
_proto.hide = function hide() {
|
235
210
|
var _this2 = this;
|
236
211
|
|
237
|
-
if (this._isTransitioning || !$(this._element).hasClass(
|
212
|
+
if (this._isTransitioning || !$__default['default'](this._element).hasClass(CLASS_NAME_SHOW)) {
|
238
213
|
return;
|
239
214
|
}
|
240
215
|
|
241
|
-
var startEvent =
|
242
|
-
$(this._element).trigger(startEvent);
|
216
|
+
var startEvent = $__default['default'].Event(EVENT_HIDE);
|
217
|
+
$__default['default'](this._element).trigger(startEvent);
|
243
218
|
|
244
219
|
if (startEvent.isDefaultPrevented()) {
|
245
220
|
return;
|
@@ -248,20 +223,20 @@
|
|
248
223
|
var dimension = this._getDimension();
|
249
224
|
|
250
225
|
this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
|
251
|
-
|
252
|
-
$(this._element).addClass(
|
226
|
+
Util__default['default'].reflow(this._element);
|
227
|
+
$__default['default'](this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW);
|
253
228
|
var triggerArrayLength = this._triggerArray.length;
|
254
229
|
|
255
230
|
if (triggerArrayLength > 0) {
|
256
231
|
for (var i = 0; i < triggerArrayLength; i++) {
|
257
232
|
var trigger = this._triggerArray[i];
|
258
|
-
var selector =
|
233
|
+
var selector = Util__default['default'].getSelectorFromElement(trigger);
|
259
234
|
|
260
235
|
if (selector !== null) {
|
261
|
-
var $elem = $([].slice.call(document.querySelectorAll(selector)));
|
236
|
+
var $elem = $__default['default']([].slice.call(document.querySelectorAll(selector)));
|
262
237
|
|
263
|
-
if (!$elem.hasClass(
|
264
|
-
$(trigger).addClass(
|
238
|
+
if (!$elem.hasClass(CLASS_NAME_SHOW)) {
|
239
|
+
$__default['default'](trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false);
|
265
240
|
}
|
266
241
|
}
|
267
242
|
}
|
@@ -272,12 +247,12 @@
|
|
272
247
|
var complete = function complete() {
|
273
248
|
_this2.setTransitioning(false);
|
274
249
|
|
275
|
-
$(_this2._element).removeClass(
|
250
|
+
$__default['default'](_this2._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE).trigger(EVENT_HIDDEN);
|
276
251
|
};
|
277
252
|
|
278
253
|
this._element.style[dimension] = '';
|
279
|
-
var transitionDuration =
|
280
|
-
$(this._element).one(
|
254
|
+
var transitionDuration = Util__default['default'].getTransitionDurationFromElement(this._element);
|
255
|
+
$__default['default'](this._element).one(Util__default['default'].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
281
256
|
};
|
282
257
|
|
283
258
|
_proto.setTransitioning = function setTransitioning(isTransitioning) {
|
@@ -285,7 +260,7 @@
|
|
285
260
|
};
|
286
261
|
|
287
262
|
_proto.dispose = function dispose() {
|
288
|
-
|
263
|
+
$__default['default'].removeData(this._element, DATA_KEY);
|
289
264
|
this._config = null;
|
290
265
|
this._parent = null;
|
291
266
|
this._element = null;
|
@@ -295,16 +270,16 @@
|
|
295
270
|
;
|
296
271
|
|
297
272
|
_proto._getConfig = function _getConfig(config) {
|
298
|
-
config =
|
273
|
+
config = _extends({}, Default, config);
|
299
274
|
config.toggle = Boolean(config.toggle); // Coerce string values
|
300
275
|
|
301
|
-
|
276
|
+
Util__default['default'].typeCheckConfig(NAME, config, DefaultType);
|
302
277
|
return config;
|
303
278
|
};
|
304
279
|
|
305
280
|
_proto._getDimension = function _getDimension() {
|
306
|
-
var hasWidth = $(this._element).hasClass(
|
307
|
-
return hasWidth ?
|
281
|
+
var hasWidth = $__default['default'](this._element).hasClass(DIMENSION_WIDTH);
|
282
|
+
return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT;
|
308
283
|
};
|
309
284
|
|
310
285
|
_proto._getParent = function _getParent() {
|
@@ -312,7 +287,7 @@
|
|
312
287
|
|
313
288
|
var parent;
|
314
289
|
|
315
|
-
if (
|
290
|
+
if (Util__default['default'].isElement(this._config.parent)) {
|
316
291
|
parent = this._config.parent; // It's a jQuery object
|
317
292
|
|
318
293
|
if (typeof this._config.parent.jquery !== 'undefined') {
|
@@ -324,40 +299,40 @@
|
|
324
299
|
|
325
300
|
var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
|
326
301
|
var children = [].slice.call(parent.querySelectorAll(selector));
|
327
|
-
$(children).each(function (i, element) {
|
302
|
+
$__default['default'](children).each(function (i, element) {
|
328
303
|
_this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
|
329
304
|
});
|
330
305
|
return parent;
|
331
306
|
};
|
332
307
|
|
333
308
|
_proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
|
334
|
-
var isOpen = $(element).hasClass(
|
309
|
+
var isOpen = $__default['default'](element).hasClass(CLASS_NAME_SHOW);
|
335
310
|
|
336
311
|
if (triggerArray.length) {
|
337
|
-
$(triggerArray).toggleClass(
|
312
|
+
$__default['default'](triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
|
338
313
|
}
|
339
314
|
} // Static
|
340
315
|
;
|
341
316
|
|
342
317
|
Collapse._getTargetFromElement = function _getTargetFromElement(element) {
|
343
|
-
var selector =
|
318
|
+
var selector = Util__default['default'].getSelectorFromElement(element);
|
344
319
|
return selector ? document.querySelector(selector) : null;
|
345
320
|
};
|
346
321
|
|
347
322
|
Collapse._jQueryInterface = function _jQueryInterface(config) {
|
348
323
|
return this.each(function () {
|
349
|
-
var $
|
350
|
-
var data = $
|
324
|
+
var $element = $__default['default'](this);
|
325
|
+
var data = $element.data(DATA_KEY);
|
351
326
|
|
352
|
-
var _config =
|
327
|
+
var _config = _extends({}, Default, $element.data(), typeof config === 'object' && config ? config : {});
|
353
328
|
|
354
|
-
if (!data && _config.toggle && /show|hide/.test(config)) {
|
329
|
+
if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {
|
355
330
|
_config.toggle = false;
|
356
331
|
}
|
357
332
|
|
358
333
|
if (!data) {
|
359
334
|
data = new Collapse(this, _config);
|
360
|
-
$
|
335
|
+
$element.data(DATA_KEY, data);
|
361
336
|
}
|
362
337
|
|
363
338
|
if (typeof config === 'string') {
|
@@ -391,17 +366,17 @@
|
|
391
366
|
*/
|
392
367
|
|
393
368
|
|
394
|
-
$(document).on(
|
369
|
+
$__default['default'](document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
|
395
370
|
// preventDefault only for <a> elements (which change the URL) not inside the collapsible element
|
396
371
|
if (event.currentTarget.tagName === 'A') {
|
397
372
|
event.preventDefault();
|
398
373
|
}
|
399
374
|
|
400
|
-
var $trigger = $(this);
|
401
|
-
var selector =
|
375
|
+
var $trigger = $__default['default'](this);
|
376
|
+
var selector = Util__default['default'].getSelectorFromElement(this);
|
402
377
|
var selectors = [].slice.call(document.querySelectorAll(selector));
|
403
|
-
$(selectors).each(function () {
|
404
|
-
var $target = $(this);
|
378
|
+
$__default['default'](selectors).each(function () {
|
379
|
+
var $target = $__default['default'](this);
|
405
380
|
var data = $target.data(DATA_KEY);
|
406
381
|
var config = data ? 'toggle' : $trigger.data();
|
407
382
|
|
@@ -414,14 +389,14 @@
|
|
414
389
|
* ------------------------------------------------------------------------
|
415
390
|
*/
|
416
391
|
|
417
|
-
|
418
|
-
|
392
|
+
$__default['default'].fn[NAME] = Collapse._jQueryInterface;
|
393
|
+
$__default['default'].fn[NAME].Constructor = Collapse;
|
419
394
|
|
420
|
-
|
421
|
-
|
395
|
+
$__default['default'].fn[NAME].noConflict = function () {
|
396
|
+
$__default['default'].fn[NAME] = JQUERY_NO_CONFLICT;
|
422
397
|
return Collapse._jQueryInterface;
|
423
398
|
};
|
424
399
|
|
425
400
|
return Collapse;
|
426
401
|
|
427
|
-
}));
|
402
|
+
})));
|
@@ -1,17 +1,19 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap dropdown.js v4.
|
3
|
-
* Copyright 2011-
|
4
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
2
|
+
* Bootstrap dropdown.js v4.6.0 (https://getbootstrap.com/)
|
3
|
+
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
4
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
5
5
|
*/
|
6
6
|
(function (global, factory) {
|
7
7
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('popper.js'), require('./util.js')) :
|
8
|
-
typeof define === 'function' && define.amd ? define(['jquery', 'popper.js', './util
|
9
|
-
(global = global || self, global.Dropdown = factory(global.jQuery, global.Popper, global.Util));
|
10
|
-
}(this, function ($, Popper, Util) { 'use strict';
|
8
|
+
typeof define === 'function' && define.amd ? define(['jquery', 'popper.js', './util'], factory) :
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Dropdown = factory(global.jQuery, global.Popper, global.Util));
|
10
|
+
}(this, (function ($, Popper, Util) { 'use strict';
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
13
|
+
|
14
|
+
var $__default = /*#__PURE__*/_interopDefaultLegacy($);
|
15
|
+
var Popper__default = /*#__PURE__*/_interopDefaultLegacy(Popper);
|
16
|
+
var Util__default = /*#__PURE__*/_interopDefaultLegacy(Util);
|
15
17
|
|
16
18
|
function _defineProperties(target, props) {
|
17
19
|
for (var i = 0; i < props.length; i++) {
|
@@ -29,38 +31,22 @@
|
|
29
31
|
return Constructor;
|
30
32
|
}
|
31
33
|
|
32
|
-
function
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
enumerable: true,
|
37
|
-
configurable: true,
|
38
|
-
writable: true
|
39
|
-
});
|
40
|
-
} else {
|
41
|
-
obj[key] = value;
|
42
|
-
}
|
43
|
-
|
44
|
-
return obj;
|
45
|
-
}
|
34
|
+
function _extends() {
|
35
|
+
_extends = Object.assign || function (target) {
|
36
|
+
for (var i = 1; i < arguments.length; i++) {
|
37
|
+
var source = arguments[i];
|
46
38
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
if (typeof Object.getOwnPropertySymbols === 'function') {
|
53
|
-
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
|
54
|
-
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
55
|
-
}));
|
39
|
+
for (var key in source) {
|
40
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
41
|
+
target[key] = source[key];
|
42
|
+
}
|
43
|
+
}
|
56
44
|
}
|
57
45
|
|
58
|
-
|
59
|
-
|
60
|
-
});
|
61
|
-
}
|
46
|
+
return target;
|
47
|
+
};
|
62
48
|
|
63
|
-
return
|
49
|
+
return _extends.apply(this, arguments);
|
64
50
|
}
|
65
51
|
|
66
52
|
/**
|
@@ -70,11 +56,11 @@
|
|
70
56
|
*/
|
71
57
|
|
72
58
|
var NAME = 'dropdown';
|
73
|
-
var VERSION = '4.
|
59
|
+
var VERSION = '4.6.0';
|
74
60
|
var DATA_KEY = 'bs.dropdown';
|
75
61
|
var EVENT_KEY = "." + DATA_KEY;
|
76
62
|
var DATA_API_KEY = '.data-api';
|
77
|
-
var JQUERY_NO_CONFLICT =
|
63
|
+
var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME];
|
78
64
|
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
|
79
65
|
|
80
66
|
var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
|
@@ -88,67 +74,55 @@
|
|
88
74
|
var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
|
89
75
|
|
90
76
|
var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
|
91
|
-
var
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
var
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
var
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
};
|
118
|
-
var AttachmentMap = {
|
119
|
-
TOP: 'top-start',
|
120
|
-
TOPEND: 'top-end',
|
121
|
-
BOTTOM: 'bottom-start',
|
122
|
-
BOTTOMEND: 'bottom-end',
|
123
|
-
RIGHT: 'right-start',
|
124
|
-
RIGHTEND: 'right-end',
|
125
|
-
LEFT: 'left-start',
|
126
|
-
LEFTEND: 'left-end'
|
127
|
-
};
|
77
|
+
var EVENT_HIDE = "hide" + EVENT_KEY;
|
78
|
+
var EVENT_HIDDEN = "hidden" + EVENT_KEY;
|
79
|
+
var EVENT_SHOW = "show" + EVENT_KEY;
|
80
|
+
var EVENT_SHOWN = "shown" + EVENT_KEY;
|
81
|
+
var EVENT_CLICK = "click" + EVENT_KEY;
|
82
|
+
var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
|
83
|
+
var EVENT_KEYDOWN_DATA_API = "keydown" + EVENT_KEY + DATA_API_KEY;
|
84
|
+
var EVENT_KEYUP_DATA_API = "keyup" + EVENT_KEY + DATA_API_KEY;
|
85
|
+
var CLASS_NAME_DISABLED = 'disabled';
|
86
|
+
var CLASS_NAME_SHOW = 'show';
|
87
|
+
var CLASS_NAME_DROPUP = 'dropup';
|
88
|
+
var CLASS_NAME_DROPRIGHT = 'dropright';
|
89
|
+
var CLASS_NAME_DROPLEFT = 'dropleft';
|
90
|
+
var CLASS_NAME_MENURIGHT = 'dropdown-menu-right';
|
91
|
+
var CLASS_NAME_POSITION_STATIC = 'position-static';
|
92
|
+
var SELECTOR_DATA_TOGGLE = '[data-toggle="dropdown"]';
|
93
|
+
var SELECTOR_FORM_CHILD = '.dropdown form';
|
94
|
+
var SELECTOR_MENU = '.dropdown-menu';
|
95
|
+
var SELECTOR_NAVBAR_NAV = '.navbar-nav';
|
96
|
+
var SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
|
97
|
+
var PLACEMENT_TOP = 'top-start';
|
98
|
+
var PLACEMENT_TOPEND = 'top-end';
|
99
|
+
var PLACEMENT_BOTTOM = 'bottom-start';
|
100
|
+
var PLACEMENT_BOTTOMEND = 'bottom-end';
|
101
|
+
var PLACEMENT_RIGHT = 'right-start';
|
102
|
+
var PLACEMENT_LEFT = 'left-start';
|
128
103
|
var Default = {
|
129
104
|
offset: 0,
|
130
105
|
flip: true,
|
131
106
|
boundary: 'scrollParent',
|
132
107
|
reference: 'toggle',
|
133
|
-
display: 'dynamic'
|
108
|
+
display: 'dynamic',
|
109
|
+
popperConfig: null
|
134
110
|
};
|
135
111
|
var DefaultType = {
|
136
112
|
offset: '(number|string|function)',
|
137
113
|
flip: 'boolean',
|
138
114
|
boundary: '(string|element)',
|
139
115
|
reference: '(string|element)',
|
140
|
-
display: 'string'
|
141
|
-
|
142
|
-
* ------------------------------------------------------------------------
|
143
|
-
* Class Definition
|
144
|
-
* ------------------------------------------------------------------------
|
145
|
-
*/
|
146
|
-
|
116
|
+
display: 'string',
|
117
|
+
popperConfig: '(null|object)'
|
147
118
|
};
|
119
|
+
/**
|
120
|
+
* ------------------------------------------------------------------------
|
121
|
+
* Class Definition
|
122
|
+
* ------------------------------------------------------------------------
|
123
|
+
*/
|
148
124
|
|
149
|
-
var Dropdown =
|
150
|
-
/*#__PURE__*/
|
151
|
-
function () {
|
125
|
+
var Dropdown = /*#__PURE__*/function () {
|
152
126
|
function Dropdown(element, config) {
|
153
127
|
this._element = element;
|
154
128
|
this._popper = null;
|
@@ -164,13 +138,11 @@
|
|
164
138
|
|
165
139
|
// Public
|
166
140
|
_proto.toggle = function toggle() {
|
167
|
-
if (this._element.disabled || $(this._element).hasClass(
|
141
|
+
if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED)) {
|
168
142
|
return;
|
169
143
|
}
|
170
144
|
|
171
|
-
var
|
172
|
-
|
173
|
-
var isActive = $(this._menu).hasClass(ClassName.SHOW);
|
145
|
+
var isActive = $__default['default'](this._menu).hasClass(CLASS_NAME_SHOW);
|
174
146
|
|
175
147
|
Dropdown._clearMenus();
|
176
148
|
|
@@ -178,31 +150,46 @@
|
|
178
150
|
return;
|
179
151
|
}
|
180
152
|
|
153
|
+
this.show(true);
|
154
|
+
};
|
155
|
+
|
156
|
+
_proto.show = function show(usePopper) {
|
157
|
+
if (usePopper === void 0) {
|
158
|
+
usePopper = false;
|
159
|
+
}
|
160
|
+
|
161
|
+
if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED) || $__default['default'](this._menu).hasClass(CLASS_NAME_SHOW)) {
|
162
|
+
return;
|
163
|
+
}
|
164
|
+
|
181
165
|
var relatedTarget = {
|
182
166
|
relatedTarget: this._element
|
183
167
|
};
|
184
|
-
var showEvent =
|
185
|
-
|
168
|
+
var showEvent = $__default['default'].Event(EVENT_SHOW, relatedTarget);
|
169
|
+
|
170
|
+
var parent = Dropdown._getParentFromElement(this._element);
|
171
|
+
|
172
|
+
$__default['default'](parent).trigger(showEvent);
|
186
173
|
|
187
174
|
if (showEvent.isDefaultPrevented()) {
|
188
175
|
return;
|
189
|
-
} //
|
176
|
+
} // Totally disable Popper for Dropdowns in Navbar
|
190
177
|
|
191
178
|
|
192
|
-
if (!this._inNavbar) {
|
179
|
+
if (!this._inNavbar && usePopper) {
|
193
180
|
/**
|
194
181
|
* Check for Popper dependency
|
195
182
|
* Popper - https://popper.js.org
|
196
183
|
*/
|
197
|
-
if (typeof
|
198
|
-
throw new TypeError('Bootstrap\'s dropdowns require Popper
|
184
|
+
if (typeof Popper__default['default'] === 'undefined') {
|
185
|
+
throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)');
|
199
186
|
}
|
200
187
|
|
201
188
|
var referenceElement = this._element;
|
202
189
|
|
203
190
|
if (this._config.reference === 'parent') {
|
204
191
|
referenceElement = parent;
|
205
|
-
} else if (
|
192
|
+
} else if (Util__default['default'].isElement(this._config.reference)) {
|
206
193
|
referenceElement = this._config.reference; // Check if it's jQuery element
|
207
194
|
|
208
195
|
if (typeof this._config.reference.jquery !== 'undefined') {
|
@@ -214,75 +201,57 @@
|
|
214
201
|
|
215
202
|
|
216
203
|
if (this._config.boundary !== 'scrollParent') {
|
217
|
-
$(parent).addClass(
|
204
|
+
$__default['default'](parent).addClass(CLASS_NAME_POSITION_STATIC);
|
218
205
|
}
|
219
206
|
|
220
|
-
this._popper = new
|
207
|
+
this._popper = new Popper__default['default'](referenceElement, this._menu, this._getPopperConfig());
|
221
208
|
} // If this is a touch-enabled device we add extra
|
222
209
|
// empty mouseover listeners to the body's immediate children;
|
223
210
|
// only needed because of broken event delegation on iOS
|
224
211
|
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
|
225
212
|
|
226
213
|
|
227
|
-
if ('ontouchstart' in document.documentElement && $(parent).closest(
|
228
|
-
$(document.body).children().on('mouseover', null,
|
214
|
+
if ('ontouchstart' in document.documentElement && $__default['default'](parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {
|
215
|
+
$__default['default'](document.body).children().on('mouseover', null, $__default['default'].noop);
|
229
216
|
}
|
230
217
|
|
231
218
|
this._element.focus();
|
232
219
|
|
233
220
|
this._element.setAttribute('aria-expanded', true);
|
234
221
|
|
235
|
-
$(this._menu).toggleClass(
|
236
|
-
$(parent).toggleClass(
|
237
|
-
};
|
238
|
-
|
239
|
-
_proto.show = function show() {
|
240
|
-
if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {
|
241
|
-
return;
|
242
|
-
}
|
243
|
-
|
244
|
-
var relatedTarget = {
|
245
|
-
relatedTarget: this._element
|
246
|
-
};
|
247
|
-
var showEvent = $.Event(Event.SHOW, relatedTarget);
|
248
|
-
|
249
|
-
var parent = Dropdown._getParentFromElement(this._element);
|
250
|
-
|
251
|
-
$(parent).trigger(showEvent);
|
252
|
-
|
253
|
-
if (showEvent.isDefaultPrevented()) {
|
254
|
-
return;
|
255
|
-
}
|
256
|
-
|
257
|
-
$(this._menu).toggleClass(ClassName.SHOW);
|
258
|
-
$(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.SHOWN, relatedTarget));
|
222
|
+
$__default['default'](this._menu).toggleClass(CLASS_NAME_SHOW);
|
223
|
+
$__default['default'](parent).toggleClass(CLASS_NAME_SHOW).trigger($__default['default'].Event(EVENT_SHOWN, relatedTarget));
|
259
224
|
};
|
260
225
|
|
261
226
|
_proto.hide = function hide() {
|
262
|
-
if (this._element.disabled || $(this._element).hasClass(
|
227
|
+
if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED) || !$__default['default'](this._menu).hasClass(CLASS_NAME_SHOW)) {
|
263
228
|
return;
|
264
229
|
}
|
265
230
|
|
266
231
|
var relatedTarget = {
|
267
232
|
relatedTarget: this._element
|
268
233
|
};
|
269
|
-
var hideEvent =
|
234
|
+
var hideEvent = $__default['default'].Event(EVENT_HIDE, relatedTarget);
|
270
235
|
|
271
236
|
var parent = Dropdown._getParentFromElement(this._element);
|
272
237
|
|
273
|
-
$(parent).trigger(hideEvent);
|
238
|
+
$__default['default'](parent).trigger(hideEvent);
|
274
239
|
|
275
240
|
if (hideEvent.isDefaultPrevented()) {
|
276
241
|
return;
|
277
242
|
}
|
278
243
|
|
279
|
-
|
280
|
-
|
244
|
+
if (this._popper) {
|
245
|
+
this._popper.destroy();
|
246
|
+
}
|
247
|
+
|
248
|
+
$__default['default'](this._menu).toggleClass(CLASS_NAME_SHOW);
|
249
|
+
$__default['default'](parent).toggleClass(CLASS_NAME_SHOW).trigger($__default['default'].Event(EVENT_HIDDEN, relatedTarget));
|
281
250
|
};
|
282
251
|
|
283
252
|
_proto.dispose = function dispose() {
|
284
|
-
|
285
|
-
$(this._element).off(EVENT_KEY);
|
253
|
+
$__default['default'].removeData(this._element, DATA_KEY);
|
254
|
+
$__default['default'](this._element).off(EVENT_KEY);
|
286
255
|
this._element = null;
|
287
256
|
this._menu = null;
|
288
257
|
|
@@ -305,7 +274,7 @@
|
|
305
274
|
_proto._addEventListeners = function _addEventListeners() {
|
306
275
|
var _this = this;
|
307
276
|
|
308
|
-
$(this._element).on(
|
277
|
+
$__default['default'](this._element).on(EVENT_CLICK, function (event) {
|
309
278
|
event.preventDefault();
|
310
279
|
event.stopPropagation();
|
311
280
|
|
@@ -314,8 +283,8 @@
|
|
314
283
|
};
|
315
284
|
|
316
285
|
_proto._getConfig = function _getConfig(config) {
|
317
|
-
config =
|
318
|
-
|
286
|
+
config = _extends({}, this.constructor.Default, $__default['default'](this._element).data(), config);
|
287
|
+
Util__default['default'].typeCheckConfig(NAME, config, this.constructor.DefaultType);
|
319
288
|
return config;
|
320
289
|
};
|
321
290
|
|
@@ -324,7 +293,7 @@
|
|
324
293
|
var parent = Dropdown._getParentFromElement(this._element);
|
325
294
|
|
326
295
|
if (parent) {
|
327
|
-
this._menu = parent.querySelector(
|
296
|
+
this._menu = parent.querySelector(SELECTOR_MENU);
|
328
297
|
}
|
329
298
|
}
|
330
299
|
|
@@ -332,28 +301,24 @@
|
|
332
301
|
};
|
333
302
|
|
334
303
|
_proto._getPlacement = function _getPlacement() {
|
335
|
-
var $parentDropdown = $(this._element.parentNode);
|
336
|
-
var placement =
|
337
|
-
|
338
|
-
if ($parentDropdown.hasClass(
|
339
|
-
placement =
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
} else if ($
|
345
|
-
placement =
|
346
|
-
} else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {
|
347
|
-
placement = AttachmentMap.LEFT;
|
348
|
-
} else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
|
349
|
-
placement = AttachmentMap.BOTTOMEND;
|
304
|
+
var $parentDropdown = $__default['default'](this._element.parentNode);
|
305
|
+
var placement = PLACEMENT_BOTTOM; // Handle dropup
|
306
|
+
|
307
|
+
if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {
|
308
|
+
placement = $__default['default'](this._menu).hasClass(CLASS_NAME_MENURIGHT) ? PLACEMENT_TOPEND : PLACEMENT_TOP;
|
309
|
+
} else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {
|
310
|
+
placement = PLACEMENT_RIGHT;
|
311
|
+
} else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {
|
312
|
+
placement = PLACEMENT_LEFT;
|
313
|
+
} else if ($__default['default'](this._menu).hasClass(CLASS_NAME_MENURIGHT)) {
|
314
|
+
placement = PLACEMENT_BOTTOMEND;
|
350
315
|
}
|
351
316
|
|
352
317
|
return placement;
|
353
318
|
};
|
354
319
|
|
355
320
|
_proto._detectNavbar = function _detectNavbar() {
|
356
|
-
return $(this._element).closest('.navbar').length > 0;
|
321
|
+
return $__default['default'](this._element).closest('.navbar').length > 0;
|
357
322
|
};
|
358
323
|
|
359
324
|
_proto._getOffset = function _getOffset() {
|
@@ -363,7 +328,7 @@
|
|
363
328
|
|
364
329
|
if (typeof this._config.offset === 'function') {
|
365
330
|
offset.fn = function (data) {
|
366
|
-
data.offsets =
|
331
|
+
data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {});
|
367
332
|
return data;
|
368
333
|
};
|
369
334
|
} else {
|
@@ -384,9 +349,8 @@
|
|
384
349
|
preventOverflow: {
|
385
350
|
boundariesElement: this._config.boundary
|
386
351
|
}
|
387
|
-
}
|
388
|
-
|
389
|
-
};
|
352
|
+
}
|
353
|
+
}; // Disable Popper if we have a static display
|
390
354
|
|
391
355
|
if (this._config.display === 'static') {
|
392
356
|
popperConfig.modifiers.applyStyle = {
|
@@ -394,19 +358,19 @@
|
|
394
358
|
};
|
395
359
|
}
|
396
360
|
|
397
|
-
return popperConfig;
|
361
|
+
return _extends({}, popperConfig, this._config.popperConfig);
|
398
362
|
} // Static
|
399
363
|
;
|
400
364
|
|
401
365
|
Dropdown._jQueryInterface = function _jQueryInterface(config) {
|
402
366
|
return this.each(function () {
|
403
|
-
var data = $(this).data(DATA_KEY);
|
367
|
+
var data = $__default['default'](this).data(DATA_KEY);
|
404
368
|
|
405
369
|
var _config = typeof config === 'object' ? config : null;
|
406
370
|
|
407
371
|
if (!data) {
|
408
372
|
data = new Dropdown(this, _config);
|
409
|
-
$(this).data(DATA_KEY, data);
|
373
|
+
$__default['default'](this).data(DATA_KEY, data);
|
410
374
|
}
|
411
375
|
|
412
376
|
if (typeof config === 'string') {
|
@@ -424,12 +388,12 @@
|
|
424
388
|
return;
|
425
389
|
}
|
426
390
|
|
427
|
-
var toggles = [].slice.call(document.querySelectorAll(
|
391
|
+
var toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));
|
428
392
|
|
429
393
|
for (var i = 0, len = toggles.length; i < len; i++) {
|
430
394
|
var parent = Dropdown._getParentFromElement(toggles[i]);
|
431
395
|
|
432
|
-
var context = $(toggles[i]).data(DATA_KEY);
|
396
|
+
var context = $__default['default'](toggles[i]).data(DATA_KEY);
|
433
397
|
var relatedTarget = {
|
434
398
|
relatedTarget: toggles[i]
|
435
399
|
};
|
@@ -444,16 +408,16 @@
|
|
444
408
|
|
445
409
|
var dropdownMenu = context._menu;
|
446
410
|
|
447
|
-
if (!$(parent).hasClass(
|
411
|
+
if (!$__default['default'](parent).hasClass(CLASS_NAME_SHOW)) {
|
448
412
|
continue;
|
449
413
|
}
|
450
414
|
|
451
|
-
if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&
|
415
|
+
if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $__default['default'].contains(parent, event.target)) {
|
452
416
|
continue;
|
453
417
|
}
|
454
418
|
|
455
|
-
var hideEvent =
|
456
|
-
$(parent).trigger(hideEvent);
|
419
|
+
var hideEvent = $__default['default'].Event(EVENT_HIDE, relatedTarget);
|
420
|
+
$__default['default'](parent).trigger(hideEvent);
|
457
421
|
|
458
422
|
if (hideEvent.isDefaultPrevented()) {
|
459
423
|
continue;
|
@@ -462,18 +426,23 @@
|
|
462
426
|
|
463
427
|
|
464
428
|
if ('ontouchstart' in document.documentElement) {
|
465
|
-
$(document.body).children().off('mouseover', null,
|
429
|
+
$__default['default'](document.body).children().off('mouseover', null, $__default['default'].noop);
|
466
430
|
}
|
467
431
|
|
468
432
|
toggles[i].setAttribute('aria-expanded', 'false');
|
469
|
-
|
470
|
-
|
433
|
+
|
434
|
+
if (context._popper) {
|
435
|
+
context._popper.destroy();
|
436
|
+
}
|
437
|
+
|
438
|
+
$__default['default'](dropdownMenu).removeClass(CLASS_NAME_SHOW);
|
439
|
+
$__default['default'](parent).removeClass(CLASS_NAME_SHOW).trigger($__default['default'].Event(EVENT_HIDDEN, relatedTarget));
|
471
440
|
}
|
472
441
|
};
|
473
442
|
|
474
443
|
Dropdown._getParentFromElement = function _getParentFromElement(element) {
|
475
444
|
var parent;
|
476
|
-
var selector =
|
445
|
+
var selector = Util__default['default'].getSelectorFromElement(element);
|
477
446
|
|
478
447
|
if (selector) {
|
479
448
|
parent = document.querySelector(selector);
|
@@ -491,32 +460,37 @@
|
|
491
460
|
// - If key is other than escape
|
492
461
|
// - If key is not up or down => not a dropdown command
|
493
462
|
// - If trigger inside the menu => not a dropdown command
|
494
|
-
if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $(event.target).closest(
|
463
|
+
if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $__default['default'](event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
|
495
464
|
return;
|
496
465
|
}
|
497
466
|
|
498
|
-
|
499
|
-
event.stopPropagation();
|
500
|
-
|
501
|
-
if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
|
467
|
+
if (this.disabled || $__default['default'](this).hasClass(CLASS_NAME_DISABLED)) {
|
502
468
|
return;
|
503
469
|
}
|
504
470
|
|
505
471
|
var parent = Dropdown._getParentFromElement(this);
|
506
472
|
|
507
|
-
var isActive = $(parent).hasClass(
|
473
|
+
var isActive = $__default['default'](parent).hasClass(CLASS_NAME_SHOW);
|
474
|
+
|
475
|
+
if (!isActive && event.which === ESCAPE_KEYCODE) {
|
476
|
+
return;
|
477
|
+
}
|
478
|
+
|
479
|
+
event.preventDefault();
|
480
|
+
event.stopPropagation();
|
508
481
|
|
509
|
-
if (!isActive ||
|
482
|
+
if (!isActive || event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE) {
|
510
483
|
if (event.which === ESCAPE_KEYCODE) {
|
511
|
-
|
512
|
-
$(toggle).trigger('focus');
|
484
|
+
$__default['default'](parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus');
|
513
485
|
}
|
514
486
|
|
515
|
-
$(this).trigger('click');
|
487
|
+
$__default['default'](this).trigger('click');
|
516
488
|
return;
|
517
489
|
}
|
518
490
|
|
519
|
-
var items = [].slice.call(parent.querySelectorAll(
|
491
|
+
var items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS)).filter(function (item) {
|
492
|
+
return $__default['default'](item).is(':visible');
|
493
|
+
});
|
520
494
|
|
521
495
|
if (items.length === 0) {
|
522
496
|
return;
|
@@ -567,12 +541,12 @@
|
|
567
541
|
*/
|
568
542
|
|
569
543
|
|
570
|
-
$(document).on(
|
544
|
+
$__default['default'](document).on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler).on(EVENT_CLICK_DATA_API + " " + EVENT_KEYUP_DATA_API, Dropdown._clearMenus).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
|
571
545
|
event.preventDefault();
|
572
546
|
event.stopPropagation();
|
573
547
|
|
574
|
-
Dropdown._jQueryInterface.call($(this), 'toggle');
|
575
|
-
}).on(
|
548
|
+
Dropdown._jQueryInterface.call($__default['default'](this), 'toggle');
|
549
|
+
}).on(EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, function (e) {
|
576
550
|
e.stopPropagation();
|
577
551
|
});
|
578
552
|
/**
|
@@ -581,14 +555,14 @@
|
|
581
555
|
* ------------------------------------------------------------------------
|
582
556
|
*/
|
583
557
|
|
584
|
-
|
585
|
-
|
558
|
+
$__default['default'].fn[NAME] = Dropdown._jQueryInterface;
|
559
|
+
$__default['default'].fn[NAME].Constructor = Dropdown;
|
586
560
|
|
587
|
-
|
588
|
-
|
561
|
+
$__default['default'].fn[NAME].noConflict = function () {
|
562
|
+
$__default['default'].fn[NAME] = JQUERY_NO_CONFLICT;
|
589
563
|
return Dropdown._jQueryInterface;
|
590
564
|
};
|
591
565
|
|
592
566
|
return Dropdown;
|
593
567
|
|
594
|
-
}));
|
568
|
+
})));
|