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.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +11 -1
  3. data/CHANGELOG.md +4 -0
  4. data/README.md +7 -1
  5. data/Rakefile +16 -4
  6. data/assets/javascripts/bootstrap/alert.js +42 -53
  7. data/assets/javascripts/bootstrap/button.js +76 -81
  8. data/assets/javascripts/bootstrap/carousel.js +161 -199
  9. data/assets/javascripts/bootstrap/collapse.js +97 -142
  10. data/assets/javascripts/bootstrap/dropdown.js +130 -186
  11. data/assets/javascripts/bootstrap/modal.js +191 -213
  12. data/assets/javascripts/bootstrap/popover.js +62 -92
  13. data/assets/javascripts/bootstrap/scrollspy.js +81 -132
  14. data/assets/javascripts/bootstrap/tab.js +78 -83
  15. data/assets/javascripts/bootstrap/toast.js +83 -118
  16. data/assets/javascripts/bootstrap/tooltip.js +158 -198
  17. data/assets/javascripts/bootstrap/util.js +27 -26
  18. data/assets/javascripts/bootstrap-sprockets.js +7 -7
  19. data/assets/javascripts/bootstrap.js +1037 -1202
  20. data/assets/javascripts/bootstrap.min.js +4 -4
  21. data/assets/stylesheets/_bootstrap-grid.scss +5 -4
  22. data/assets/stylesheets/_bootstrap-reboot.scss +4 -4
  23. data/assets/stylesheets/_bootstrap.scss +4 -4
  24. data/assets/stylesheets/bootstrap/_alert.scss +1 -0
  25. data/assets/stylesheets/bootstrap/_breadcrumb.scss +1 -1
  26. data/assets/stylesheets/bootstrap/_buttons.scss +10 -7
  27. data/assets/stylesheets/bootstrap/_card.scss +30 -22
  28. data/assets/stylesheets/bootstrap/_carousel.scss +6 -3
  29. data/assets/stylesheets/bootstrap/_close.scss +0 -1
  30. data/assets/stylesheets/bootstrap/_custom-forms.scss +23 -18
  31. data/assets/stylesheets/bootstrap/_dropdown.scss +4 -3
  32. data/assets/stylesheets/bootstrap/_forms.scss +19 -10
  33. data/assets/stylesheets/bootstrap/_functions.scss +62 -6
  34. data/assets/stylesheets/bootstrap/_grid.scss +10 -6
  35. data/assets/stylesheets/bootstrap/_images.scss +1 -1
  36. data/assets/stylesheets/bootstrap/_input-group.scss +24 -4
  37. data/assets/stylesheets/bootstrap/_jumbotron.scss +1 -1
  38. data/assets/stylesheets/bootstrap/_list-group.scss +10 -14
  39. data/assets/stylesheets/bootstrap/_modal.scss +4 -3
  40. data/assets/stylesheets/bootstrap/_nav.scss +9 -4
  41. data/assets/stylesheets/bootstrap/_navbar.scss +10 -2
  42. data/assets/stylesheets/bootstrap/_pagination.scss +3 -2
  43. data/assets/stylesheets/bootstrap/_popover.scss +9 -9
  44. data/assets/stylesheets/bootstrap/_print.scss +0 -9
  45. data/assets/stylesheets/bootstrap/_progress.scss +2 -1
  46. data/assets/stylesheets/bootstrap/_reboot.scss +27 -25
  47. data/assets/stylesheets/bootstrap/_root.scss +0 -1
  48. data/assets/stylesheets/bootstrap/_spinners.scss +18 -8
  49. data/assets/stylesheets/bootstrap/_toasts.scss +4 -2
  50. data/assets/stylesheets/bootstrap/_tooltip.scss +4 -4
  51. data/assets/stylesheets/bootstrap/_transitions.scss +6 -0
  52. data/assets/stylesheets/bootstrap/_type.scss +1 -1
  53. data/assets/stylesheets/bootstrap/_utilities.scss +2 -1
  54. data/assets/stylesheets/bootstrap/_variables.scss +34 -28
  55. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +2 -1
  56. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +27 -14
  57. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +6 -6
  58. data/assets/stylesheets/bootstrap/mixins/_forms.scss +23 -5
  59. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +26 -17
  60. data/assets/stylesheets/bootstrap/mixins/_grid.scss +17 -17
  61. data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -1
  62. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +1 -1
  63. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +2 -2
  64. data/assets/stylesheets/bootstrap/mixins/_transition.scss +18 -8
  65. data/assets/stylesheets/bootstrap/utilities/_background.scss +1 -1
  66. data/assets/stylesheets/bootstrap/utilities/_borders.scss +1 -1
  67. data/assets/stylesheets/bootstrap/utilities/_embed.scss +1 -1
  68. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +5 -0
  69. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +1 -1
  70. data/assets/stylesheets/bootstrap/utilities/_text.scss +2 -2
  71. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +126 -102
  72. data/bootstrap.gemspec +1 -3
  73. data/lib/bootstrap/engine.rb +17 -1
  74. data/lib/bootstrap/version.rb +2 -2
  75. data/tasks/updater/js.rb +18 -6
  76. data/tasks/updater/network.rb +8 -2
  77. data/test/gemfiles/rails_6_0.gemfile +7 -0
  78. data/test/gemfiles/rails_7_0_dartsass.gemfile +8 -0
  79. data/test/gemfiles/rails_7_0_sassc.gemfile +8 -0
  80. metadata +12 -19
@@ -1,17 +1,19 @@
1
1
  /*!
2
- * Bootstrap dropdown.js v4.4.1 (https://getbootstrap.com/)
3
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
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.js'], factory) :
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
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
- Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;
14
- Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
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 _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 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
- if (Object.getOwnPropertySymbols) {
51
- var symbols = Object.getOwnPropertySymbols(object);
52
- if (enumerableOnly) symbols = symbols.filter(function (sym) {
53
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
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
- return target;
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.4.1';
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 = $.fn[NAME];
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 Event = {
107
- HIDE: "hide" + EVENT_KEY,
108
- HIDDEN: "hidden" + EVENT_KEY,
109
- SHOW: "show" + EVENT_KEY,
110
- SHOWN: "shown" + EVENT_KEY,
111
- CLICK: "click" + EVENT_KEY,
112
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
113
- KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY,
114
- KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY
115
- };
116
- var ClassName = {
117
- DISABLED: 'disabled',
118
- SHOW: 'show',
119
- DROPUP: 'dropup',
120
- DROPRIGHT: 'dropright',
121
- DROPLEFT: 'dropleft',
122
- MENURIGHT: 'dropdown-menu-right',
123
- MENULEFT: 'dropdown-menu-left',
124
- POSITION_STATIC: 'position-static'
125
- };
126
- var Selector = {
127
- DATA_TOGGLE: '[data-toggle="dropdown"]',
128
- FORM_CHILD: '.dropdown form',
129
- MENU: '.dropdown-menu',
130
- NAVBAR_NAV: '.navbar-nav',
131
- VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
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(ClassName.DISABLED)) {
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(ClassName.SHOW);
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(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {
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 = $.Event(Event.SHOW, relatedTarget);
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
- } // Disable totally Popper.js for Dropdown in Navbar
174
+ } // Totally disable Popper for Dropdowns in Navbar
219
175
 
220
176
 
221
177
  if (!this._inNavbar && usePopper) {
222
- /**
223
- * Check for Popper dependency
224
- * Popper - https://popper.js.org
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 (Util.isElement(this._config.reference)) {
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(ClassName.POSITION_STATIC);
199
+ $__default["default"](parent).addClass(CLASS_NAME_POSITION_STATIC);
247
200
  }
248
201
 
249
- this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
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(Selector.NAVBAR_NAV).length === 0) {
257
- $(document.body).children().on('mouseover', null, $.noop);
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(ClassName.SHOW);
265
- $(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.SHOWN, relatedTarget));
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(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {
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 = $.Event(Event.HIDE, relatedTarget);
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(ClassName.SHOW);
291
- $(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
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
- $.removeData(this._element, DATA_KEY);
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(Event.CLICK, function (event) {
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 = _objectSpread2({}, this.constructor.Default, {}, $(this._element).data(), {}, config);
329
- Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
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(Selector.MENU);
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 = AttachmentMap.BOTTOM; // Handle dropup
348
-
349
- if ($parentDropdown.hasClass(ClassName.DROPUP)) {
350
- placement = AttachmentMap.TOP;
351
-
352
- if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
353
- placement = AttachmentMap.TOPEND;
354
- }
355
- } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {
356
- placement = AttachmentMap.RIGHT;
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 = _objectSpread2({}, data.offsets, {}, _this2._config.offset(data.offsets, _this2._element) || {});
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.js if we have a static display
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 _objectSpread2({}, popperConfig, {}, this._config.popperConfig);
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(Selector.DATA_TOGGLE));
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(ClassName.SHOW)) {
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) && $.contains(parent, event.target)) {
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 = $.Event(Event.HIDE, relatedTarget);
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, $.noop);
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(ClassName.SHOW);
485
- $(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
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 = Util.getSelectorFromElement(element);
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(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
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
- event.preventDefault();
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(ClassName.SHOW);
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
- if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
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
- var toggle = parent.querySelector(Selector.DATA_TOGGLE);
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(Selector.VISIBLE_ITEMS)).filter(function (item) {
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(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) {
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(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
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
- $.fn[NAME] = Dropdown._jQueryInterface;
606
- $.fn[NAME].Constructor = Dropdown;
549
+ $__default["default"].fn[NAME] = Dropdown._jQueryInterface;
550
+ $__default["default"].fn[NAME].Constructor = Dropdown;
607
551
 
608
- $.fn[NAME].noConflict = function () {
609
- $.fn[NAME] = JQUERY_NO_CONFLICT;
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
+ }));