@openeuropa/bcl-bootstrap 0.25.1 → 0.26.0
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.
- package/bootstrap-icons.svg +1 -1
- package/icons/apple.svg +2 -2
- package/icons/boombox-fill.svg +2 -2
- package/icons/cup-fill.svg +1 -1
- package/icons/cup.svg +1 -1
- package/js/dist/alert.js +3 -12
- package/js/dist/alert.js.map +1 -1
- package/js/dist/base-component.js +32 -18
- package/js/dist/base-component.js.map +1 -1
- package/js/dist/button.js +3 -12
- package/js/dist/button.js.map +1 -1
- package/js/dist/carousel.js +207 -307
- package/js/dist/carousel.js.map +1 -1
- package/js/dist/collapse.js +57 -88
- package/js/dist/collapse.js.map +1 -1
- package/js/dist/dom/data.js +1 -3
- package/js/dist/dom/data.js.map +1 -1
- package/js/dist/dom/event-handler.js +87 -106
- package/js/dist/dom/event-handler.js.map +1 -1
- package/js/dist/dom/manipulator.js +21 -25
- package/js/dist/dom/manipulator.js.map +1 -1
- package/js/dist/dom/selector-engine.js +11 -10
- package/js/dist/dom/selector-engine.js.map +1 -1
- package/js/dist/dropdown.js +83 -115
- package/js/dist/dropdown.js.map +1 -1
- package/js/dist/modal.js +95 -152
- package/js/dist/modal.js.map +1 -1
- package/js/dist/offcanvas.js +75 -58
- package/js/dist/offcanvas.js.map +1 -1
- package/js/dist/popover.js +29 -56
- package/js/dist/popover.js.map +1 -1
- package/js/dist/scrollspy.js +176 -125
- package/js/dist/scrollspy.js.map +1 -1
- package/js/dist/tab.js +207 -92
- package/js/dist/tab.js.map +1 -1
- package/js/dist/toast.js +23 -37
- package/js/dist/toast.js.map +1 -1
- package/js/dist/tooltip.js +259 -348
- package/js/dist/tooltip.js.map +1 -1
- package/js/dist/util/backdrop.js +62 -39
- package/js/dist/util/backdrop.js.map +1 -1
- package/js/dist/util/component-functions.js +1 -1
- package/js/dist/util/component-functions.js.map +1 -1
- package/js/dist/util/config.js +75 -0
- package/js/dist/util/config.js.map +1 -0
- package/js/dist/util/focustrap.js +41 -34
- package/js/dist/util/focustrap.js.map +1 -1
- package/js/dist/util/index.js +56 -52
- package/js/dist/util/index.js.map +1 -1
- package/js/dist/util/sanitizer.js +12 -19
- package/js/dist/util/sanitizer.js.map +1 -1
- package/js/dist/util/scrollbar.js +49 -34
- package/js/dist/util/scrollbar.js.map +1 -1
- package/js/dist/util/swipe.js +151 -0
- package/js/dist/util/swipe.js.map +1 -0
- package/js/dist/util/template-factory.js +173 -0
- package/js/dist/util/template-factory.js.map +1 -0
- package/js/src/alert.js +3 -15
- package/js/src/base-component.js +28 -18
- package/js/src/button.js +3 -17
- package/js/src/carousel.js +203 -319
- package/js/src/collapse.js +61 -94
- package/js/src/dom/data.js +1 -3
- package/js/src/dom/event-handler.js +80 -108
- package/js/src/dom/manipulator.js +22 -31
- package/js/src/dom/selector-engine.js +10 -19
- package/js/src/dropdown.js +84 -138
- package/js/src/modal.js +94 -158
- package/js/src/offcanvas.js +72 -61
- package/js/src/popover.js +31 -62
- package/js/src/scrollspy.js +166 -171
- package/js/src/tab.js +193 -110
- package/js/src/toast.js +19 -41
- package/js/src/tooltip.js +259 -371
- package/js/src/util/backdrop.js +55 -36
- package/js/src/util/component-functions.js +1 -1
- package/js/src/util/config.js +66 -0
- package/js/src/util/focustrap.js +38 -28
- package/js/src/util/index.js +67 -64
- package/js/src/util/sanitizer.js +11 -19
- package/js/src/util/scrollbar.js +47 -30
- package/js/src/util/swipe.js +146 -0
- package/js/src/util/template-factory.js +160 -0
- package/package.json +4 -4
- package/scss/_accordion.scss +52 -24
- package/scss/_alert.scss +18 -4
- package/scss/_badge.scss +14 -5
- package/scss/_breadcrumb.scss +22 -10
- package/scss/_button-group.scss +3 -0
- package/scss/_buttons.scss +97 -22
- package/scss/_card.scss +55 -37
- package/scss/_close.scss +1 -1
- package/scss/_containers.scss +1 -1
- package/scss/_dropdown.scss +83 -75
- package/scss/_functions.scss +7 -7
- package/scss/_grid.scss +3 -3
- package/scss/_helpers.scss +1 -0
- package/scss/_list-group.scss +44 -27
- package/scss/_maps.scss +54 -0
- package/scss/_modal.scss +71 -43
- package/scss/_nav.scss +53 -20
- package/scss/_navbar.scss +91 -150
- package/scss/_offcanvas.scss +119 -59
- package/scss/_pagination.scss +66 -21
- package/scss/_placeholders.scss +1 -1
- package/scss/_popover.scss +90 -52
- package/scss/_progress.scss +20 -9
- package/scss/_reboot.scss +25 -40
- package/scss/_root.scss +40 -21
- package/scss/_spinners.scss +38 -22
- package/scss/_tables.scss +32 -23
- package/scss/_toasts.scss +35 -16
- package/scss/_tooltip.scss +61 -56
- package/scss/_type.scss +2 -0
- package/scss/_utilities.scss +43 -26
- package/scss/_variables.scss +113 -121
- package/scss/bootstrap-grid.scss +3 -6
- package/scss/bootstrap-reboot.scss +3 -7
- package/scss/bootstrap-utilities.scss +3 -6
- package/scss/bootstrap.scss +4 -6
- package/scss/forms/_floating-labels.scss +14 -3
- package/scss/forms/_form-check.scss +28 -5
- package/scss/forms/_form-control.scss +12 -37
- package/scss/forms/_form-select.scss +0 -1
- package/scss/forms/_input-group.scss +15 -7
- package/scss/helpers/_color-bg.scss +10 -0
- package/scss/helpers/_colored-links.scss +2 -2
- package/scss/helpers/_position.scss +7 -1
- package/scss/helpers/_ratio.scss +2 -2
- package/scss/helpers/_vr.scss +1 -1
- package/scss/mixins/_alert.scss +7 -3
- package/scss/mixins/_banner.scss +9 -0
- package/scss/mixins/_breakpoints.scss +8 -8
- package/scss/mixins/_buttons.scss +32 -95
- package/scss/mixins/_container.scss +4 -2
- package/scss/mixins/_forms.scss +8 -0
- package/scss/mixins/_gradients.scss +1 -1
- package/scss/mixins/_grid.scss +12 -12
- package/scss/mixins/_pagination.scss +4 -25
- package/scss/mixins/_reset-text.scss +1 -1
- package/scss/mixins/_table-variants.scss +12 -9
- package/scss/mixins/_utilities.scss +12 -4
package/js/dist/dropdown.js
CHANGED
|
@@ -32,14 +32,12 @@
|
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* --------------------------------------------------------------------------
|
|
35
|
-
* Bootstrap (v5.
|
|
35
|
+
* Bootstrap (v5.2.0): dropdown.js
|
|
36
36
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
37
37
|
* --------------------------------------------------------------------------
|
|
38
38
|
*/
|
|
39
39
|
/**
|
|
40
|
-
* ------------------------------------------------------------------------
|
|
41
40
|
* Constants
|
|
42
|
-
* ------------------------------------------------------------------------
|
|
43
41
|
*/
|
|
44
42
|
|
|
45
43
|
const NAME = 'dropdown';
|
|
@@ -47,13 +45,11 @@
|
|
|
47
45
|
const EVENT_KEY = `.${DATA_KEY}`;
|
|
48
46
|
const DATA_API_KEY = '.data-api';
|
|
49
47
|
const ESCAPE_KEY = 'Escape';
|
|
50
|
-
const SPACE_KEY = 'Space';
|
|
51
48
|
const TAB_KEY = 'Tab';
|
|
52
49
|
const ARROW_UP_KEY = 'ArrowUp';
|
|
53
50
|
const ARROW_DOWN_KEY = 'ArrowDown';
|
|
54
51
|
const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
|
|
55
52
|
|
|
56
|
-
const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY}`);
|
|
57
53
|
const EVENT_HIDE = `hide${EVENT_KEY}`;
|
|
58
54
|
const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
|
|
59
55
|
const EVENT_SHOW = `show${EVENT_KEY}`;
|
|
@@ -65,9 +61,12 @@
|
|
|
65
61
|
const CLASS_NAME_DROPUP = 'dropup';
|
|
66
62
|
const CLASS_NAME_DROPEND = 'dropend';
|
|
67
63
|
const CLASS_NAME_DROPSTART = 'dropstart';
|
|
68
|
-
const
|
|
69
|
-
const
|
|
64
|
+
const CLASS_NAME_DROPUP_CENTER = 'dropup-center';
|
|
65
|
+
const CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';
|
|
66
|
+
const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)';
|
|
67
|
+
const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`;
|
|
70
68
|
const SELECTOR_MENU = '.dropdown-menu';
|
|
69
|
+
const SELECTOR_NAVBAR = '.navbar';
|
|
71
70
|
const SELECTOR_NAVBAR_NAV = '.navbar-nav';
|
|
72
71
|
const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
|
|
73
72
|
const PLACEMENT_TOP = index.isRTL() ? 'top-end' : 'top-start';
|
|
@@ -76,34 +75,35 @@
|
|
|
76
75
|
const PLACEMENT_BOTTOMEND = index.isRTL() ? 'bottom-start' : 'bottom-end';
|
|
77
76
|
const PLACEMENT_RIGHT = index.isRTL() ? 'left-start' : 'right-start';
|
|
78
77
|
const PLACEMENT_LEFT = index.isRTL() ? 'right-start' : 'left-start';
|
|
78
|
+
const PLACEMENT_TOPCENTER = 'top';
|
|
79
|
+
const PLACEMENT_BOTTOMCENTER = 'bottom';
|
|
79
80
|
const Default = {
|
|
80
|
-
|
|
81
|
+
autoClose: true,
|
|
81
82
|
boundary: 'clippingParents',
|
|
82
|
-
reference: 'toggle',
|
|
83
83
|
display: 'dynamic',
|
|
84
|
+
offset: [0, 2],
|
|
84
85
|
popperConfig: null,
|
|
85
|
-
|
|
86
|
+
reference: 'toggle'
|
|
86
87
|
};
|
|
87
88
|
const DefaultType = {
|
|
88
|
-
|
|
89
|
+
autoClose: '(boolean|string)',
|
|
89
90
|
boundary: '(string|element)',
|
|
90
|
-
reference: '(string|element|object)',
|
|
91
91
|
display: 'string',
|
|
92
|
+
offset: '(array|string|function)',
|
|
92
93
|
popperConfig: '(null|object|function)',
|
|
93
|
-
|
|
94
|
+
reference: '(string|element|object)'
|
|
94
95
|
};
|
|
95
96
|
/**
|
|
96
|
-
*
|
|
97
|
-
* Class Definition
|
|
98
|
-
* ------------------------------------------------------------------------
|
|
97
|
+
* Class definition
|
|
99
98
|
*/
|
|
100
99
|
|
|
101
100
|
class Dropdown extends BaseComponent__default.default {
|
|
102
101
|
constructor(element, config) {
|
|
103
|
-
super(element);
|
|
102
|
+
super(element, config);
|
|
104
103
|
this._popper = null;
|
|
105
|
-
this.
|
|
106
|
-
|
|
104
|
+
this._parent = this._element.parentNode; // dropdown wrapper
|
|
105
|
+
|
|
106
|
+
this._menu = SelectorEngine__default.default.findOne(SELECTOR_MENU, this._parent);
|
|
107
107
|
this._inNavbar = this._detectNavbar();
|
|
108
108
|
} // Getters
|
|
109
109
|
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
show() {
|
|
129
|
-
if (index.isDisabled(this._element) || this._isShown(
|
|
129
|
+
if (index.isDisabled(this._element) || this._isShown()) {
|
|
130
130
|
return;
|
|
131
131
|
}
|
|
132
132
|
|
|
@@ -139,20 +139,16 @@
|
|
|
139
139
|
return;
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
if (this._inNavbar) {
|
|
145
|
-
Manipulator__default.default.setDataAttribute(this._menu, 'popper', 'none');
|
|
146
|
-
} else {
|
|
147
|
-
this._createPopper(parent);
|
|
148
|
-
} // If this is a touch-enabled device we add extra
|
|
142
|
+
this._createPopper(); // If this is a touch-enabled device we add extra
|
|
149
143
|
// empty mouseover listeners to the body's immediate children;
|
|
150
144
|
// only needed because of broken event delegation on iOS
|
|
151
145
|
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
|
|
152
146
|
|
|
153
147
|
|
|
154
|
-
if ('ontouchstart' in document.documentElement && !
|
|
155
|
-
[].concat(...document.body.children)
|
|
148
|
+
if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {
|
|
149
|
+
for (const element of [].concat(...document.body.children)) {
|
|
150
|
+
EventHandler__default.default.on(element, 'mouseover', index.noop);
|
|
151
|
+
}
|
|
156
152
|
}
|
|
157
153
|
|
|
158
154
|
this._element.focus();
|
|
@@ -167,7 +163,7 @@
|
|
|
167
163
|
}
|
|
168
164
|
|
|
169
165
|
hide() {
|
|
170
|
-
if (index.isDisabled(this._element) || !this._isShown(
|
|
166
|
+
if (index.isDisabled(this._element) || !this._isShown()) {
|
|
171
167
|
return;
|
|
172
168
|
}
|
|
173
169
|
|
|
@@ -205,7 +201,9 @@
|
|
|
205
201
|
|
|
206
202
|
|
|
207
203
|
if ('ontouchstart' in document.documentElement) {
|
|
208
|
-
[].concat(...document.body.children)
|
|
204
|
+
for (const element of [].concat(...document.body.children)) {
|
|
205
|
+
EventHandler__default.default.off(element, 'mouseover', index.noop);
|
|
206
|
+
}
|
|
209
207
|
}
|
|
210
208
|
|
|
211
209
|
if (this._popper) {
|
|
@@ -223,11 +221,7 @@
|
|
|
223
221
|
}
|
|
224
222
|
|
|
225
223
|
_getConfig(config) {
|
|
226
|
-
config =
|
|
227
|
-
...Manipulator__default.default.getDataAttributes(this._element),
|
|
228
|
-
...config
|
|
229
|
-
};
|
|
230
|
-
index.typeCheckConfig(NAME, config, this.constructor.DefaultType);
|
|
224
|
+
config = super._getConfig(config);
|
|
231
225
|
|
|
232
226
|
if (typeof config.reference === 'object' && !index.isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
|
|
233
227
|
// Popper virtual elements require a getBoundingClientRect method
|
|
@@ -237,7 +231,7 @@
|
|
|
237
231
|
return config;
|
|
238
232
|
}
|
|
239
233
|
|
|
240
|
-
_createPopper(
|
|
234
|
+
_createPopper() {
|
|
241
235
|
if (typeof Popper__namespace === 'undefined') {
|
|
242
236
|
throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)');
|
|
243
237
|
}
|
|
@@ -245,7 +239,7 @@
|
|
|
245
239
|
let referenceElement = this._element;
|
|
246
240
|
|
|
247
241
|
if (this._config.reference === 'parent') {
|
|
248
|
-
referenceElement =
|
|
242
|
+
referenceElement = this._parent;
|
|
249
243
|
} else if (index.isElement(this._config.reference)) {
|
|
250
244
|
referenceElement = index.getElement(this._config.reference);
|
|
251
245
|
} else if (typeof this._config.reference === 'object') {
|
|
@@ -254,24 +248,15 @@
|
|
|
254
248
|
|
|
255
249
|
const popperConfig = this._getPopperConfig();
|
|
256
250
|
|
|
257
|
-
const isDisplayStatic = popperConfig.modifiers.find(modifier => modifier.name === 'applyStyles' && modifier.enabled === false);
|
|
258
251
|
this._popper = Popper__namespace.createPopper(referenceElement, this._menu, popperConfig);
|
|
259
|
-
|
|
260
|
-
if (isDisplayStatic) {
|
|
261
|
-
Manipulator__default.default.setDataAttribute(this._menu, 'popper', 'static');
|
|
262
|
-
}
|
|
263
252
|
}
|
|
264
253
|
|
|
265
|
-
_isShown(
|
|
266
|
-
return
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
_getMenuElement() {
|
|
270
|
-
return SelectorEngine__default.default.next(this._element, SELECTOR_MENU)[0];
|
|
254
|
+
_isShown() {
|
|
255
|
+
return this._menu.classList.contains(CLASS_NAME_SHOW);
|
|
271
256
|
}
|
|
272
257
|
|
|
273
258
|
_getPlacement() {
|
|
274
|
-
const parentDropdown = this.
|
|
259
|
+
const parentDropdown = this._parent;
|
|
275
260
|
|
|
276
261
|
if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {
|
|
277
262
|
return PLACEMENT_RIGHT;
|
|
@@ -279,6 +264,14 @@
|
|
|
279
264
|
|
|
280
265
|
if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {
|
|
281
266
|
return PLACEMENT_LEFT;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {
|
|
270
|
+
return PLACEMENT_TOPCENTER;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {
|
|
274
|
+
return PLACEMENT_BOTTOMCENTER;
|
|
282
275
|
} // We need to trim the value because custom properties can also include spaces
|
|
283
276
|
|
|
284
277
|
|
|
@@ -292,7 +285,7 @@
|
|
|
292
285
|
}
|
|
293
286
|
|
|
294
287
|
_detectNavbar() {
|
|
295
|
-
return this._element.closest(
|
|
288
|
+
return this._element.closest(SELECTOR_NAVBAR) !== null;
|
|
296
289
|
}
|
|
297
290
|
|
|
298
291
|
_getOffset() {
|
|
@@ -301,7 +294,7 @@
|
|
|
301
294
|
} = this._config;
|
|
302
295
|
|
|
303
296
|
if (typeof offset === 'string') {
|
|
304
|
-
return offset.split(',').map(
|
|
297
|
+
return offset.split(',').map(value => Number.parseInt(value, 10));
|
|
305
298
|
}
|
|
306
299
|
|
|
307
300
|
if (typeof offset === 'function') {
|
|
@@ -325,9 +318,11 @@
|
|
|
325
318
|
offset: this._getOffset()
|
|
326
319
|
}
|
|
327
320
|
}]
|
|
328
|
-
}; // Disable Popper if we have a static display
|
|
321
|
+
}; // Disable Popper if we have a static display or Dropdown is in Navbar
|
|
322
|
+
|
|
323
|
+
if (this._inNavbar || this._config.display === 'static') {
|
|
324
|
+
Manipulator__default.default.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove
|
|
329
325
|
|
|
330
|
-
if (this._config.display === 'static') {
|
|
331
326
|
defaultBsPopperConfig.modifiers = [{
|
|
332
327
|
name: 'applyStyles',
|
|
333
328
|
enabled: false
|
|
@@ -343,7 +338,7 @@
|
|
|
343
338
|
key,
|
|
344
339
|
target
|
|
345
340
|
}) {
|
|
346
|
-
const items = SelectorEngine__default.default.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(index.isVisible);
|
|
341
|
+
const items = SelectorEngine__default.default.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => index.isVisible(element));
|
|
347
342
|
|
|
348
343
|
if (!items.length) {
|
|
349
344
|
return;
|
|
@@ -372,20 +367,28 @@
|
|
|
372
367
|
}
|
|
373
368
|
|
|
374
369
|
static clearMenus(event) {
|
|
375
|
-
if (event
|
|
370
|
+
if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY) {
|
|
376
371
|
return;
|
|
377
372
|
}
|
|
378
373
|
|
|
379
|
-
const
|
|
374
|
+
const openToggles = SelectorEngine__default.default.find(SELECTOR_DATA_TOGGLE_SHOWN);
|
|
380
375
|
|
|
381
|
-
for (
|
|
382
|
-
const context = Dropdown.getInstance(
|
|
376
|
+
for (const toggle of openToggles) {
|
|
377
|
+
const context = Dropdown.getInstance(toggle);
|
|
383
378
|
|
|
384
379
|
if (!context || context._config.autoClose === false) {
|
|
385
380
|
continue;
|
|
386
381
|
}
|
|
387
382
|
|
|
388
|
-
|
|
383
|
+
const composedPath = event.composedPath();
|
|
384
|
+
const isMenuTarget = composedPath.includes(context._menu);
|
|
385
|
+
|
|
386
|
+
if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) {
|
|
387
|
+
continue;
|
|
388
|
+
} // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu
|
|
389
|
+
|
|
390
|
+
|
|
391
|
+
if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY || /input|select|option|textarea|form/i.test(event.target.tagName))) {
|
|
389
392
|
continue;
|
|
390
393
|
}
|
|
391
394
|
|
|
@@ -393,85 +396,53 @@
|
|
|
393
396
|
relatedTarget: context._element
|
|
394
397
|
};
|
|
395
398
|
|
|
396
|
-
if (event) {
|
|
397
|
-
|
|
398
|
-
const isMenuTarget = composedPath.includes(context._menu);
|
|
399
|
-
|
|
400
|
-
if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) {
|
|
401
|
-
continue;
|
|
402
|
-
} // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY || /input|select|option|textarea|form/i.test(event.target.tagName))) {
|
|
406
|
-
continue;
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
if (event.type === 'click') {
|
|
410
|
-
relatedTarget.clickEvent = event;
|
|
411
|
-
}
|
|
399
|
+
if (event.type === 'click') {
|
|
400
|
+
relatedTarget.clickEvent = event;
|
|
412
401
|
}
|
|
413
402
|
|
|
414
403
|
context._completeHide(relatedTarget);
|
|
415
404
|
}
|
|
416
405
|
}
|
|
417
406
|
|
|
418
|
-
static getParentFromElement(element) {
|
|
419
|
-
return index.getElementFromSelector(element) || element.parentNode;
|
|
420
|
-
}
|
|
421
|
-
|
|
422
407
|
static dataApiKeydownHandler(event) {
|
|
423
|
-
// If not
|
|
424
|
-
//
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
// - If key is not up or down => not a dropdown command
|
|
429
|
-
// - If trigger inside the menu => not a dropdown command
|
|
430
|
-
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)) {
|
|
431
|
-
return;
|
|
432
|
-
}
|
|
408
|
+
// If not an UP | DOWN | ESCAPE key => not a dropdown command
|
|
409
|
+
// If input/textarea && if key is other than ESCAPE => not a dropdown command
|
|
410
|
+
const isInput = /input|textarea/i.test(event.target.tagName);
|
|
411
|
+
const isEscapeEvent = event.key === ESCAPE_KEY;
|
|
412
|
+
const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key);
|
|
433
413
|
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
if (!isActive && event.key === ESCAPE_KEY) {
|
|
414
|
+
if (!isUpOrDownEvent && !isEscapeEvent) {
|
|
437
415
|
return;
|
|
438
416
|
}
|
|
439
417
|
|
|
440
|
-
|
|
441
|
-
event.stopPropagation();
|
|
442
|
-
|
|
443
|
-
if (index.isDisabled(this)) {
|
|
418
|
+
if (isInput && !isEscapeEvent) {
|
|
444
419
|
return;
|
|
445
420
|
}
|
|
446
421
|
|
|
447
|
-
|
|
422
|
+
event.preventDefault();
|
|
423
|
+
const getToggleButton = SelectorEngine__default.default.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode);
|
|
448
424
|
const instance = Dropdown.getOrCreateInstance(getToggleButton);
|
|
449
425
|
|
|
450
|
-
if (
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
}
|
|
454
|
-
|
|
455
|
-
if (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY) {
|
|
456
|
-
if (!isActive) {
|
|
457
|
-
instance.show();
|
|
458
|
-
}
|
|
426
|
+
if (isUpOrDownEvent) {
|
|
427
|
+
event.stopPropagation();
|
|
428
|
+
instance.show();
|
|
459
429
|
|
|
460
430
|
instance._selectMenuItem(event);
|
|
461
431
|
|
|
462
432
|
return;
|
|
463
433
|
}
|
|
464
434
|
|
|
465
|
-
if (
|
|
466
|
-
|
|
435
|
+
if (instance._isShown()) {
|
|
436
|
+
// else is escape and we check if it is shown
|
|
437
|
+
event.stopPropagation();
|
|
438
|
+
instance.hide();
|
|
439
|
+
getToggleButton.focus();
|
|
467
440
|
}
|
|
468
441
|
}
|
|
469
442
|
|
|
470
443
|
}
|
|
471
444
|
/**
|
|
472
|
-
*
|
|
473
|
-
* Data Api implementation
|
|
474
|
-
* ------------------------------------------------------------------------
|
|
445
|
+
* Data API implementation
|
|
475
446
|
*/
|
|
476
447
|
|
|
477
448
|
|
|
@@ -484,10 +455,7 @@
|
|
|
484
455
|
Dropdown.getOrCreateInstance(this).toggle();
|
|
485
456
|
});
|
|
486
457
|
/**
|
|
487
|
-
* ------------------------------------------------------------------------
|
|
488
458
|
* jQuery
|
|
489
|
-
* ------------------------------------------------------------------------
|
|
490
|
-
* add .Dropdown to jQuery only if jQuery is present
|
|
491
459
|
*/
|
|
492
460
|
|
|
493
461
|
index.defineJQueryPlugin(Dropdown);
|
package/js/dist/dropdown.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.js","sources":["../src/dropdown.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\n\nimport {\n defineJQueryPlugin,\n getElement,\n getElementFromSelector,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst SPACE_KEY = 'Space'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_NAVBAR = 'navbar'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\n\nconst Default = {\n offset: [0, 2],\n boundary: 'clippingParents',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null,\n autoClose: true\n}\n\nconst DefaultType = {\n offset: '(array|string|function)',\n boundary: '(string|element)',\n reference: '(string|element|object)',\n display: 'string',\n popperConfig: '(null|object|function)',\n autoClose: '(boolean|string)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown(this._menu)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n // Totally disable Popper for Dropdowns in Navbar\n if (this._inNavbar) {\n Manipulator.setDataAttribute(this._menu, 'popper', 'none')\n } else {\n this._createPopper(parent)\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !parent.closest(SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', noop))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.add(CLASS_NAME_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown(this._menu)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Private\n\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', noop))\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof config.reference.getBoundingClientRect !== 'function'\n ) {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createPopper(parent) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n const popperConfig = this._getPopperConfig()\n const isDisplayStatic = popperConfig.modifiers.find(modifier => modifier.name === 'applyStyles' && modifier.enabled === false)\n\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n\n if (isDisplayStatic) {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static')\n }\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar() {\n return this._element.closest(`.${CLASS_NAME_NAVBAR}`) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(val => Number.parseInt(val, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n // Disable Popper if we have a static display\n if (this._config.display === 'static') {\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n }\n }\n\n _selectMenuItem({ key, target }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const context = Dropdown.getInstance(toggles[i])\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n if (!context._isShown()) {\n continue\n }\n\n const relatedTarget = {\n relatedTarget: context._element\n }\n\n if (event) {\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue\n }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\n event.target.closest(SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.key)) {\n return\n }\n\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (!isActive && event.key === ESCAPE_KEY) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (isDisabled(this)) {\n return\n }\n\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n if (event.key === ESCAPE_KEY) {\n instance.hide()\n return\n }\n\n if (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY) {\n if (!isActive) {\n instance.show()\n }\n\n instance._selectMenuItem(event)\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Dropdown.getOrCreateInstance(this).toggle()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Dropdown to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","ESCAPE_KEY","SPACE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","REGEXP_KEYDOWN","RegExp","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_CLICK_DATA_API","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_SHOW","CLASS_NAME_DROPUP","CLASS_NAME_DROPEND","CLASS_NAME_DROPSTART","CLASS_NAME_NAVBAR","SELECTOR_DATA_TOGGLE","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","isRTL","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","Default","offset","boundary","reference","display","popperConfig","autoClose","DefaultType","Dropdown","BaseComponent","constructor","element","config","_popper","_config","_getConfig","_menu","_getMenuElement","_inNavbar","_detectNavbar","toggle","_isShown","hide","show","isDisabled","_element","relatedTarget","showEvent","EventHandler","trigger","defaultPrevented","parent","getParentFromElement","Manipulator","setDataAttribute","_createPopper","document","documentElement","closest","concat","body","children","forEach","elem","on","noop","focus","setAttribute","classList","add","_completeHide","dispose","destroy","update","hideEvent","off","remove","removeDataAttribute","getDataAttributes","typeCheckConfig","isElement","getBoundingClientRect","TypeError","toUpperCase","Popper","referenceElement","getElement","_getPopperConfig","isDisplayStatic","modifiers","find","modifier","name","enabled","createPopper","contains","SelectorEngine","next","_getPlacement","parentDropdown","parentNode","isEnd","getComputedStyle","getPropertyValue","trim","_getOffset","split","map","val","Number","parseInt","popperData","defaultBsPopperConfig","placement","options","_selectMenuItem","key","target","items","filter","isVisible","length","getNextActiveElement","includes","jQueryInterface","each","data","getOrCreateInstance","clearMenus","event","button","type","toggles","i","len","context","getInstance","composedPath","isMenuTarget","test","tagName","clickEvent","getElementFromSelector","dataApiKeydownHandler","isActive","preventDefault","stopPropagation","getToggleButton","matches","prev","instance","defineJQueryPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dropdown.js","sources":["../src/dropdown.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport {\n defineJQueryPlugin,\n getElement,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center'\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR = '.navbar'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\nconst PLACEMENT_TOPCENTER = 'top'\nconst PLACEMENT_BOTTOMCENTER = 'bottom'\n\nconst Default = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n}\n\nconst DefaultType = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._popper = null\n this._parent = this._element.parentNode // dropdown wrapper\n this._menu = SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n this._inNavbar = this._detectNavbar()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._createPopper()\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.add(CLASS_NAME_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Private\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config) {\n config = super._getConfig(config)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof config.reference.getBoundingClientRect !== 'function'\n ) {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n const popperConfig = this._getPopperConfig()\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement() {\n const parentDropdown = this._parent\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n // Disable Popper if we have a static display or Dropdown is in Navbar\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static') // todo:v6 remove\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n }\n }\n\n _selectMenuItem({ key, target }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n if (!items.length) {\n return\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n return\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle)\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue\n }\n\n const relatedTarget = { relatedTarget: context._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n const isInput = /input|textarea/i.test(event.target.tagName)\n const isEscapeEvent = event.key === ESCAPE_KEY\n const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return\n }\n\n if (isInput && !isEscapeEvent) {\n return\n }\n\n event.preventDefault()\n\n const getToggleButton = SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode)\n const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n if (isUpOrDownEvent) {\n event.stopPropagation()\n instance.show()\n instance._selectMenuItem(event)\n return\n }\n\n if (instance._isShown()) { // else is escape and we check if it is shown\n event.stopPropagation()\n instance.hide()\n getToggleButton.focus()\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Dropdown.getOrCreateInstance(this).toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_CLICK_DATA_API","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_SHOW","CLASS_NAME_DROPUP","CLASS_NAME_DROPEND","CLASS_NAME_DROPSTART","CLASS_NAME_DROPUP_CENTER","CLASS_NAME_DROPDOWN_CENTER","SELECTOR_DATA_TOGGLE","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_NAVBAR","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","isRTL","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","PLACEMENT_TOPCENTER","PLACEMENT_BOTTOMCENTER","Default","autoClose","boundary","display","offset","popperConfig","reference","DefaultType","Dropdown","BaseComponent","constructor","element","config","_popper","_parent","_element","parentNode","_menu","SelectorEngine","findOne","_inNavbar","_detectNavbar","toggle","_isShown","hide","show","isDisabled","relatedTarget","showEvent","EventHandler","trigger","defaultPrevented","_createPopper","document","documentElement","closest","concat","body","children","on","noop","focus","setAttribute","classList","add","_completeHide","dispose","destroy","update","hideEvent","off","remove","Manipulator","removeDataAttribute","_getConfig","isElement","getBoundingClientRect","TypeError","toUpperCase","Popper","referenceElement","_config","getElement","_getPopperConfig","createPopper","contains","_getPlacement","parentDropdown","isEnd","getComputedStyle","getPropertyValue","trim","_getOffset","split","map","value","Number","parseInt","popperData","defaultBsPopperConfig","placement","modifiers","name","options","setDataAttribute","enabled","_selectMenuItem","key","target","items","find","filter","isVisible","length","getNextActiveElement","includes","jQueryInterface","each","data","getOrCreateInstance","clearMenus","event","button","type","openToggles","context","getInstance","composedPath","isMenuTarget","test","tagName","clickEvent","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","preventDefault","getToggleButton","delegateTarget","instance","stopPropagation","defineJQueryPlugin"],"mappings":"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"}
|