bootstrap 4.4.1 → 4.6.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +11 -1
- data/CHANGELOG.md +4 -0
- data/README.md +7 -1
- data/Rakefile +16 -4
- data/assets/javascripts/bootstrap/alert.js +42 -53
- data/assets/javascripts/bootstrap/button.js +76 -81
- data/assets/javascripts/bootstrap/carousel.js +161 -199
- data/assets/javascripts/bootstrap/collapse.js +97 -142
- data/assets/javascripts/bootstrap/dropdown.js +130 -186
- data/assets/javascripts/bootstrap/modal.js +191 -213
- data/assets/javascripts/bootstrap/popover.js +62 -92
- data/assets/javascripts/bootstrap/scrollspy.js +81 -132
- data/assets/javascripts/bootstrap/tab.js +78 -83
- data/assets/javascripts/bootstrap/toast.js +83 -118
- data/assets/javascripts/bootstrap/tooltip.js +158 -198
- data/assets/javascripts/bootstrap/util.js +27 -26
- data/assets/javascripts/bootstrap-sprockets.js +7 -7
- data/assets/javascripts/bootstrap.js +1037 -1202
- data/assets/javascripts/bootstrap.min.js +4 -4
- 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/_breadcrumb.scss +1 -1
- data/assets/stylesheets/bootstrap/_buttons.scss +10 -7
- data/assets/stylesheets/bootstrap/_card.scss +30 -22
- data/assets/stylesheets/bootstrap/_carousel.scss +6 -3
- data/assets/stylesheets/bootstrap/_close.scss +0 -1
- data/assets/stylesheets/bootstrap/_custom-forms.scss +23 -18
- data/assets/stylesheets/bootstrap/_dropdown.scss +4 -3
- data/assets/stylesheets/bootstrap/_forms.scss +19 -10
- data/assets/stylesheets/bootstrap/_functions.scss +62 -6
- data/assets/stylesheets/bootstrap/_grid.scss +10 -6
- data/assets/stylesheets/bootstrap/_images.scss +1 -1
- data/assets/stylesheets/bootstrap/_input-group.scss +24 -4
- data/assets/stylesheets/bootstrap/_jumbotron.scss +1 -1
- data/assets/stylesheets/bootstrap/_list-group.scss +10 -14
- data/assets/stylesheets/bootstrap/_modal.scss +4 -3
- data/assets/stylesheets/bootstrap/_nav.scss +9 -4
- data/assets/stylesheets/bootstrap/_navbar.scss +10 -2
- data/assets/stylesheets/bootstrap/_pagination.scss +3 -2
- data/assets/stylesheets/bootstrap/_popover.scss +9 -9
- data/assets/stylesheets/bootstrap/_print.scss +0 -9
- data/assets/stylesheets/bootstrap/_progress.scss +2 -1
- data/assets/stylesheets/bootstrap/_reboot.scss +27 -25
- data/assets/stylesheets/bootstrap/_root.scss +0 -1
- data/assets/stylesheets/bootstrap/_spinners.scss +18 -8
- data/assets/stylesheets/bootstrap/_toasts.scss +4 -2
- data/assets/stylesheets/bootstrap/_tooltip.scss +4 -4
- data/assets/stylesheets/bootstrap/_transitions.scss +6 -0
- data/assets/stylesheets/bootstrap/_type.scss +1 -1
- data/assets/stylesheets/bootstrap/_utilities.scss +2 -1
- data/assets/stylesheets/bootstrap/_variables.scss +34 -28
- data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +2 -1
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +27 -14
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +6 -6
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +23 -5
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +26 -17
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +17 -17
- data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +18 -8
- data/assets/stylesheets/bootstrap/utilities/_background.scss +1 -1
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +1 -1
- data/assets/stylesheets/bootstrap/utilities/_embed.scss +1 -1
- data/assets/stylesheets/bootstrap/utilities/_interactions.scss +5 -0
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +1 -1
- data/assets/stylesheets/bootstrap/utilities/_text.scss +2 -2
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +126 -102
- data/bootstrap.gemspec +1 -3
- data/lib/bootstrap/engine.rb +17 -1
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +18 -6
- data/tasks/updater/network.rb +8 -2
- data/test/gemfiles/rails_6_0.gemfile +7 -0
- data/test/gemfiles/rails_7_0_dartsass.gemfile +8 -0
- data/test/gemfiles/rails_7_0_sassc.gemfile +8 -0
- metadata +12 -19
|
@@ -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.2 (https://getbootstrap.com/)
|
|
3
|
+
* Copyright 2011-2022 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++) {
|
|
@@ -26,70 +28,39 @@
|
|
|
26
28
|
function _createClass(Constructor, protoProps, staticProps) {
|
|
27
29
|
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
28
30
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
31
|
+
Object.defineProperty(Constructor, "prototype", {
|
|
32
|
+
writable: false
|
|
33
|
+
});
|
|
29
34
|
return Constructor;
|
|
30
35
|
}
|
|
31
36
|
|
|
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
|
-
}
|
|
46
|
-
|
|
47
|
-
function ownKeys(object, enumerableOnly) {
|
|
48
|
-
var keys = Object.keys(object);
|
|
37
|
+
function _extends() {
|
|
38
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
39
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
40
|
+
var source = arguments[i];
|
|
49
41
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
keys.push.apply(keys, symbols);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
return keys;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
function _objectSpread2(target) {
|
|
62
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
63
|
-
var source = arguments[i] != null ? arguments[i] : {};
|
|
64
|
-
|
|
65
|
-
if (i % 2) {
|
|
66
|
-
ownKeys(Object(source), true).forEach(function (key) {
|
|
67
|
-
_defineProperty(target, key, source[key]);
|
|
68
|
-
});
|
|
69
|
-
} else if (Object.getOwnPropertyDescriptors) {
|
|
70
|
-
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
71
|
-
} else {
|
|
72
|
-
ownKeys(Object(source)).forEach(function (key) {
|
|
73
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
74
|
-
});
|
|
42
|
+
for (var key in source) {
|
|
43
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
44
|
+
target[key] = source[key];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
75
47
|
}
|
|
76
|
-
}
|
|
77
48
|
|
|
78
|
-
|
|
49
|
+
return target;
|
|
50
|
+
};
|
|
51
|
+
return _extends.apply(this, arguments);
|
|
79
52
|
}
|
|
80
53
|
|
|
81
54
|
/**
|
|
82
|
-
* ------------------------------------------------------------------------
|
|
83
55
|
* Constants
|
|
84
|
-
* ------------------------------------------------------------------------
|
|
85
56
|
*/
|
|
86
57
|
|
|
87
58
|
var NAME = 'dropdown';
|
|
88
|
-
var VERSION = '4.
|
|
59
|
+
var VERSION = '4.6.2';
|
|
89
60
|
var DATA_KEY = 'bs.dropdown';
|
|
90
61
|
var EVENT_KEY = "." + DATA_KEY;
|
|
91
62
|
var DATA_API_KEY = '.data-api';
|
|
92
|
-
var JQUERY_NO_CONFLICT =
|
|
63
|
+
var JQUERY_NO_CONFLICT = $__default["default"].fn[NAME];
|
|
93
64
|
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
|
|
94
65
|
|
|
95
66
|
var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
|
|
@@ -103,43 +74,32 @@
|
|
|
103
74
|
var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
|
|
104
75
|
|
|
105
76
|
var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
|
|
106
|
-
var
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
var
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
var
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
};
|
|
133
|
-
var AttachmentMap = {
|
|
134
|
-
TOP: 'top-start',
|
|
135
|
-
TOPEND: 'top-end',
|
|
136
|
-
BOTTOM: 'bottom-start',
|
|
137
|
-
BOTTOMEND: 'bottom-end',
|
|
138
|
-
RIGHT: 'right-start',
|
|
139
|
-
RIGHTEND: 'right-end',
|
|
140
|
-
LEFT: 'left-start',
|
|
141
|
-
LEFTEND: 'left-end'
|
|
142
|
-
};
|
|
77
|
+
var CLASS_NAME_DISABLED = 'disabled';
|
|
78
|
+
var CLASS_NAME_SHOW = 'show';
|
|
79
|
+
var CLASS_NAME_DROPUP = 'dropup';
|
|
80
|
+
var CLASS_NAME_DROPRIGHT = 'dropright';
|
|
81
|
+
var CLASS_NAME_DROPLEFT = 'dropleft';
|
|
82
|
+
var CLASS_NAME_MENURIGHT = 'dropdown-menu-right';
|
|
83
|
+
var CLASS_NAME_POSITION_STATIC = 'position-static';
|
|
84
|
+
var EVENT_HIDE = "hide" + EVENT_KEY;
|
|
85
|
+
var EVENT_HIDDEN = "hidden" + EVENT_KEY;
|
|
86
|
+
var EVENT_SHOW = "show" + EVENT_KEY;
|
|
87
|
+
var EVENT_SHOWN = "shown" + EVENT_KEY;
|
|
88
|
+
var EVENT_CLICK = "click" + EVENT_KEY;
|
|
89
|
+
var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
|
|
90
|
+
var EVENT_KEYDOWN_DATA_API = "keydown" + EVENT_KEY + DATA_API_KEY;
|
|
91
|
+
var EVENT_KEYUP_DATA_API = "keyup" + EVENT_KEY + DATA_API_KEY;
|
|
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';
|
|
143
103
|
var Default = {
|
|
144
104
|
offset: 0,
|
|
145
105
|
flip: true,
|
|
@@ -157,14 +117,10 @@
|
|
|
157
117
|
popperConfig: '(null|object)'
|
|
158
118
|
};
|
|
159
119
|
/**
|
|
160
|
-
*
|
|
161
|
-
* Class Definition
|
|
162
|
-
* ------------------------------------------------------------------------
|
|
120
|
+
* Class definition
|
|
163
121
|
*/
|
|
164
122
|
|
|
165
|
-
var Dropdown =
|
|
166
|
-
/*#__PURE__*/
|
|
167
|
-
function () {
|
|
123
|
+
var Dropdown = /*#__PURE__*/function () {
|
|
168
124
|
function Dropdown(element, config) {
|
|
169
125
|
this._element = element;
|
|
170
126
|
this._popper = null;
|
|
@@ -180,11 +136,11 @@
|
|
|
180
136
|
|
|
181
137
|
// Public
|
|
182
138
|
_proto.toggle = function toggle() {
|
|
183
|
-
if (this._element.disabled || $(this._element).hasClass(
|
|
139
|
+
if (this._element.disabled || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED)) {
|
|
184
140
|
return;
|
|
185
141
|
}
|
|
186
142
|
|
|
187
|
-
var isActive = $(this._menu).hasClass(
|
|
143
|
+
var isActive = $__default["default"](this._menu).hasClass(CLASS_NAME_SHOW);
|
|
188
144
|
|
|
189
145
|
Dropdown._clearMenus();
|
|
190
146
|
|
|
@@ -200,38 +156,35 @@
|
|
|
200
156
|
usePopper = false;
|
|
201
157
|
}
|
|
202
158
|
|
|
203
|
-
if (this._element.disabled || $(this._element).hasClass(
|
|
159
|
+
if (this._element.disabled || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED) || $__default["default"](this._menu).hasClass(CLASS_NAME_SHOW)) {
|
|
204
160
|
return;
|
|
205
161
|
}
|
|
206
162
|
|
|
207
163
|
var relatedTarget = {
|
|
208
164
|
relatedTarget: this._element
|
|
209
165
|
};
|
|
210
|
-
var showEvent =
|
|
166
|
+
var showEvent = $__default["default"].Event(EVENT_SHOW, relatedTarget);
|
|
211
167
|
|
|
212
168
|
var parent = Dropdown._getParentFromElement(this._element);
|
|
213
169
|
|
|
214
|
-
$(parent).trigger(showEvent);
|
|
170
|
+
$__default["default"](parent).trigger(showEvent);
|
|
215
171
|
|
|
216
172
|
if (showEvent.isDefaultPrevented()) {
|
|
217
173
|
return;
|
|
218
|
-
} //
|
|
174
|
+
} // Totally disable Popper for Dropdowns in Navbar
|
|
219
175
|
|
|
220
176
|
|
|
221
177
|
if (!this._inNavbar && usePopper) {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
*/
|
|
226
|
-
if (typeof Popper === 'undefined') {
|
|
227
|
-
throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org/)');
|
|
178
|
+
// Check for Popper dependency
|
|
179
|
+
if (typeof Popper__default["default"] === 'undefined') {
|
|
180
|
+
throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)');
|
|
228
181
|
}
|
|
229
182
|
|
|
230
183
|
var referenceElement = this._element;
|
|
231
184
|
|
|
232
185
|
if (this._config.reference === 'parent') {
|
|
233
186
|
referenceElement = parent;
|
|
234
|
-
} else if (
|
|
187
|
+
} else if (Util__default["default"].isElement(this._config.reference)) {
|
|
235
188
|
referenceElement = this._config.reference; // Check if it's jQuery element
|
|
236
189
|
|
|
237
190
|
if (typeof this._config.reference.jquery !== 'undefined') {
|
|
@@ -243,41 +196,41 @@
|
|
|
243
196
|
|
|
244
197
|
|
|
245
198
|
if (this._config.boundary !== 'scrollParent') {
|
|
246
|
-
$(parent).addClass(
|
|
199
|
+
$__default["default"](parent).addClass(CLASS_NAME_POSITION_STATIC);
|
|
247
200
|
}
|
|
248
201
|
|
|
249
|
-
this._popper = new
|
|
202
|
+
this._popper = new Popper__default["default"](referenceElement, this._menu, this._getPopperConfig());
|
|
250
203
|
} // If this is a touch-enabled device we add extra
|
|
251
204
|
// empty mouseover listeners to the body's immediate children;
|
|
252
205
|
// only needed because of broken event delegation on iOS
|
|
253
206
|
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
|
|
254
207
|
|
|
255
208
|
|
|
256
|
-
if ('ontouchstart' in document.documentElement && $(parent).closest(
|
|
257
|
-
$(document.body).children().on('mouseover', null,
|
|
209
|
+
if ('ontouchstart' in document.documentElement && $__default["default"](parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {
|
|
210
|
+
$__default["default"](document.body).children().on('mouseover', null, $__default["default"].noop);
|
|
258
211
|
}
|
|
259
212
|
|
|
260
213
|
this._element.focus();
|
|
261
214
|
|
|
262
215
|
this._element.setAttribute('aria-expanded', true);
|
|
263
216
|
|
|
264
|
-
$(this._menu).toggleClass(
|
|
265
|
-
$(parent).toggleClass(
|
|
217
|
+
$__default["default"](this._menu).toggleClass(CLASS_NAME_SHOW);
|
|
218
|
+
$__default["default"](parent).toggleClass(CLASS_NAME_SHOW).trigger($__default["default"].Event(EVENT_SHOWN, relatedTarget));
|
|
266
219
|
};
|
|
267
220
|
|
|
268
221
|
_proto.hide = function hide() {
|
|
269
|
-
if (this._element.disabled || $(this._element).hasClass(
|
|
222
|
+
if (this._element.disabled || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED) || !$__default["default"](this._menu).hasClass(CLASS_NAME_SHOW)) {
|
|
270
223
|
return;
|
|
271
224
|
}
|
|
272
225
|
|
|
273
226
|
var relatedTarget = {
|
|
274
227
|
relatedTarget: this._element
|
|
275
228
|
};
|
|
276
|
-
var hideEvent =
|
|
229
|
+
var hideEvent = $__default["default"].Event(EVENT_HIDE, relatedTarget);
|
|
277
230
|
|
|
278
231
|
var parent = Dropdown._getParentFromElement(this._element);
|
|
279
232
|
|
|
280
|
-
$(parent).trigger(hideEvent);
|
|
233
|
+
$__default["default"](parent).trigger(hideEvent);
|
|
281
234
|
|
|
282
235
|
if (hideEvent.isDefaultPrevented()) {
|
|
283
236
|
return;
|
|
@@ -287,13 +240,13 @@
|
|
|
287
240
|
this._popper.destroy();
|
|
288
241
|
}
|
|
289
242
|
|
|
290
|
-
$(this._menu).toggleClass(
|
|
291
|
-
$(parent).toggleClass(
|
|
243
|
+
$__default["default"](this._menu).toggleClass(CLASS_NAME_SHOW);
|
|
244
|
+
$__default["default"](parent).toggleClass(CLASS_NAME_SHOW).trigger($__default["default"].Event(EVENT_HIDDEN, relatedTarget));
|
|
292
245
|
};
|
|
293
246
|
|
|
294
247
|
_proto.dispose = function dispose() {
|
|
295
|
-
|
|
296
|
-
$(this._element).off(EVENT_KEY);
|
|
248
|
+
$__default["default"].removeData(this._element, DATA_KEY);
|
|
249
|
+
$__default["default"](this._element).off(EVENT_KEY);
|
|
297
250
|
this._element = null;
|
|
298
251
|
this._menu = null;
|
|
299
252
|
|
|
@@ -316,7 +269,7 @@
|
|
|
316
269
|
_proto._addEventListeners = function _addEventListeners() {
|
|
317
270
|
var _this = this;
|
|
318
271
|
|
|
319
|
-
$(this._element).on(
|
|
272
|
+
$__default["default"](this._element).on(EVENT_CLICK, function (event) {
|
|
320
273
|
event.preventDefault();
|
|
321
274
|
event.stopPropagation();
|
|
322
275
|
|
|
@@ -325,8 +278,8 @@
|
|
|
325
278
|
};
|
|
326
279
|
|
|
327
280
|
_proto._getConfig = function _getConfig(config) {
|
|
328
|
-
config =
|
|
329
|
-
|
|
281
|
+
config = _extends({}, this.constructor.Default, $__default["default"](this._element).data(), config);
|
|
282
|
+
Util__default["default"].typeCheckConfig(NAME, config, this.constructor.DefaultType);
|
|
330
283
|
return config;
|
|
331
284
|
};
|
|
332
285
|
|
|
@@ -335,7 +288,7 @@
|
|
|
335
288
|
var parent = Dropdown._getParentFromElement(this._element);
|
|
336
289
|
|
|
337
290
|
if (parent) {
|
|
338
|
-
this._menu = parent.querySelector(
|
|
291
|
+
this._menu = parent.querySelector(SELECTOR_MENU);
|
|
339
292
|
}
|
|
340
293
|
}
|
|
341
294
|
|
|
@@ -343,28 +296,24 @@
|
|
|
343
296
|
};
|
|
344
297
|
|
|
345
298
|
_proto._getPlacement = function _getPlacement() {
|
|
346
|
-
var $parentDropdown = $(this._element.parentNode);
|
|
347
|
-
var placement =
|
|
348
|
-
|
|
349
|
-
if ($parentDropdown.hasClass(
|
|
350
|
-
placement =
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
} else if ($
|
|
356
|
-
placement =
|
|
357
|
-
} else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {
|
|
358
|
-
placement = AttachmentMap.LEFT;
|
|
359
|
-
} else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
|
|
360
|
-
placement = AttachmentMap.BOTTOMEND;
|
|
299
|
+
var $parentDropdown = $__default["default"](this._element.parentNode);
|
|
300
|
+
var placement = PLACEMENT_BOTTOM; // Handle dropup
|
|
301
|
+
|
|
302
|
+
if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {
|
|
303
|
+
placement = $__default["default"](this._menu).hasClass(CLASS_NAME_MENURIGHT) ? PLACEMENT_TOPEND : PLACEMENT_TOP;
|
|
304
|
+
} else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {
|
|
305
|
+
placement = PLACEMENT_RIGHT;
|
|
306
|
+
} else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {
|
|
307
|
+
placement = PLACEMENT_LEFT;
|
|
308
|
+
} else if ($__default["default"](this._menu).hasClass(CLASS_NAME_MENURIGHT)) {
|
|
309
|
+
placement = PLACEMENT_BOTTOMEND;
|
|
361
310
|
}
|
|
362
311
|
|
|
363
312
|
return placement;
|
|
364
313
|
};
|
|
365
314
|
|
|
366
315
|
_proto._detectNavbar = function _detectNavbar() {
|
|
367
|
-
return $(this._element).closest('.navbar').length > 0;
|
|
316
|
+
return $__default["default"](this._element).closest('.navbar').length > 0;
|
|
368
317
|
};
|
|
369
318
|
|
|
370
319
|
_proto._getOffset = function _getOffset() {
|
|
@@ -374,7 +323,7 @@
|
|
|
374
323
|
|
|
375
324
|
if (typeof this._config.offset === 'function') {
|
|
376
325
|
offset.fn = function (data) {
|
|
377
|
-
data.offsets =
|
|
326
|
+
data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets, _this2._element));
|
|
378
327
|
return data;
|
|
379
328
|
};
|
|
380
329
|
} else {
|
|
@@ -396,7 +345,7 @@
|
|
|
396
345
|
boundariesElement: this._config.boundary
|
|
397
346
|
}
|
|
398
347
|
}
|
|
399
|
-
}; // Disable Popper
|
|
348
|
+
}; // Disable Popper if we have a static display
|
|
400
349
|
|
|
401
350
|
if (this._config.display === 'static') {
|
|
402
351
|
popperConfig.modifiers.applyStyle = {
|
|
@@ -404,19 +353,19 @@
|
|
|
404
353
|
};
|
|
405
354
|
}
|
|
406
355
|
|
|
407
|
-
return
|
|
356
|
+
return _extends({}, popperConfig, this._config.popperConfig);
|
|
408
357
|
} // Static
|
|
409
358
|
;
|
|
410
359
|
|
|
411
360
|
Dropdown._jQueryInterface = function _jQueryInterface(config) {
|
|
412
361
|
return this.each(function () {
|
|
413
|
-
var data = $(this).data(DATA_KEY);
|
|
362
|
+
var data = $__default["default"](this).data(DATA_KEY);
|
|
414
363
|
|
|
415
364
|
var _config = typeof config === 'object' ? config : null;
|
|
416
365
|
|
|
417
366
|
if (!data) {
|
|
418
367
|
data = new Dropdown(this, _config);
|
|
419
|
-
$(this).data(DATA_KEY, data);
|
|
368
|
+
$__default["default"](this).data(DATA_KEY, data);
|
|
420
369
|
}
|
|
421
370
|
|
|
422
371
|
if (typeof config === 'string') {
|
|
@@ -434,12 +383,12 @@
|
|
|
434
383
|
return;
|
|
435
384
|
}
|
|
436
385
|
|
|
437
|
-
var toggles = [].slice.call(document.querySelectorAll(
|
|
386
|
+
var toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));
|
|
438
387
|
|
|
439
388
|
for (var i = 0, len = toggles.length; i < len; i++) {
|
|
440
389
|
var parent = Dropdown._getParentFromElement(toggles[i]);
|
|
441
390
|
|
|
442
|
-
var context = $(toggles[i]).data(DATA_KEY);
|
|
391
|
+
var context = $__default["default"](toggles[i]).data(DATA_KEY);
|
|
443
392
|
var relatedTarget = {
|
|
444
393
|
relatedTarget: toggles[i]
|
|
445
394
|
};
|
|
@@ -454,16 +403,16 @@
|
|
|
454
403
|
|
|
455
404
|
var dropdownMenu = context._menu;
|
|
456
405
|
|
|
457
|
-
if (!$(parent).hasClass(
|
|
406
|
+
if (!$__default["default"](parent).hasClass(CLASS_NAME_SHOW)) {
|
|
458
407
|
continue;
|
|
459
408
|
}
|
|
460
409
|
|
|
461
|
-
if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&
|
|
410
|
+
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)) {
|
|
462
411
|
continue;
|
|
463
412
|
}
|
|
464
413
|
|
|
465
|
-
var hideEvent =
|
|
466
|
-
$(parent).trigger(hideEvent);
|
|
414
|
+
var hideEvent = $__default["default"].Event(EVENT_HIDE, relatedTarget);
|
|
415
|
+
$__default["default"](parent).trigger(hideEvent);
|
|
467
416
|
|
|
468
417
|
if (hideEvent.isDefaultPrevented()) {
|
|
469
418
|
continue;
|
|
@@ -472,7 +421,7 @@
|
|
|
472
421
|
|
|
473
422
|
|
|
474
423
|
if ('ontouchstart' in document.documentElement) {
|
|
475
|
-
$(document.body).children().off('mouseover', null,
|
|
424
|
+
$__default["default"](document.body).children().off('mouseover', null, $__default["default"].noop);
|
|
476
425
|
}
|
|
477
426
|
|
|
478
427
|
toggles[i].setAttribute('aria-expanded', 'false');
|
|
@@ -481,14 +430,14 @@
|
|
|
481
430
|
context._popper.destroy();
|
|
482
431
|
}
|
|
483
432
|
|
|
484
|
-
$(dropdownMenu).removeClass(
|
|
485
|
-
$(parent).removeClass(
|
|
433
|
+
$__default["default"](dropdownMenu).removeClass(CLASS_NAME_SHOW);
|
|
434
|
+
$__default["default"](parent).removeClass(CLASS_NAME_SHOW).trigger($__default["default"].Event(EVENT_HIDDEN, relatedTarget));
|
|
486
435
|
}
|
|
487
436
|
};
|
|
488
437
|
|
|
489
438
|
Dropdown._getParentFromElement = function _getParentFromElement(element) {
|
|
490
439
|
var parent;
|
|
491
|
-
var selector =
|
|
440
|
+
var selector = Util__default["default"].getSelectorFromElement(element);
|
|
492
441
|
|
|
493
442
|
if (selector) {
|
|
494
443
|
parent = document.querySelector(selector);
|
|
@@ -506,37 +455,36 @@
|
|
|
506
455
|
// - If key is other than escape
|
|
507
456
|
// - If key is not up or down => not a dropdown command
|
|
508
457
|
// - If trigger inside the menu => not a dropdown command
|
|
509
|
-
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(
|
|
458
|
+
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)) {
|
|
510
459
|
return;
|
|
511
460
|
}
|
|
512
461
|
|
|
513
|
-
|
|
514
|
-
event.stopPropagation();
|
|
515
|
-
|
|
516
|
-
if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
|
|
462
|
+
if (this.disabled || $__default["default"](this).hasClass(CLASS_NAME_DISABLED)) {
|
|
517
463
|
return;
|
|
518
464
|
}
|
|
519
465
|
|
|
520
466
|
var parent = Dropdown._getParentFromElement(this);
|
|
521
467
|
|
|
522
|
-
var isActive = $(parent).hasClass(
|
|
468
|
+
var isActive = $__default["default"](parent).hasClass(CLASS_NAME_SHOW);
|
|
523
469
|
|
|
524
470
|
if (!isActive && event.which === ESCAPE_KEYCODE) {
|
|
525
471
|
return;
|
|
526
472
|
}
|
|
527
473
|
|
|
528
|
-
|
|
474
|
+
event.preventDefault();
|
|
475
|
+
event.stopPropagation();
|
|
476
|
+
|
|
477
|
+
if (!isActive || event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE) {
|
|
529
478
|
if (event.which === ESCAPE_KEYCODE) {
|
|
530
|
-
|
|
531
|
-
$(toggle).trigger('focus');
|
|
479
|
+
$__default["default"](parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus');
|
|
532
480
|
}
|
|
533
481
|
|
|
534
|
-
$(this).trigger('click');
|
|
482
|
+
$__default["default"](this).trigger('click');
|
|
535
483
|
return;
|
|
536
484
|
}
|
|
537
485
|
|
|
538
|
-
var items = [].slice.call(parent.querySelectorAll(
|
|
539
|
-
return $(item).is(':visible');
|
|
486
|
+
var items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS)).filter(function (item) {
|
|
487
|
+
return $__default["default"](item).is(':visible');
|
|
540
488
|
});
|
|
541
489
|
|
|
542
490
|
if (items.length === 0) {
|
|
@@ -582,34 +530,30 @@
|
|
|
582
530
|
return Dropdown;
|
|
583
531
|
}();
|
|
584
532
|
/**
|
|
585
|
-
*
|
|
586
|
-
* Data Api implementation
|
|
587
|
-
* ------------------------------------------------------------------------
|
|
533
|
+
* Data API implementation
|
|
588
534
|
*/
|
|
589
535
|
|
|
590
536
|
|
|
591
|
-
$(document).on(
|
|
537
|
+
$__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) {
|
|
592
538
|
event.preventDefault();
|
|
593
539
|
event.stopPropagation();
|
|
594
540
|
|
|
595
|
-
Dropdown._jQueryInterface.call($(this), 'toggle');
|
|
596
|
-
}).on(
|
|
541
|
+
Dropdown._jQueryInterface.call($__default["default"](this), 'toggle');
|
|
542
|
+
}).on(EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, function (e) {
|
|
597
543
|
e.stopPropagation();
|
|
598
544
|
});
|
|
599
545
|
/**
|
|
600
|
-
* ------------------------------------------------------------------------
|
|
601
546
|
* jQuery
|
|
602
|
-
* ------------------------------------------------------------------------
|
|
603
547
|
*/
|
|
604
548
|
|
|
605
|
-
|
|
606
|
-
|
|
549
|
+
$__default["default"].fn[NAME] = Dropdown._jQueryInterface;
|
|
550
|
+
$__default["default"].fn[NAME].Constructor = Dropdown;
|
|
607
551
|
|
|
608
|
-
|
|
609
|
-
|
|
552
|
+
$__default["default"].fn[NAME].noConflict = function () {
|
|
553
|
+
$__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
|
|
610
554
|
return Dropdown._jQueryInterface;
|
|
611
555
|
};
|
|
612
556
|
|
|
613
557
|
return Dropdown;
|
|
614
558
|
|
|
615
|
-
}))
|
|
559
|
+
}));
|