bootstrap 4.6.2 → 5.0.0.alpha1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/assets/javascripts/bootstrap/alert.js +148 -73
  4. data/assets/javascripts/bootstrap/button.js +71 -154
  5. data/assets/javascripts/bootstrap/carousel.js +315 -209
  6. data/assets/javascripts/bootstrap/collapse.js +307 -153
  7. data/assets/javascripts/bootstrap/dom/data.js +81 -0
  8. data/assets/javascripts/bootstrap/dom/event-handler.js +311 -0
  9. data/assets/javascripts/bootstrap/dom/manipulator.js +100 -0
  10. data/assets/javascripts/bootstrap/dom/polyfill.js +110 -0
  11. data/assets/javascripts/bootstrap/dom/selector-engine.js +98 -0
  12. data/assets/javascripts/bootstrap/dropdown.js +257 -205
  13. data/assets/javascripts/bootstrap/modal.js +354 -250
  14. data/assets/javascripts/bootstrap/popover.js +85 -94
  15. data/assets/javascripts/bootstrap/scrollspy.js +179 -107
  16. data/assets/javascripts/bootstrap/tab.js +170 -99
  17. data/assets/javascripts/bootstrap/toast.js +181 -110
  18. data/assets/javascripts/bootstrap/tooltip.js +375 -226
  19. data/assets/javascripts/bootstrap-sprockets.js +5 -1
  20. data/assets/javascripts/bootstrap.js +2260 -1550
  21. data/assets/javascripts/bootstrap.min.js +3 -3
  22. data/assets/stylesheets/_bootstrap-grid.scss +53 -18
  23. data/assets/stylesheets/_bootstrap-reboot.scss +6 -3
  24. data/assets/stylesheets/_bootstrap.scss +16 -10
  25. data/assets/stylesheets/bootstrap/_alert.scss +3 -4
  26. data/assets/stylesheets/bootstrap/_badge.scss +2 -27
  27. data/assets/stylesheets/bootstrap/_breadcrumb.scss +5 -17
  28. data/assets/stylesheets/bootstrap/_button-group.scss +16 -38
  29. data/assets/stylesheets/bootstrap/_buttons.scss +27 -45
  30. data/assets/stylesheets/bootstrap/_card.scss +22 -68
  31. data/assets/stylesheets/bootstrap/_carousel.scss +15 -20
  32. data/assets/stylesheets/bootstrap/_close.scss +9 -13
  33. data/assets/stylesheets/bootstrap/_containers.scss +41 -0
  34. data/assets/stylesheets/bootstrap/_dropdown.scss +12 -9
  35. data/assets/stylesheets/bootstrap/_forms.scss +9 -347
  36. data/assets/stylesheets/bootstrap/_functions.scss +82 -69
  37. data/assets/stylesheets/bootstrap/_grid.scss +3 -54
  38. data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
  39. data/assets/stylesheets/bootstrap/_images.scss +1 -1
  40. data/assets/stylesheets/bootstrap/_list-group.scss +7 -4
  41. data/assets/stylesheets/bootstrap/_mixins.scss +6 -12
  42. data/assets/stylesheets/bootstrap/_modal.scss +36 -41
  43. data/assets/stylesheets/bootstrap/_nav.scss +7 -9
  44. data/assets/stylesheets/bootstrap/_navbar.scss +42 -82
  45. data/assets/stylesheets/bootstrap/_pagination.scss +7 -20
  46. data/assets/stylesheets/bootstrap/_popover.scss +14 -14
  47. data/assets/stylesheets/bootstrap/_progress.scss +3 -5
  48. data/assets/stylesheets/bootstrap/_reboot.scss +304 -172
  49. data/assets/stylesheets/bootstrap/_root.scss +5 -8
  50. data/assets/stylesheets/bootstrap/_spinners.scss +8 -17
  51. data/assets/stylesheets/bootstrap/_tables.scss +80 -114
  52. data/assets/stylesheets/bootstrap/_toasts.scss +2 -4
  53. data/assets/stylesheets/bootstrap/_tooltip.scss +9 -9
  54. data/assets/stylesheets/bootstrap/_transitions.scss +0 -7
  55. data/assets/stylesheets/bootstrap/_type.scss +38 -59
  56. data/assets/stylesheets/bootstrap/_utilities.scss +503 -18
  57. data/assets/stylesheets/bootstrap/_variables.scss +548 -437
  58. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
  59. data/assets/stylesheets/bootstrap/forms/_form-check.scss +142 -0
  60. data/assets/stylesheets/bootstrap/forms/_form-control.scss +116 -0
  61. data/assets/stylesheets/bootstrap/forms/_form-file.scss +91 -0
  62. data/assets/stylesheets/bootstrap/forms/_form-range.scss +136 -0
  63. data/assets/stylesheets/bootstrap/forms/_form-select.scss +82 -0
  64. data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
  65. data/assets/stylesheets/bootstrap/forms/_input-group.scss +140 -0
  66. data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
  67. data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
  68. data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
  69. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
  70. data/assets/stylesheets/bootstrap/helpers/_embed.scss +31 -0
  71. data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
  72. data/assets/stylesheets/bootstrap/helpers/_screenreaders.scss +8 -0
  73. data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
  74. data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
  75. data/assets/stylesheets/bootstrap/mixins/_alert.scss +0 -4
  76. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +1 -1
  77. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +11 -8
  78. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +62 -47
  79. data/assets/stylesheets/bootstrap/mixins/_caret.scss +4 -4
  80. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
  81. data/assets/stylesheets/bootstrap/mixins/_container.scss +9 -0
  82. data/assets/stylesheets/bootstrap/mixins/_forms.scss +23 -85
  83. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +9 -11
  84. data/assets/stylesheets/bootstrap/mixins/_grid.scss +86 -34
  85. data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -21
  86. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +2 -1
  87. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  88. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +15 -8
  89. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +3 -3
  90. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +18 -24
  91. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
  92. data/assets/stylesheets/bootstrap/mixins/_transition.scss +2 -2
  93. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +49 -0
  94. data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
  95. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +214 -130
  96. data/bootstrap.gemspec +1 -1
  97. data/lib/bootstrap/version.rb +2 -2
  98. data/tasks/updater/js.rb +6 -18
  99. data/tasks/updater/network.rb +1 -7
  100. metadata +34 -42
  101. data/assets/javascripts/bootstrap/util.js +0 -189
  102. data/assets/stylesheets/bootstrap/_code.scss +0 -48
  103. data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -526
  104. data/assets/stylesheets/bootstrap/_input-group.scss +0 -211
  105. data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
  106. data/assets/stylesheets/bootstrap/_media.scss +0 -8
  107. data/assets/stylesheets/bootstrap/_print.scss +0 -132
  108. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -23
  109. data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
  110. data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
  111. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -80
  112. data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
  113. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -11
  114. data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
  115. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
  116. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -17
  117. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
  118. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
  119. data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
  120. data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
  121. data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
  122. data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
  123. data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
  124. data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
  125. data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
  126. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +0 -5
  127. data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
  128. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
  129. data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
  130. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
  131. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
  132. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
  133. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
  134. data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -72
  135. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
@@ -1,86 +1,124 @@
1
1
  /*!
2
- * Bootstrap dropdown.js v4.6.2 (https://getbootstrap.com/)
3
- * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap dropdown.js v5.0.0-alpha1 (https://getbootstrap.com/)
3
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
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'], 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
-
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);
17
-
18
- function _defineProperties(target, props) {
19
- for (var i = 0; i < props.length; i++) {
20
- var descriptor = props[i];
21
- descriptor.enumerable = descriptor.enumerable || false;
22
- descriptor.configurable = true;
23
- if ("value" in descriptor) descriptor.writable = true;
24
- Object.defineProperty(target, descriptor.key, descriptor);
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('popper.js'), require('./dom/selector-engine.js')) :
8
+ typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/manipulator.js', 'popper.js', './dom/selector-engine.js'], factory) :
9
+ (global = global || self, global.Dropdown = factory(global.Data, global.EventHandler, global.Manipulator, global.Popper, global.SelectorEngine));
10
+ }(this, (function (Data, EventHandler, Manipulator, Popper, SelectorEngine) { 'use strict';
11
+
12
+ Data = Data && Object.prototype.hasOwnProperty.call(Data, 'default') ? Data['default'] : Data;
13
+ EventHandler = EventHandler && Object.prototype.hasOwnProperty.call(EventHandler, 'default') ? EventHandler['default'] : EventHandler;
14
+ Manipulator = Manipulator && Object.prototype.hasOwnProperty.call(Manipulator, 'default') ? Manipulator['default'] : Manipulator;
15
+ Popper = Popper && Object.prototype.hasOwnProperty.call(Popper, 'default') ? Popper['default'] : Popper;
16
+ SelectorEngine = SelectorEngine && Object.prototype.hasOwnProperty.call(SelectorEngine, 'default') ? SelectorEngine['default'] : SelectorEngine;
17
+
18
+ /**
19
+ * --------------------------------------------------------------------------
20
+ * Bootstrap (v5.0.0-alpha1): util/index.js
21
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
22
+ * --------------------------------------------------------------------------
23
+ */
24
+
25
+ var toType = function toType(obj) {
26
+ if (obj === null || obj === undefined) {
27
+ return "" + obj;
25
28
  }
26
- }
27
29
 
28
- function _createClass(Constructor, protoProps, staticProps) {
29
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
30
- if (staticProps) _defineProperties(Constructor, staticProps);
31
- Object.defineProperty(Constructor, "prototype", {
32
- writable: false
33
- });
34
- return Constructor;
35
- }
30
+ return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
31
+ };
36
32
 
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];
33
+ var getSelector = function getSelector(element) {
34
+ var selector = element.getAttribute('data-target');
41
35
 
42
- for (var key in source) {
43
- if (Object.prototype.hasOwnProperty.call(source, key)) {
44
- target[key] = source[key];
45
- }
46
- }
36
+ if (!selector || selector === '#') {
37
+ var hrefAttr = element.getAttribute('href');
38
+ selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;
39
+ }
40
+
41
+ return selector;
42
+ };
43
+
44
+ var getElementFromSelector = function getElementFromSelector(element) {
45
+ var selector = getSelector(element);
46
+ return selector ? document.querySelector(selector) : null;
47
+ };
48
+
49
+ var isElement = function isElement(obj) {
50
+ return (obj[0] || obj).nodeType;
51
+ };
52
+
53
+ var typeCheckConfig = function typeCheckConfig(componentName, config, configTypes) {
54
+ Object.keys(configTypes).forEach(function (property) {
55
+ var expectedTypes = configTypes[property];
56
+ var value = config[property];
57
+ var valueType = value && isElement(value) ? 'element' : toType(value);
58
+
59
+ if (!new RegExp(expectedTypes).test(valueType)) {
60
+ throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
47
61
  }
62
+ });
63
+ };
48
64
 
49
- return target;
50
- };
51
- return _extends.apply(this, arguments);
52
- }
65
+ var isVisible = function isVisible(element) {
66
+ if (!element) {
67
+ return false;
68
+ }
69
+
70
+ if (element.style && element.parentNode && element.parentNode.style) {
71
+ var elementStyle = getComputedStyle(element);
72
+ var parentNodeStyle = getComputedStyle(element.parentNode);
73
+ return elementStyle.display !== 'none' && parentNodeStyle.display !== 'none' && elementStyle.visibility !== 'hidden';
74
+ }
75
+
76
+ return false;
77
+ };
78
+
79
+ var noop = function noop() {
80
+ return function () {};
81
+ };
82
+
83
+ var getjQuery = function getjQuery() {
84
+ var _window = window,
85
+ jQuery = _window.jQuery;
86
+
87
+ if (jQuery && !document.body.hasAttribute('data-no-jquery')) {
88
+ return jQuery;
89
+ }
90
+
91
+ return null;
92
+ };
93
+
94
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
95
+
96
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
97
+
98
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
53
99
 
100
+ 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); } }
101
+
102
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
54
103
  /**
104
+ * ------------------------------------------------------------------------
55
105
  * Constants
106
+ * ------------------------------------------------------------------------
56
107
  */
57
108
 
58
109
  var NAME = 'dropdown';
59
- var VERSION = '4.6.2';
110
+ var VERSION = '5.0.0-alpha1';
60
111
  var DATA_KEY = 'bs.dropdown';
61
112
  var EVENT_KEY = "." + DATA_KEY;
62
113
  var DATA_API_KEY = '.data-api';
63
- var JQUERY_NO_CONFLICT = $__default["default"].fn[NAME];
64
- var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
65
-
66
- var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
67
-
68
- var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
69
-
70
- var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
71
-
72
- var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
73
-
74
- var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
75
-
76
- var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
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';
114
+ var ESCAPE_KEY = 'Escape';
115
+ var SPACE_KEY = 'Space';
116
+ var TAB_KEY = 'Tab';
117
+ var ARROW_UP_KEY = 'ArrowUp';
118
+ var ARROW_DOWN_KEY = 'ArrowDown';
119
+ var RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
120
+
121
+ var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEY + "|" + ARROW_DOWN_KEY + "|" + ESCAPE_KEY);
84
122
  var EVENT_HIDE = "hide" + EVENT_KEY;
85
123
  var EVENT_HIDDEN = "hidden" + EVENT_KEY;
86
124
  var EVENT_SHOW = "show" + EVENT_KEY;
@@ -89,6 +127,14 @@
89
127
  var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
90
128
  var EVENT_KEYDOWN_DATA_API = "keydown" + EVENT_KEY + DATA_API_KEY;
91
129
  var EVENT_KEYUP_DATA_API = "keyup" + EVENT_KEY + DATA_API_KEY;
130
+ var CLASS_NAME_DISABLED = 'disabled';
131
+ var CLASS_NAME_SHOW = 'show';
132
+ var CLASS_NAME_DROPUP = 'dropup';
133
+ var CLASS_NAME_DROPRIGHT = 'dropright';
134
+ var CLASS_NAME_DROPLEFT = 'dropleft';
135
+ var CLASS_NAME_MENURIGHT = 'dropdown-menu-right';
136
+ var CLASS_NAME_NAVBAR = 'navbar';
137
+ var CLASS_NAME_POSITION_STATIC = 'position-static';
92
138
  var SELECTOR_DATA_TOGGLE = '[data-toggle="dropdown"]';
93
139
  var SELECTOR_FORM_CHILD = '.dropdown form';
94
140
  var SELECTOR_MENU = '.dropdown-menu';
@@ -117,7 +163,9 @@
117
163
  popperConfig: '(null|object)'
118
164
  };
119
165
  /**
120
- * Class definition
166
+ * ------------------------------------------------------------------------
167
+ * Class Definition
168
+ * ------------------------------------------------------------------------
121
169
  */
122
170
 
123
171
  var Dropdown = /*#__PURE__*/function () {
@@ -129,6 +177,8 @@
129
177
  this._inNavbar = this._detectNavbar();
130
178
 
131
179
  this._addEventListeners();
180
+
181
+ Data.setData(element, DATA_KEY, this);
132
182
  } // Getters
133
183
 
134
184
 
@@ -136,55 +186,47 @@
136
186
 
137
187
  // Public
138
188
  _proto.toggle = function toggle() {
139
- if (this._element.disabled || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED)) {
189
+ if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {
140
190
  return;
141
191
  }
142
192
 
143
- var isActive = $__default["default"](this._menu).hasClass(CLASS_NAME_SHOW);
193
+ var isActive = this._element.classList.contains(CLASS_NAME_SHOW);
144
194
 
145
- Dropdown._clearMenus();
195
+ Dropdown.clearMenus();
146
196
 
147
197
  if (isActive) {
148
198
  return;
149
199
  }
150
200
 
151
- this.show(true);
201
+ this.show();
152
202
  };
153
203
 
154
- _proto.show = function show(usePopper) {
155
- if (usePopper === void 0) {
156
- usePopper = false;
157
- }
158
-
159
- if (this._element.disabled || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED) || $__default["default"](this._menu).hasClass(CLASS_NAME_SHOW)) {
204
+ _proto.show = function show() {
205
+ if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW)) {
160
206
  return;
161
207
  }
162
208
 
209
+ var parent = Dropdown.getParentFromElement(this._element);
163
210
  var relatedTarget = {
164
211
  relatedTarget: this._element
165
212
  };
166
- var showEvent = $__default["default"].Event(EVENT_SHOW, relatedTarget);
213
+ var showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget);
167
214
 
168
- var parent = Dropdown._getParentFromElement(this._element);
169
-
170
- $__default["default"](parent).trigger(showEvent);
171
-
172
- if (showEvent.isDefaultPrevented()) {
215
+ if (showEvent.defaultPrevented) {
173
216
  return;
174
- } // Totally disable Popper for Dropdowns in Navbar
217
+ } // Disable totally Popper.js for Dropdown in Navbar
175
218
 
176
219
 
177
- if (!this._inNavbar && usePopper) {
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)');
220
+ if (!this._inNavbar) {
221
+ if (typeof Popper === 'undefined') {
222
+ throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org)');
181
223
  }
182
224
 
183
225
  var referenceElement = this._element;
184
226
 
185
227
  if (this._config.reference === 'parent') {
186
228
  referenceElement = parent;
187
- } else if (Util__default["default"].isElement(this._config.reference)) {
229
+ } else if (isElement(this._config.reference)) {
188
230
  referenceElement = this._config.reference; // Check if it's jQuery element
189
231
 
190
232
  if (typeof this._config.reference.jquery !== 'undefined') {
@@ -196,43 +238,45 @@
196
238
 
197
239
 
198
240
  if (this._config.boundary !== 'scrollParent') {
199
- $__default["default"](parent).addClass(CLASS_NAME_POSITION_STATIC);
241
+ parent.classList.add(CLASS_NAME_POSITION_STATIC);
200
242
  }
201
243
 
202
- this._popper = new Popper__default["default"](referenceElement, this._menu, this._getPopperConfig());
244
+ this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
203
245
  } // If this is a touch-enabled device we add extra
204
246
  // empty mouseover listeners to the body's immediate children;
205
247
  // only needed because of broken event delegation on iOS
206
248
  // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
207
249
 
208
250
 
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);
251
+ if ('ontouchstart' in document.documentElement && !parent.closest(SELECTOR_NAVBAR_NAV)) {
252
+ var _ref;
253
+
254
+ (_ref = []).concat.apply(_ref, document.body.children).forEach(function (elem) {
255
+ return EventHandler.on(elem, 'mouseover', null, noop());
256
+ });
211
257
  }
212
258
 
213
259
  this._element.focus();
214
260
 
215
261
  this._element.setAttribute('aria-expanded', true);
216
262
 
217
- $__default["default"](this._menu).toggleClass(CLASS_NAME_SHOW);
218
- $__default["default"](parent).toggleClass(CLASS_NAME_SHOW).trigger($__default["default"].Event(EVENT_SHOWN, relatedTarget));
263
+ Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW);
264
+ Manipulator.toggleClass(this._element, CLASS_NAME_SHOW);
265
+ EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget);
219
266
  };
220
267
 
221
268
  _proto.hide = function hide() {
222
- if (this._element.disabled || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED) || !$__default["default"](this._menu).hasClass(CLASS_NAME_SHOW)) {
269
+ if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {
223
270
  return;
224
271
  }
225
272
 
273
+ var parent = Dropdown.getParentFromElement(this._element);
226
274
  var relatedTarget = {
227
275
  relatedTarget: this._element
228
276
  };
229
- var hideEvent = $__default["default"].Event(EVENT_HIDE, relatedTarget);
230
-
231
- var parent = Dropdown._getParentFromElement(this._element);
277
+ var hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget);
232
278
 
233
- $__default["default"](parent).trigger(hideEvent);
234
-
235
- if (hideEvent.isDefaultPrevented()) {
279
+ if (hideEvent.defaultPrevented) {
236
280
  return;
237
281
  }
238
282
 
@@ -240,17 +284,18 @@
240
284
  this._popper.destroy();
241
285
  }
242
286
 
243
- $__default["default"](this._menu).toggleClass(CLASS_NAME_SHOW);
244
- $__default["default"](parent).toggleClass(CLASS_NAME_SHOW).trigger($__default["default"].Event(EVENT_HIDDEN, relatedTarget));
287
+ Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW);
288
+ Manipulator.toggleClass(this._element, CLASS_NAME_SHOW);
289
+ EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget);
245
290
  };
246
291
 
247
292
  _proto.dispose = function dispose() {
248
- $__default["default"].removeData(this._element, DATA_KEY);
249
- $__default["default"](this._element).off(EVENT_KEY);
293
+ Data.removeData(this._element, DATA_KEY);
294
+ EventHandler.off(this._element, EVENT_KEY);
250
295
  this._element = null;
251
296
  this._menu = null;
252
297
 
253
- if (this._popper !== null) {
298
+ if (this._popper) {
254
299
  this._popper.destroy();
255
300
 
256
301
  this._popper = null;
@@ -260,7 +305,7 @@
260
305
  _proto.update = function update() {
261
306
  this._inNavbar = this._detectNavbar();
262
307
 
263
- if (this._popper !== null) {
308
+ if (this._popper) {
264
309
  this._popper.scheduleUpdate();
265
310
  }
266
311
  } // Private
@@ -269,7 +314,7 @@
269
314
  _proto._addEventListeners = function _addEventListeners() {
270
315
  var _this = this;
271
316
 
272
- $__default["default"](this._element).on(EVENT_CLICK, function (event) {
317
+ EventHandler.on(this._element, EVENT_CLICK, function (event) {
273
318
  event.preventDefault();
274
319
  event.stopPropagation();
275
320
 
@@ -278,34 +323,30 @@
278
323
  };
279
324
 
280
325
  _proto._getConfig = function _getConfig(config) {
281
- config = _extends({}, this.constructor.Default, $__default["default"](this._element).data(), config);
282
- Util__default["default"].typeCheckConfig(NAME, config, this.constructor.DefaultType);
326
+ config = _objectSpread(_objectSpread(_objectSpread({}, this.constructor.Default), Manipulator.getDataAttributes(this._element)), config);
327
+ typeCheckConfig(NAME, config, this.constructor.DefaultType);
283
328
  return config;
284
329
  };
285
330
 
286
331
  _proto._getMenuElement = function _getMenuElement() {
287
- if (!this._menu) {
288
- var parent = Dropdown._getParentFromElement(this._element);
289
-
290
- if (parent) {
291
- this._menu = parent.querySelector(SELECTOR_MENU);
292
- }
293
- }
294
-
295
- return this._menu;
332
+ return SelectorEngine.next(this._element, SELECTOR_MENU)[0];
296
333
  };
297
334
 
298
335
  _proto._getPlacement = function _getPlacement() {
299
- var $parentDropdown = $__default["default"](this._element.parentNode);
336
+ var parentDropdown = this._element.parentNode;
300
337
  var placement = PLACEMENT_BOTTOM; // Handle dropup
301
338
 
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)) {
339
+ if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {
340
+ placement = PLACEMENT_TOP;
341
+
342
+ if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {
343
+ placement = PLACEMENT_TOPEND;
344
+ }
345
+ } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {
305
346
  placement = PLACEMENT_RIGHT;
306
- } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {
347
+ } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {
307
348
  placement = PLACEMENT_LEFT;
308
- } else if ($__default["default"](this._menu).hasClass(CLASS_NAME_MENURIGHT)) {
349
+ } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {
309
350
  placement = PLACEMENT_BOTTOMEND;
310
351
  }
311
352
 
@@ -313,7 +354,7 @@
313
354
  };
314
355
 
315
356
  _proto._detectNavbar = function _detectNavbar() {
316
- return $__default["default"](this._element).closest('.navbar').length > 0;
357
+ return Boolean(this._element.closest("." + CLASS_NAME_NAVBAR));
317
358
  };
318
359
 
319
360
  _proto._getOffset = function _getOffset() {
@@ -323,7 +364,7 @@
323
364
 
324
365
  if (typeof this._config.offset === 'function') {
325
366
  offset.fn = function (data) {
326
- data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets, _this2._element));
367
+ data.offsets = _objectSpread(_objectSpread({}, data.offsets), _this2._config.offset(data.offsets, _this2._element) || {});
327
368
  return data;
328
369
  };
329
370
  } else {
@@ -345,7 +386,7 @@
345
386
  boundariesElement: this._config.boundary
346
387
  }
347
388
  }
348
- }; // Disable Popper if we have a static display
389
+ }; // Disable Popper.js if we have a static display
349
390
 
350
391
  if (this._config.display === 'static') {
351
392
  popperConfig.modifiers.applyStyle = {
@@ -353,42 +394,44 @@
353
394
  };
354
395
  }
355
396
 
356
- return _extends({}, popperConfig, this._config.popperConfig);
397
+ return _objectSpread(_objectSpread({}, popperConfig), this._config.popperConfig);
357
398
  } // Static
358
399
  ;
359
400
 
360
- Dropdown._jQueryInterface = function _jQueryInterface(config) {
361
- return this.each(function () {
362
- var data = $__default["default"](this).data(DATA_KEY);
401
+ Dropdown.dropdownInterface = function dropdownInterface(element, config) {
402
+ var data = Data.getData(element, DATA_KEY);
363
403
 
364
- var _config = typeof config === 'object' ? config : null;
404
+ var _config = typeof config === 'object' ? config : null;
365
405
 
366
- if (!data) {
367
- data = new Dropdown(this, _config);
368
- $__default["default"](this).data(DATA_KEY, data);
406
+ if (!data) {
407
+ data = new Dropdown(element, _config);
408
+ }
409
+
410
+ if (typeof config === 'string') {
411
+ if (typeof data[config] === 'undefined') {
412
+ throw new TypeError("No method named \"" + config + "\"");
369
413
  }
370
414
 
371
- if (typeof config === 'string') {
372
- if (typeof data[config] === 'undefined') {
373
- throw new TypeError("No method named \"" + config + "\"");
374
- }
415
+ data[config]();
416
+ }
417
+ };
375
418
 
376
- data[config]();
377
- }
419
+ Dropdown.jQueryInterface = function jQueryInterface(config) {
420
+ return this.each(function () {
421
+ Dropdown.dropdownInterface(this, config);
378
422
  });
379
423
  };
380
424
 
381
- Dropdown._clearMenus = function _clearMenus(event) {
382
- if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
425
+ Dropdown.clearMenus = function clearMenus(event) {
426
+ if (event && (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY)) {
383
427
  return;
384
428
  }
385
429
 
386
- var toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));
430
+ var toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE);
387
431
 
388
432
  for (var i = 0, len = toggles.length; i < len; i++) {
389
- var parent = Dropdown._getParentFromElement(toggles[i]);
390
-
391
- var context = $__default["default"](toggles[i]).data(DATA_KEY);
433
+ var parent = Dropdown.getParentFromElement(toggles[i]);
434
+ var context = Data.getData(toggles[i], DATA_KEY);
392
435
  var relatedTarget = {
393
436
  relatedTarget: toggles[i]
394
437
  };
@@ -403,25 +446,28 @@
403
446
 
404
447
  var dropdownMenu = context._menu;
405
448
 
406
- if (!$__default["default"](parent).hasClass(CLASS_NAME_SHOW)) {
449
+ if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {
407
450
  continue;
408
451
  }
409
452
 
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)) {
453
+ if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.key === TAB_KEY) && dropdownMenu.contains(event.target)) {
411
454
  continue;
412
455
  }
413
456
 
414
- var hideEvent = $__default["default"].Event(EVENT_HIDE, relatedTarget);
415
- $__default["default"](parent).trigger(hideEvent);
457
+ var hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget);
416
458
 
417
- if (hideEvent.isDefaultPrevented()) {
459
+ if (hideEvent.defaultPrevented) {
418
460
  continue;
419
461
  } // If this is a touch-enabled device we remove the extra
420
462
  // empty mouseover listeners we added for iOS support
421
463
 
422
464
 
423
465
  if ('ontouchstart' in document.documentElement) {
424
- $__default["default"](document.body).children().off('mouseover', null, $__default["default"].noop);
466
+ var _ref2;
467
+
468
+ (_ref2 = []).concat.apply(_ref2, document.body.children).forEach(function (elem) {
469
+ return EventHandler.off(elem, 'mouseover', null, noop());
470
+ });
425
471
  }
426
472
 
427
473
  toggles[i].setAttribute('aria-expanded', 'false');
@@ -430,24 +476,17 @@
430
476
  context._popper.destroy();
431
477
  }
432
478
 
433
- $__default["default"](dropdownMenu).removeClass(CLASS_NAME_SHOW);
434
- $__default["default"](parent).removeClass(CLASS_NAME_SHOW).trigger($__default["default"].Event(EVENT_HIDDEN, relatedTarget));
479
+ dropdownMenu.classList.remove(CLASS_NAME_SHOW);
480
+ toggles[i].classList.remove(CLASS_NAME_SHOW);
481
+ EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget);
435
482
  }
436
483
  };
437
484
 
438
- Dropdown._getParentFromElement = function _getParentFromElement(element) {
439
- var parent;
440
- var selector = Util__default["default"].getSelectorFromElement(element);
441
-
442
- if (selector) {
443
- parent = document.querySelector(selector);
444
- }
445
-
446
- return parent || element.parentNode;
447
- } // eslint-disable-next-line complexity
448
- ;
485
+ Dropdown.getParentFromElement = function getParentFromElement(element) {
486
+ return getElementFromSelector(element) || element.parentNode;
487
+ };
449
488
 
450
- Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
489
+ Dropdown.dataApiKeydownHandler = function dataApiKeydownHandler(event) {
451
490
  // If not input/textarea:
452
491
  // - And not a key in REGEXP_KEYDOWN => not a dropdown command
453
492
  // If input/textarea:
@@ -455,61 +494,59 @@
455
494
  // - If key is other than escape
456
495
  // - If key is not up or down => not a dropdown command
457
496
  // - If trigger inside the menu => not a dropdown command
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)) {
497
+ if (/input|textarea/i.test(event.target.tagName) ? event.key === SPACE_KEY || event.key !== ESCAPE_KEY && (event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY || event.target.closest(SELECTOR_MENU)) : !REGEXP_KEYDOWN.test(event.key)) {
459
498
  return;
460
499
  }
461
500
 
462
- if (this.disabled || $__default["default"](this).hasClass(CLASS_NAME_DISABLED)) {
501
+ event.preventDefault();
502
+ event.stopPropagation();
503
+
504
+ if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {
463
505
  return;
464
506
  }
465
507
 
466
- var parent = Dropdown._getParentFromElement(this);
467
-
468
- var isActive = $__default["default"](parent).hasClass(CLASS_NAME_SHOW);
508
+ var parent = Dropdown.getParentFromElement(this);
509
+ var isActive = this.classList.contains(CLASS_NAME_SHOW);
469
510
 
470
- if (!isActive && event.which === ESCAPE_KEYCODE) {
511
+ if (event.key === ESCAPE_KEY) {
512
+ var button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0];
513
+ button.focus();
514
+ Dropdown.clearMenus();
471
515
  return;
472
516
  }
473
517
 
474
- event.preventDefault();
475
- event.stopPropagation();
476
-
477
- if (!isActive || event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE) {
478
- if (event.which === ESCAPE_KEYCODE) {
479
- $__default["default"](parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus');
480
- }
481
-
482
- $__default["default"](this).trigger('click');
518
+ if (!isActive || event.key === SPACE_KEY) {
519
+ Dropdown.clearMenus();
483
520
  return;
484
521
  }
485
522
 
486
- var items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS)).filter(function (item) {
487
- return $__default["default"](item).is(':visible');
488
- });
523
+ var items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible);
489
524
 
490
- if (items.length === 0) {
525
+ if (!items.length) {
491
526
  return;
492
527
  }
493
528
 
494
529
  var index = items.indexOf(event.target);
495
530
 
496
- if (event.which === ARROW_UP_KEYCODE && index > 0) {
531
+ if (event.key === ARROW_UP_KEY && index > 0) {
497
532
  // Up
498
533
  index--;
499
534
  }
500
535
 
501
- if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
536
+ if (event.key === ARROW_DOWN_KEY && index < items.length - 1) {
502
537
  // Down
503
538
  index++;
504
- }
539
+ } // index is -1 if the first keydown is an ArrowUp
505
540
 
506
- if (index < 0) {
507
- index = 0;
508
- }
509
541
 
542
+ index = index === -1 ? 0 : index;
510
543
  items[index].focus();
511
544
  };
512
545
 
546
+ Dropdown.getInstance = function getInstance(element) {
547
+ return Data.getData(element, DATA_KEY);
548
+ };
549
+
513
550
  _createClass(Dropdown, null, [{
514
551
  key: "VERSION",
515
552
  get: function get() {
@@ -530,30 +567,45 @@
530
567
  return Dropdown;
531
568
  }();
532
569
  /**
533
- * Data API implementation
570
+ * ------------------------------------------------------------------------
571
+ * Data Api implementation
572
+ * ------------------------------------------------------------------------
534
573
  */
535
574
 
536
575
 
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) {
576
+ EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler);
577
+ EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
578
+ EventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus);
579
+ EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);
580
+ EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
538
581
  event.preventDefault();
539
582
  event.stopPropagation();
540
-
541
- Dropdown._jQueryInterface.call($__default["default"](this), 'toggle');
542
- }).on(EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, function (e) {
543
- e.stopPropagation();
583
+ Dropdown.dropdownInterface(this, 'toggle');
584
+ });
585
+ EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, function (e) {
586
+ return e.stopPropagation();
544
587
  });
588
+ var $ = getjQuery();
545
589
  /**
590
+ * ------------------------------------------------------------------------
546
591
  * jQuery
592
+ * ------------------------------------------------------------------------
593
+ * add .dropdown to jQuery only if jQuery is present
547
594
  */
548
595
 
549
- $__default["default"].fn[NAME] = Dropdown._jQueryInterface;
550
- $__default["default"].fn[NAME].Constructor = Dropdown;
596
+ /* istanbul ignore if */
551
597
 
552
- $__default["default"].fn[NAME].noConflict = function () {
553
- $__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
554
- return Dropdown._jQueryInterface;
555
- };
598
+ if ($) {
599
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
600
+ $.fn[NAME] = Dropdown.jQueryInterface;
601
+ $.fn[NAME].Constructor = Dropdown;
602
+
603
+ $.fn[NAME].noConflict = function () {
604
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
605
+ return Dropdown.jQueryInterface;
606
+ };
607
+ }
556
608
 
557
609
  return Dropdown;
558
610
 
559
- }));
611
+ })));