mirror of
https://github.com/twbs/bootstrap.git
synced 2025-08-11 16:14:04 +02:00
127
dist/js/bootstrap.esm.js
vendored
127
dist/js/bootstrap.esm.js
vendored
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Bootstrap v5.2.0 (https://getbootstrap.com/)
|
||||
* Bootstrap v5.2.1 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
@@ -7,7 +7,7 @@ import * as Popper from '@popperjs/core';
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): util/index.js
|
||||
* Bootstrap (v5.2.1): util/index.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -322,7 +322,7 @@ const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): dom/event-handler.js
|
||||
* Bootstrap (v5.2.1): dom/event-handler.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -591,7 +591,7 @@ function hydrateObj(obj, meta) {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): dom/data.js
|
||||
* Bootstrap (v5.2.1): dom/data.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -643,7 +643,7 @@ const Data = {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): dom/manipulator.js
|
||||
* Bootstrap (v5.2.1): dom/manipulator.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -713,7 +713,7 @@ const Manipulator = {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): util/config.js
|
||||
* Bootstrap (v5.2.1): util/config.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -774,7 +774,7 @@ class Config {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): base-component.js
|
||||
* Bootstrap (v5.2.1): base-component.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -782,7 +782,7 @@ class Config {
|
||||
* Constants
|
||||
*/
|
||||
|
||||
const VERSION = '5.2.0';
|
||||
const VERSION = '5.2.1';
|
||||
/**
|
||||
* Class definition
|
||||
*/
|
||||
@@ -853,7 +853,7 @@ class BaseComponent extends Config {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): util/component-functions.js
|
||||
* Bootstrap (v5.2.1): util/component-functions.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -879,7 +879,7 @@ const enableDismissTrigger = (component, method = 'hide') => {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): alert.js
|
||||
* Bootstrap (v5.2.1): alert.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -959,7 +959,7 @@ defineJQueryPlugin(Alert);
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): button.js
|
||||
* Bootstrap (v5.2.1): button.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -1021,7 +1021,7 @@ defineJQueryPlugin(Button);
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): dom/selector-engine.js
|
||||
* Bootstrap (v5.2.1): dom/selector-engine.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -1092,7 +1092,7 @@ const SelectorEngine = {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): util/swipe.js
|
||||
* Bootstrap (v5.2.1): util/swipe.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -1228,7 +1228,7 @@ class Swipe extends Config {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): carousel.js
|
||||
* Bootstrap (v5.2.1): carousel.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -1676,7 +1676,7 @@ defineJQueryPlugin(Carousel);
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): collapse.js
|
||||
* Bootstrap (v5.2.1): collapse.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -1966,7 +1966,7 @@ defineJQueryPlugin(Collapse);
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): dropdown.js
|
||||
* Bootstrap (v5.2.1): dropdown.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -2036,8 +2036,9 @@ class Dropdown extends BaseComponent {
|
||||
super(element, config);
|
||||
this._popper = null;
|
||||
this._parent = this._element.parentNode; // dropdown wrapper
|
||||
// todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/
|
||||
|
||||
this._menu = SelectorEngine.findOne(SELECTOR_MENU, this._parent);
|
||||
this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0];
|
||||
this._inNavbar = this._detectNavbar();
|
||||
} // Getters
|
||||
|
||||
@@ -2353,8 +2354,9 @@ class Dropdown extends BaseComponent {
|
||||
return;
|
||||
}
|
||||
|
||||
event.preventDefault();
|
||||
const getToggleButton = SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);
|
||||
event.preventDefault(); // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/
|
||||
|
||||
const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0];
|
||||
const instance = Dropdown.getOrCreateInstance(getToggleButton);
|
||||
|
||||
if (isUpOrDownEvent) {
|
||||
@@ -2396,7 +2398,7 @@ defineJQueryPlugin(Dropdown);
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): util/scrollBar.js
|
||||
* Bootstrap (v5.2.1): util/scrollBar.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -2515,7 +2517,7 @@ class ScrollBarHelper {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): util/backdrop.js
|
||||
* Bootstrap (v5.2.1): util/backdrop.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -2661,7 +2663,7 @@ class Backdrop extends Config {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): util/focustrap.js
|
||||
* Bootstrap (v5.2.1): util/focustrap.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -2770,7 +2772,7 @@ class FocusTrap extends Config {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): modal.js
|
||||
* Bootstrap (v5.2.1): modal.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -2789,6 +2791,7 @@ const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`;
|
||||
const EVENT_SHOW$4 = `show${EVENT_KEY$4}`;
|
||||
const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;
|
||||
const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;
|
||||
const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;
|
||||
const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;
|
||||
const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;
|
||||
const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;
|
||||
@@ -2981,20 +2984,22 @@ class Modal extends BaseComponent {
|
||||
}
|
||||
});
|
||||
EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {
|
||||
if (event.target !== event.currentTarget) {
|
||||
// click is inside modal-dialog
|
||||
return;
|
||||
}
|
||||
EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {
|
||||
// a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks
|
||||
if (this._dialog.contains(event.target) || this._dialog.contains(event2.target)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this._config.backdrop === 'static') {
|
||||
this._triggerBackdropTransition();
|
||||
if (this._config.backdrop === 'static') {
|
||||
this._triggerBackdropTransition();
|
||||
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (this._config.backdrop) {
|
||||
this.hide();
|
||||
}
|
||||
if (this._config.backdrop) {
|
||||
this.hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -3143,7 +3148,7 @@ defineJQueryPlugin(Modal);
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): offcanvas.js
|
||||
* Bootstrap (v5.2.1): offcanvas.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -3417,7 +3422,7 @@ defineJQueryPlugin(Offcanvas);
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): util/sanitizer.js
|
||||
* Bootstrap (v5.2.1): util/sanitizer.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -3522,7 +3527,7 @@ function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): util/template-factory.js
|
||||
* Bootstrap (v5.2.1): util/template-factory.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -3680,7 +3685,7 @@ class TemplateFactory extends Config {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): tooltip.js
|
||||
* Bootstrap (v5.2.1): tooltip.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -3769,7 +3774,7 @@ class Tooltip extends BaseComponent {
|
||||
|
||||
this._isEnabled = true;
|
||||
this._timeout = 0;
|
||||
this._isHovered = false;
|
||||
this._isHovered = null;
|
||||
this._activeTrigger = {};
|
||||
this._popper = null;
|
||||
this._templateFactory = null;
|
||||
@@ -3842,6 +3847,10 @@ class Tooltip extends BaseComponent {
|
||||
this.tip.remove();
|
||||
}
|
||||
|
||||
if (this._config.originalTitle) {
|
||||
this._element.setAttribute('title', this._config.originalTitle);
|
||||
}
|
||||
|
||||
this._disposePopper();
|
||||
|
||||
super.dispose();
|
||||
@@ -3902,13 +3911,13 @@ class Tooltip extends BaseComponent {
|
||||
}
|
||||
|
||||
const complete = () => {
|
||||
const previousHoverState = this._isHovered;
|
||||
this._isHovered = false;
|
||||
EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2));
|
||||
|
||||
if (previousHoverState) {
|
||||
if (this._isHovered === false) {
|
||||
this._leave();
|
||||
}
|
||||
|
||||
this._isHovered = false;
|
||||
};
|
||||
|
||||
this._queueCallback(complete, this.tip, this._isAnimated());
|
||||
@@ -3939,7 +3948,7 @@ class Tooltip extends BaseComponent {
|
||||
this._activeTrigger[TRIGGER_CLICK] = false;
|
||||
this._activeTrigger[TRIGGER_FOCUS] = false;
|
||||
this._activeTrigger[TRIGGER_HOVER] = false;
|
||||
this._isHovered = false;
|
||||
this._isHovered = null; // it is a trick to support manual triggering
|
||||
|
||||
const complete = () => {
|
||||
if (this._isWithActiveTrigger()) {
|
||||
@@ -4302,7 +4311,7 @@ defineJQueryPlugin(Tooltip);
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): popover.js
|
||||
* Bootstrap (v5.2.1): popover.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -4385,7 +4394,7 @@ defineJQueryPlugin(Popover);
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): scrollspy.js
|
||||
* Bootstrap (v5.2.1): scrollspy.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -4416,14 +4425,16 @@ const Default$1 = {
|
||||
// TODO: v6 @deprecated, keep it for backwards compatibility reasons
|
||||
rootMargin: '0px 0px -25%',
|
||||
smoothScroll: false,
|
||||
target: null
|
||||
target: null,
|
||||
threshold: [0.1, 0.5, 1]
|
||||
};
|
||||
const DefaultType$1 = {
|
||||
offset: '(number|null)',
|
||||
// TODO v6 @deprecated, keep it for backwards compatibility reasons
|
||||
rootMargin: 'string',
|
||||
smoothScroll: 'boolean',
|
||||
target: 'element'
|
||||
target: 'element',
|
||||
threshold: 'array'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
@@ -4484,7 +4495,14 @@ class ScrollSpy extends BaseComponent {
|
||||
|
||||
_configAfterMerge(config) {
|
||||
// TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case
|
||||
config.target = getElement(config.target) || document.body;
|
||||
config.target = getElement(config.target) || document.body; // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only
|
||||
|
||||
config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin;
|
||||
|
||||
if (typeof config.threshold === 'string') {
|
||||
config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value));
|
||||
}
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
@@ -4520,8 +4538,8 @@ class ScrollSpy extends BaseComponent {
|
||||
_getNewObserver() {
|
||||
const options = {
|
||||
root: this._rootElement,
|
||||
threshold: [0.1, 0.5, 1],
|
||||
rootMargin: this._getRootMargin()
|
||||
threshold: this._config.threshold,
|
||||
rootMargin: this._config.rootMargin
|
||||
};
|
||||
return new IntersectionObserver(entries => this._observerCallback(entries), options);
|
||||
} // The logic of selection
|
||||
@@ -4566,11 +4584,6 @@ class ScrollSpy extends BaseComponent {
|
||||
activate(entry);
|
||||
}
|
||||
}
|
||||
} // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only
|
||||
|
||||
|
||||
_getRootMargin() {
|
||||
return this._config.offset ? `${this._config.offset}px 0px -30%` : this._config.rootMargin;
|
||||
}
|
||||
|
||||
_initializeTargetsAndObservables() {
|
||||
@@ -4672,7 +4685,7 @@ defineJQueryPlugin(ScrollSpy);
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): tab.js
|
||||
* Bootstrap (v5.2.1): tab.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -4985,7 +4998,7 @@ defineJQueryPlugin(Tab);
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0): toast.js
|
||||
* Bootstrap (v5.2.1): toast.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
Reference in New Issue
Block a user