diff options
Diffstat (limited to 'dist/js/bootstrap.esm.js')
-rw-r--r-- | dist/js/bootstrap.esm.js | 136 |
1 files changed, 65 insertions, 71 deletions
diff --git a/dist/js/bootstrap.esm.js b/dist/js/bootstrap.esm.js index 3e8f2715aa..66a976be26 100644 --- a/dist/js/bootstrap.esm.js +++ b/dist/js/bootstrap.esm.js @@ -1,5 +1,5 @@ /*! - * Bootstrap v5.2.1 (https://getbootstrap.com/) + * Bootstrap v5.2.2 (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.1): util/index.js + * Bootstrap (v5.2.2): 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.1): dom/event-handler.js + * Bootstrap (v5.2.2): 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.1): dom/data.js + * Bootstrap (v5.2.2): dom/data.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -643,7 +643,7 @@ const Data = { /** * -------------------------------------------------------------------------- - * Bootstrap (v5.2.1): dom/manipulator.js + * Bootstrap (v5.2.2): dom/manipulator.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -713,7 +713,7 @@ const Manipulator = { /** * -------------------------------------------------------------------------- - * Bootstrap (v5.2.1): util/config.js + * Bootstrap (v5.2.2): util/config.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -774,7 +774,7 @@ class Config { /** * -------------------------------------------------------------------------- - * Bootstrap (v5.2.1): base-component.js + * Bootstrap (v5.2.2): 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.1'; +const VERSION = '5.2.2'; /** * Class definition */ @@ -853,7 +853,7 @@ class BaseComponent extends Config { /** * -------------------------------------------------------------------------- - * Bootstrap (v5.2.1): util/component-functions.js + * Bootstrap (v5.2.2): 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.1): alert.js + * Bootstrap (v5.2.2): alert.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -959,7 +959,7 @@ defineJQueryPlugin(Alert); /** * -------------------------------------------------------------------------- - * Bootstrap (v5.2.1): button.js + * Bootstrap (v5.2.2): button.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -1021,7 +1021,7 @@ defineJQueryPlugin(Button); /** * -------------------------------------------------------------------------- - * Bootstrap (v5.2.1): dom/selector-engine.js + * Bootstrap (v5.2.2): dom/selector-engine.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -1092,7 +1092,7 @@ const SelectorEngine = { /** * -------------------------------------------------------------------------- - * Bootstrap (v5.2.1): util/swipe.js + * Bootstrap (v5.2.2): 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.1): carousel.js + * Bootstrap (v5.2.2): carousel.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -1676,7 +1676,7 @@ defineJQueryPlugin(Carousel); /** * -------------------------------------------------------------------------- - * Bootstrap (v5.2.1): collapse.js + * Bootstrap (v5.2.2): collapse.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -1966,7 +1966,7 @@ defineJQueryPlugin(Collapse); /** * -------------------------------------------------------------------------- - * Bootstrap (v5.2.1): dropdown.js + * Bootstrap (v5.2.2): dropdown.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -2038,7 +2038,7 @@ class Dropdown extends BaseComponent { 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.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0]; + this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent); this._inNavbar = this._detectNavbar(); } // Getters @@ -2356,7 +2356,7 @@ class Dropdown extends BaseComponent { 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 getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode); const instance = Dropdown.getOrCreateInstance(getToggleButton); if (isUpOrDownEvent) { @@ -2398,7 +2398,7 @@ defineJQueryPlugin(Dropdown); /** * -------------------------------------------------------------------------- - * Bootstrap (v5.2.1): util/scrollBar.js + * Bootstrap (v5.2.2): util/scrollBar.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -2517,7 +2517,7 @@ class ScrollBarHelper { /** * -------------------------------------------------------------------------- - * Bootstrap (v5.2.1): util/backdrop.js + * Bootstrap (v5.2.2): util/backdrop.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -2663,7 +2663,7 @@ class Backdrop extends Config { /** * -------------------------------------------------------------------------- - * Bootstrap (v5.2.1): util/focustrap.js + * Bootstrap (v5.2.2): util/focustrap.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -2772,7 +2772,7 @@ class FocusTrap extends Config { /** * -------------------------------------------------------------------------- - * Bootstrap (v5.2.1): modal.js + * Bootstrap (v5.2.2): modal.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -2984,9 +2984,9 @@ class Modal extends BaseComponent { } }); EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => { + // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks 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)) { + if (this._element !== event.target || this._element !== event2.target) { return; } @@ -3148,7 +3148,7 @@ defineJQueryPlugin(Modal); /** * -------------------------------------------------------------------------- - * Bootstrap (v5.2.1): offcanvas.js + * Bootstrap (v5.2.2): offcanvas.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -3422,7 +3422,7 @@ defineJQueryPlugin(Offcanvas); /** * -------------------------------------------------------------------------- - * Bootstrap (v5.2.1): util/sanitizer.js + * Bootstrap (v5.2.2): util/sanitizer.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -3527,7 +3527,7 @@ function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) { /** * -------------------------------------------------------------------------- - * Bootstrap (v5.2.1): util/template-factory.js + * Bootstrap (v5.2.2): util/template-factory.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -3685,7 +3685,7 @@ class TemplateFactory extends Config { /** * -------------------------------------------------------------------------- - * Bootstrap (v5.2.1): tooltip.js + * Bootstrap (v5.2.2): tooltip.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -3783,6 +3783,10 @@ class Tooltip extends BaseComponent { this.tip = null; this._setListeners(); + + if (!this._config.selector) { + this._fixTitle(); + } } // Getters @@ -3811,24 +3815,12 @@ class Tooltip extends BaseComponent { this._isEnabled = !this._isEnabled; } - toggle(event) { + toggle() { if (!this._isEnabled) { return; } - if (event) { - const context = this._initializeOnDelegatedTarget(event); - - context._activeTrigger.click = !context._activeTrigger.click; - - if (context._isWithActiveTrigger()) { - context._enter(); - } else { - context._leave(); - } - - return; - } + this._activeTrigger.click = !this._activeTrigger.click; if (this._isShown()) { this._leave(); @@ -3847,8 +3839,8 @@ class Tooltip extends BaseComponent { this.tip.remove(); } - if (this._config.originalTitle) { - this._element.setAttribute('title', this._config.originalTitle); + if (this._element.getAttribute('data-bs-original-title')) { + this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title')); } this._disposePopper(); @@ -4041,7 +4033,7 @@ class Tooltip extends BaseComponent { } _getTitle() { - return this._resolvePossibleFunction(this._config.title) || this._config.originalTitle; + return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title'); } // Private @@ -4127,7 +4119,11 @@ class Tooltip extends BaseComponent { for (const trigger of triggers) { if (trigger === 'click') { - EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => this.toggle(event)); + EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => { + const context = this._initializeOnDelegatedTarget(event); + + context.toggle(); + }); } else if (trigger !== TRIGGER_MANUAL) { const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1); const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1); @@ -4155,19 +4151,10 @@ class Tooltip extends BaseComponent { }; EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); - - if (this._config.selector) { - this._config = { ...this._config, - trigger: 'manual', - selector: '' - }; - } else { - this._fixTitle(); - } } _fixTitle() { - const title = this._config.originalTitle; + const title = this._element.getAttribute('title'); if (!title) { return; @@ -4177,6 +4164,9 @@ class Tooltip extends BaseComponent { this._element.setAttribute('aria-label', title); } + this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility + + this._element.removeAttribute('title'); } @@ -4248,8 +4238,6 @@ class Tooltip extends BaseComponent { }; } - config.originalTitle = this._element.getAttribute('title') || ''; - if (typeof config.title === 'number') { config.title = config.title.toString(); } @@ -4268,11 +4256,13 @@ class Tooltip extends BaseComponent { if (this.constructor.Default[key] !== this._config[key]) { config[key] = this._config[key]; } - } // In the future can be replaced with: + } + + config.selector = false; + config.trigger = 'manual'; // In the future can be replaced with: // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]]) // `Object.fromEntries(keysWithDifferentValues)` - return config; } @@ -4311,7 +4301,7 @@ defineJQueryPlugin(Tooltip); /** * -------------------------------------------------------------------------- - * Bootstrap (v5.2.1): popover.js + * Bootstrap (v5.2.2): popover.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -4394,7 +4384,7 @@ defineJQueryPlugin(Popover); /** * -------------------------------------------------------------------------- - * Bootstrap (v5.2.1): scrollspy.js + * Bootstrap (v5.2.2): scrollspy.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -4685,7 +4675,7 @@ defineJQueryPlugin(ScrollSpy); /** * -------------------------------------------------------------------------- - * Bootstrap (v5.2.1): tab.js + * Bootstrap (v5.2.2): tab.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -4713,7 +4703,6 @@ const CLASS_NAME_SHOW$1 = 'show'; const CLASS_DROPDOWN = 'dropdown'; const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'; const SELECTOR_DROPDOWN_MENU = '.dropdown-menu'; -const SELECTOR_DROPDOWN_ITEM = '.dropdown-item'; const NOT_SELECTOR_DROPDOWN_TOGGLE = ':not(.dropdown-toggle)'; const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]'; const SELECTOR_OUTER = '.nav-item, .list-group-item'; @@ -4792,7 +4781,6 @@ class Tab extends BaseComponent { return; } - element.focus(); element.removeAttribute('tabindex'); element.setAttribute('aria-selected', true); @@ -4848,6 +4836,9 @@ class Tab extends BaseComponent { const nextActiveElement = getNextActiveElement(this._getChildren().filter(element => !isDisabled(element)), event.target, isNext, true); if (nextActiveElement) { + nextActiveElement.focus({ + preventScroll: true + }); Tab.getOrCreateInstance(nextActiveElement).show(); } } @@ -4923,7 +4914,6 @@ class Tab extends BaseComponent { toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE); toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW$1); - toggle(SELECTOR_DROPDOWN_ITEM, CLASS_NAME_ACTIVE); outerElem.setAttribute('aria-expanded', open); } @@ -4998,7 +4988,7 @@ defineJQueryPlugin(Tab); /** * -------------------------------------------------------------------------- - * Bootstrap (v5.2.1): toast.js + * Bootstrap (v5.2.2): toast.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -5149,13 +5139,17 @@ class Toast extends BaseComponent { switch (event.type) { case 'mouseover': case 'mouseout': - this._hasMouseInteraction = isInteracting; - break; + { + this._hasMouseInteraction = isInteracting; + break; + } case 'focusin': case 'focusout': - this._hasKeyboardInteraction = isInteracting; - break; + { + this._hasKeyboardInteraction = isInteracting; + break; + } } if (isInteracting) { |