Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'js/dist/tooltip.js')
-rw-r--r--js/dist/tooltip.js82
1 files changed, 40 insertions, 42 deletions
diff --git a/js/dist/tooltip.js b/js/dist/tooltip.js
index 9af74c8dbb..56744f1882 100644
--- a/js/dist/tooltip.js
+++ b/js/dist/tooltip.js
@@ -1,5 +1,5 @@
/*!
- * Bootstrap tooltip.js v5.2.0-beta1 (https://getbootstrap.com/)
+ * Bootstrap tooltip.js v5.2.0 (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)
*/
@@ -37,7 +37,7 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v5.2.0-beta1): tooltip.js
+ * Bootstrap (v5.2.0): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -75,42 +75,42 @@
LEFT: index.isRTL() ? 'right' : 'left'
};
const Default = {
+ allowList: sanitizer.DefaultAllowlist,
animation: true,
- template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div>' + '</div>',
- trigger: 'hover focus',
- title: '',
+ boundary: 'clippingParents',
+ container: false,
+ customClass: '',
delay: 0,
+ fallbackPlacements: ['top', 'right', 'bottom', 'left'],
html: false,
- selector: false,
- placement: 'top',
offset: [0, 0],
- container: false,
- fallbackPlacements: ['top', 'right', 'bottom', 'left'],
- boundary: 'clippingParents',
- customClass: '',
+ placement: 'top',
+ popperConfig: null,
sanitize: true,
sanitizeFn: null,
- allowList: sanitizer.DefaultAllowlist,
- popperConfig: null
+ selector: false,
+ template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div>' + '</div>',
+ title: '',
+ trigger: 'hover focus'
};
const DefaultType = {
+ allowList: 'object',
animation: 'boolean',
- template: 'string',
- title: '(string|element|function)',
- trigger: 'string',
+ boundary: '(string|element)',
+ container: '(string|element|boolean)',
+ customClass: '(string|function)',
delay: '(number|object)',
+ fallbackPlacements: 'array',
html: 'boolean',
- selector: '(string|boolean)',
- placement: '(string|function)',
offset: '(array|string|function)',
- container: '(string|element|boolean)',
- fallbackPlacements: 'array',
- boundary: '(string|element)',
- customClass: '(string|function)',
+ placement: '(string|function)',
+ popperConfig: '(null|object|function)',
sanitize: 'boolean',
sanitizeFn: '(null|function)',
- allowList: 'object',
- popperConfig: '(null|object|function)'
+ selector: '(string|boolean)',
+ template: 'string',
+ title: '(string|element|function)',
+ trigger: 'string'
};
/**
* Class definition
@@ -129,7 +129,8 @@
this._isHovered = false;
this._activeTrigger = {};
this._popper = null;
- this._templateFactory = null; // Protected
+ this._templateFactory = null;
+ this._newContent = null; // Protected
this.tip = null;
@@ -219,6 +220,12 @@
if (showEvent.defaultPrevented || !isInTheDom) {
return;
+ } // todo v6 remove this OR make it optional
+
+
+ if (this.tip) {
+ this.tip.remove();
+ this.tip = null;
}
const tip = this._getTipElement();
@@ -237,7 +244,7 @@
if (this._popper) {
this._popper.update();
} else {
- this._createPopper(tip);
+ this._popper = this._createPopper(tip);
}
tip.classList.add(CLASS_NAME_SHOW); // If this is a touch-enabled device we add extra
@@ -323,7 +330,7 @@
_getTipElement() {
if (!this.tip) {
- this.tip = this._createTipElement(this._getContentForTemplate());
+ this.tip = this._createTipElement(this._newContent || this._getContentForTemplate());
}
return this.tip;
@@ -351,19 +358,11 @@
}
setContent(content) {
- let isShown = false;
-
- if (this.tip) {
- isShown = this._isShown();
- this.tip.remove();
- this.tip = null;
- }
-
- this._disposePopper();
+ this._newContent = content;
- this.tip = this._createTipElement(content);
+ if (this._isShown()) {
+ this._disposePopper();
- if (isShown) {
this.show();
}
}
@@ -390,7 +389,7 @@
}
_getTitle() {
- return this._config.title;
+ return this._resolvePossibleFunction(this._config.title) || this._config.originalTitle;
} // Private
@@ -409,7 +408,7 @@
_createPopper(tip) {
const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement;
const attachment = AttachmentMap[placement.toUpperCase()];
- this._popper = Popper__namespace.createPopper(this._element, tip, this._getPopperConfig(attachment));
+ return Popper__namespace.createPopper(this._element, tip, this._getPopperConfig(attachment));
}
_getOffset() {
@@ -522,7 +521,7 @@
return;
}
- if (!this._element.getAttribute('aria-label') && !this._element.textContent) {
+ if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {
this._element.setAttribute('aria-label', title);
}
@@ -598,7 +597,6 @@
}
config.originalTitle = this._element.getAttribute('title') || '';
- config.title = this._resolvePossibleFunction(config.title) || config.originalTitle;
if (typeof config.title === 'number') {
config.title = config.title.toString();