bootstrap 4.3.1 → 4.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
})));
|