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