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.js217
1 files changed, 106 insertions, 111 deletions
diff --git a/js/dist/tooltip.js b/js/dist/tooltip.js
index ae6ec8ed7f..a3e7af439a 100644
--- a/js/dist/tooltip.js
+++ b/js/dist/tooltip.js
@@ -1,5 +1,5 @@
/*!
- * Bootstrap tooltip.js v4.6.0 (https://getbootstrap.com/)
+ * Bootstrap tooltip.js v4.6.1 (https://getbootstrap.com/)
* Copyright 2011-2021 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 @@
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('popper.js'), require('./util.js')) :
typeof define === 'function' && define.amd ? define(['jquery', 'popper.js', './util'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Tooltip = factory(global.jQuery, global.Popper, global.Util));
-}(this, (function ($, Popper, Util) { 'use strict';
+})(this, (function ($, Popper, Util) { 'use strict';
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -51,7 +51,7 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.6.0): tools/sanitizer.js
+ * Bootstrap (v4.6.1): tools/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -93,14 +93,14 @@
/**
* A pattern that recognizes a commonly useful subset of URLs that are safe.
*
- * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
+ * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
*/
- var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi;
+ var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;
/**
* A pattern that matches safe data URLs. Only matches image, video and audio types.
*
- * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
+ * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
*/
var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
@@ -110,7 +110,7 @@
if (allowedAttributeList.indexOf(attrName) !== -1) {
if (uriAttrs.indexOf(attrName) !== -1) {
- return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));
+ return Boolean(SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue));
}
return true;
@@ -121,7 +121,7 @@
}); // Check if a regular expression validates the attribute.
for (var i = 0, len = regExp.length; i < len; i++) {
- if (attrName.match(regExp[i])) {
+ if (regExp[i].test(attrName)) {
return true;
}
}
@@ -152,7 +152,8 @@
return "continue";
}
- var attributeList = [].slice.call(el.attributes);
+ var attributeList = [].slice.call(el.attributes); // eslint-disable-next-line unicorn/prefer-spread
+
var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);
attributeList.forEach(function (attr) {
if (!allowedAttribute(attr, whitelistedAttributes)) {
@@ -171,38 +172,27 @@
}
/**
- * ------------------------------------------------------------------------
* Constants
- * ------------------------------------------------------------------------
*/
var NAME = 'tooltip';
- var VERSION = '4.6.0';
+ var VERSION = '4.6.1';
var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = "." + DATA_KEY;
- var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME];
+ var JQUERY_NO_CONFLICT = $__default["default"].fn[NAME];
var CLASS_PREFIX = 'bs-tooltip';
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];
- var DefaultType = {
- animation: 'boolean',
- template: 'string',
- title: '(string|element|function)',
- trigger: 'string',
- delay: '(number|object)',
- html: 'boolean',
- selector: '(string|boolean)',
- placement: '(string|function)',
- offset: '(number|string|function)',
- container: '(string|element|boolean)',
- fallbackPlacement: '(string|array)',
- boundary: '(string|element)',
- customClass: '(string|function)',
- sanitize: 'boolean',
- sanitizeFn: '(null|function)',
- whiteList: 'object',
- popperConfig: '(null|object)'
- };
+ var CLASS_NAME_FADE = 'fade';
+ var CLASS_NAME_SHOW = 'show';
+ var HOVER_STATE_SHOW = 'show';
+ var HOVER_STATE_OUT = 'out';
+ var SELECTOR_TOOLTIP_INNER = '.tooltip-inner';
+ var SELECTOR_ARROW = '.arrow';
+ var TRIGGER_HOVER = 'hover';
+ var TRIGGER_FOCUS = 'focus';
+ var TRIGGER_CLICK = 'click';
+ var TRIGGER_MANUAL = 'manual';
var AttachmentMap = {
AUTO: 'auto',
TOP: 'top',
@@ -229,8 +219,25 @@
whiteList: DefaultWhitelist,
popperConfig: null
};
- var HOVER_STATE_SHOW = 'show';
- var HOVER_STATE_OUT = 'out';
+ var DefaultType = {
+ animation: 'boolean',
+ template: 'string',
+ title: '(string|element|function)',
+ trigger: 'string',
+ delay: '(number|object)',
+ html: 'boolean',
+ selector: '(string|boolean)',
+ placement: '(string|function)',
+ offset: '(number|string|function)',
+ container: '(string|element|boolean)',
+ fallbackPlacement: '(string|array)',
+ boundary: '(string|element)',
+ customClass: '(string|function)',
+ sanitize: 'boolean',
+ sanitizeFn: '(null|function)',
+ whiteList: 'object',
+ popperConfig: '(null|object)'
+ };
var Event = {
HIDE: "hide" + EVENT_KEY,
HIDDEN: "hidden" + EVENT_KEY,
@@ -243,25 +250,15 @@
MOUSEENTER: "mouseenter" + EVENT_KEY,
MOUSELEAVE: "mouseleave" + EVENT_KEY
};
- var CLASS_NAME_FADE = 'fade';
- var CLASS_NAME_SHOW = 'show';
- var SELECTOR_TOOLTIP_INNER = '.tooltip-inner';
- var SELECTOR_ARROW = '.arrow';
- var TRIGGER_HOVER = 'hover';
- var TRIGGER_FOCUS = 'focus';
- var TRIGGER_CLICK = 'click';
- var TRIGGER_MANUAL = 'manual';
/**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
+ * Class definition
*/
var Tooltip = /*#__PURE__*/function () {
function Tooltip(element, config) {
- if (typeof Popper__default['default'] === 'undefined') {
+ if (typeof Popper__default["default"] === 'undefined') {
throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)');
- } // private
+ } // Private
this._isEnabled = true;
@@ -300,11 +297,11 @@
if (event) {
var dataKey = this.constructor.DATA_KEY;
- var context = $__default['default'](event.currentTarget).data(dataKey);
+ var context = $__default["default"](event.currentTarget).data(dataKey);
if (!context) {
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
- $__default['default'](event.currentTarget).data(dataKey, context);
+ $__default["default"](event.currentTarget).data(dataKey, context);
}
context._activeTrigger.click = !context._activeTrigger.click;
@@ -315,7 +312,7 @@
context._leave(null, context);
}
} else {
- if ($__default['default'](this.getTipElement()).hasClass(CLASS_NAME_SHOW)) {
+ if ($__default["default"](this.getTipElement()).hasClass(CLASS_NAME_SHOW)) {
this._leave(null, this);
return;
@@ -327,12 +324,12 @@
_proto.dispose = function dispose() {
clearTimeout(this._timeout);
- $__default['default'].removeData(this.element, this.constructor.DATA_KEY);
- $__default['default'](this.element).off(this.constructor.EVENT_KEY);
- $__default['default'](this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler);
+ $__default["default"].removeData(this.element, this.constructor.DATA_KEY);
+ $__default["default"](this.element).off(this.constructor.EVENT_KEY);
+ $__default["default"](this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler);
if (this.tip) {
- $__default['default'](this.tip).remove();
+ $__default["default"](this.tip).remove();
}
this._isEnabled = null;
@@ -353,29 +350,29 @@
_proto.show = function show() {
var _this = this;
- if ($__default['default'](this.element).css('display') === 'none') {
+ if ($__default["default"](this.element).css('display') === 'none') {
throw new Error('Please use show on visible elements');
}
- var showEvent = $__default['default'].Event(this.constructor.Event.SHOW);
+ var showEvent = $__default["default"].Event(this.constructor.Event.SHOW);
if (this.isWithContent() && this._isEnabled) {
- $__default['default'](this.element).trigger(showEvent);
- var shadowRoot = Util__default['default'].findShadowRoot(this.element);
- var isInTheDom = $__default['default'].contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element);
+ $__default["default"](this.element).trigger(showEvent);
+ var shadowRoot = Util__default["default"].findShadowRoot(this.element);
+ var isInTheDom = $__default["default"].contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element);
if (showEvent.isDefaultPrevented() || !isInTheDom) {
return;
}
var tip = this.getTipElement();
- var tipId = Util__default['default'].getUID(this.constructor.NAME);
+ var tipId = Util__default["default"].getUID(this.constructor.NAME);
tip.setAttribute('id', tipId);
this.element.setAttribute('aria-describedby', tipId);
this.setContent();
if (this.config.animation) {
- $__default['default'](tip).addClass(CLASS_NAME_FADE);
+ $__default["default"](tip).addClass(CLASS_NAME_FADE);
}
var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
@@ -386,22 +383,22 @@
var container = this._getContainer();
- $__default['default'](tip).data(this.constructor.DATA_KEY, this);
+ $__default["default"](tip).data(this.constructor.DATA_KEY, this);
- if (!$__default['default'].contains(this.element.ownerDocument.documentElement, this.tip)) {
- $__default['default'](tip).appendTo(container);
+ if (!$__default["default"].contains(this.element.ownerDocument.documentElement, this.tip)) {
+ $__default["default"](tip).appendTo(container);
}
- $__default['default'](this.element).trigger(this.constructor.Event.INSERTED);
- this._popper = new Popper__default['default'](this.element, tip, this._getPopperConfig(attachment));
- $__default['default'](tip).addClass(CLASS_NAME_SHOW);
- $__default['default'](tip).addClass(this.config.customClass); // If this is a touch-enabled device we add extra
+ $__default["default"](this.element).trigger(this.constructor.Event.INSERTED);
+ this._popper = new Popper__default["default"](this.element, tip, this._getPopperConfig(attachment));
+ $__default["default"](tip).addClass(CLASS_NAME_SHOW);
+ $__default["default"](tip).addClass(this.config.customClass); // If this is a touch-enabled device we add extra
// empty mouseover listeners to the body's immediate children;
// only needed because of broken event delegation on iOS
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
if ('ontouchstart' in document.documentElement) {
- $__default['default'](document.body).children().on('mouseover', null, $__default['default'].noop);
+ $__default["default"](document.body).children().on('mouseover', null, $__default["default"].noop);
}
var complete = function complete() {
@@ -411,16 +408,16 @@
var prevHoverState = _this._hoverState;
_this._hoverState = null;
- $__default['default'](_this.element).trigger(_this.constructor.Event.SHOWN);
+ $__default["default"](_this.element).trigger(_this.constructor.Event.SHOWN);
if (prevHoverState === HOVER_STATE_OUT) {
_this._leave(null, _this);
}
};
- if ($__default['default'](this.tip).hasClass(CLASS_NAME_FADE)) {
- var transitionDuration = Util__default['default'].getTransitionDurationFromElement(this.tip);
- $__default['default'](this.tip).one(Util__default['default'].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+ if ($__default["default"](this.tip).hasClass(CLASS_NAME_FADE)) {
+ var transitionDuration = Util__default["default"].getTransitionDurationFromElement(this.tip);
+ $__default["default"](this.tip).one(Util__default["default"].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
} else {
complete();
}
@@ -431,7 +428,7 @@
var _this2 = this;
var tip = this.getTipElement();
- var hideEvent = $__default['default'].Event(this.constructor.Event.HIDE);
+ var hideEvent = $__default["default"].Event(this.constructor.Event.HIDE);
var complete = function complete() {
if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {
@@ -442,7 +439,7 @@
_this2.element.removeAttribute('aria-describedby');
- $__default['default'](_this2.element).trigger(_this2.constructor.Event.HIDDEN);
+ $__default["default"](_this2.element).trigger(_this2.constructor.Event.HIDDEN);
if (_this2._popper !== null) {
_this2._popper.destroy();
@@ -453,26 +450,26 @@
}
};
- $__default['default'](this.element).trigger(hideEvent);
+ $__default["default"](this.element).trigger(hideEvent);
if (hideEvent.isDefaultPrevented()) {
return;
}
- $__default['default'](tip).removeClass(CLASS_NAME_SHOW); // If this is a touch-enabled device we remove the extra
+ $__default["default"](tip).removeClass(CLASS_NAME_SHOW); // If this is a touch-enabled device we remove the extra
// empty mouseover listeners we added for iOS support
if ('ontouchstart' in document.documentElement) {
- $__default['default'](document.body).children().off('mouseover', null, $__default['default'].noop);
+ $__default["default"](document.body).children().off('mouseover', null, $__default["default"].noop);
}
this._activeTrigger[TRIGGER_CLICK] = false;
this._activeTrigger[TRIGGER_FOCUS] = false;
this._activeTrigger[TRIGGER_HOVER] = false;
- if ($__default['default'](this.tip).hasClass(CLASS_NAME_FADE)) {
- var transitionDuration = Util__default['default'].getTransitionDurationFromElement(tip);
- $__default['default'](tip).one(Util__default['default'].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+ if ($__default["default"](this.tip).hasClass(CLASS_NAME_FADE)) {
+ var transitionDuration = Util__default["default"].getTransitionDurationFromElement(tip);
+ $__default["default"](tip).one(Util__default["default"].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
} else {
complete();
}
@@ -492,29 +489,29 @@
};
_proto.addAttachmentClass = function addAttachmentClass(attachment) {
- $__default['default'](this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
+ $__default["default"](this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
};
_proto.getTipElement = function getTipElement() {
- this.tip = this.tip || $__default['default'](this.config.template)[0];
+ this.tip = this.tip || $__default["default"](this.config.template)[0];
return this.tip;
};
_proto.setContent = function setContent() {
var tip = this.getTipElement();
- this.setElementContent($__default['default'](tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle());
- $__default['default'](tip).removeClass(CLASS_NAME_FADE + " " + CLASS_NAME_SHOW);
+ this.setElementContent($__default["default"](tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle());
+ $__default["default"](tip).removeClass(CLASS_NAME_FADE + " " + CLASS_NAME_SHOW);
};
_proto.setElementContent = function setElementContent($element, content) {
if (typeof content === 'object' && (content.nodeType || content.jquery)) {
// Content is a DOM node or a jQuery
if (this.config.html) {
- if (!$__default['default'](content).parent().is($element)) {
+ if (!$__default["default"](content).parent().is($element)) {
$element.empty().append(content);
}
} else {
- $element.text($__default['default'](content).text());
+ $element.text($__default["default"](content).text());
}
return;
@@ -578,7 +575,7 @@
if (typeof this.config.offset === 'function') {
offset.fn = function (data) {
- data.offsets = _extends({}, data.offsets, _this4.config.offset(data.offsets, _this4.element) || {});
+ data.offsets = _extends({}, data.offsets, _this4.config.offset(data.offsets, _this4.element));
return data;
};
} else {
@@ -593,11 +590,11 @@
return document.body;
}
- if (Util__default['default'].isElement(this.config.container)) {
- return $__default['default'](this.config.container);
+ if (Util__default["default"].isElement(this.config.container)) {
+ return $__default["default"](this.config.container);
}
- return $__default['default'](document).find(this.config.container);
+ return $__default["default"](document).find(this.config.container);
};
_proto._getAttachment = function _getAttachment(placement) {
@@ -610,13 +607,13 @@
var triggers = this.config.trigger.split(' ');
triggers.forEach(function (trigger) {
if (trigger === 'click') {
- $__default['default'](_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) {
+ $__default["default"](_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) {
return _this5.toggle(event);
});
} else if (trigger !== TRIGGER_MANUAL) {
var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN;
var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT;
- $__default['default'](_this5.element).on(eventIn, _this5.config.selector, function (event) {
+ $__default["default"](_this5.element).on(eventIn, _this5.config.selector, function (event) {
return _this5._enter(event);
}).on(eventOut, _this5.config.selector, function (event) {
return _this5._leave(event);
@@ -630,7 +627,7 @@
}
};
- $__default['default'](this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler);
+ $__default["default"](this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler);
if (this.config.selector) {
this.config = _extends({}, this.config, {
@@ -653,18 +650,18 @@
_proto._enter = function _enter(event, context) {
var dataKey = this.constructor.DATA_KEY;
- context = context || $__default['default'](event.currentTarget).data(dataKey);
+ context = context || $__default["default"](event.currentTarget).data(dataKey);
if (!context) {
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
- $__default['default'](event.currentTarget).data(dataKey, context);
+ $__default["default"](event.currentTarget).data(dataKey, context);
}
if (event) {
context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;
}
- if ($__default['default'](context.getTipElement()).hasClass(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {
+ if ($__default["default"](context.getTipElement()).hasClass(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {
context._hoverState = HOVER_STATE_SHOW;
return;
}
@@ -686,11 +683,11 @@
_proto._leave = function _leave(event, context) {
var dataKey = this.constructor.DATA_KEY;
- context = context || $__default['default'](event.currentTarget).data(dataKey);
+ context = context || $__default["default"](event.currentTarget).data(dataKey);
if (!context) {
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
- $__default['default'](event.currentTarget).data(dataKey, context);
+ $__default["default"](event.currentTarget).data(dataKey, context);
}
if (event) {
@@ -727,7 +724,7 @@
};
_proto._getConfig = function _getConfig(config) {
- var dataAttributes = $__default['default'](this.element).data();
+ var dataAttributes = $__default["default"](this.element).data();
Object.keys(dataAttributes).forEach(function (dataAttr) {
if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {
delete dataAttributes[dataAttr];
@@ -750,7 +747,7 @@
config.content = config.content.toString();
}
- Util__default['default'].typeCheckConfig(NAME, config, this.constructor.DefaultType);
+ Util__default["default"].typeCheckConfig(NAME, config, this.constructor.DefaultType);
if (config.sanitize) {
config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);
@@ -774,7 +771,7 @@
};
_proto._cleanTipClass = function _cleanTipClass() {
- var $tip = $__default['default'](this.getTipElement());
+ var $tip = $__default["default"](this.getTipElement());
var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
if (tabClass !== null && tabClass.length) {
@@ -798,7 +795,7 @@
return;
}
- $__default['default'](tip).removeClass(CLASS_NAME_FADE);
+ $__default["default"](tip).removeClass(CLASS_NAME_FADE);
this.config.animation = false;
this.hide();
this.show();
@@ -808,7 +805,7 @@
Tooltip._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
- var $element = $__default['default'](this);
+ var $element = $__default["default"](this);
var data = $element.data(DATA_KEY);
var _config = typeof config === 'object' && config;
@@ -872,21 +869,19 @@
return Tooltip;
}();
/**
- * ------------------------------------------------------------------------
* jQuery
- * ------------------------------------------------------------------------
*/
- $__default['default'].fn[NAME] = Tooltip._jQueryInterface;
- $__default['default'].fn[NAME].Constructor = Tooltip;
+ $__default["default"].fn[NAME] = Tooltip._jQueryInterface;
+ $__default["default"].fn[NAME].Constructor = Tooltip;
- $__default['default'].fn[NAME].noConflict = function () {
- $__default['default'].fn[NAME] = JQUERY_NO_CONFLICT;
+ $__default["default"].fn[NAME].noConflict = function () {
+ $__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
return Tooltip._jQueryInterface;
};
return Tooltip;
-})));
+}));
//# sourceMappingURL=tooltip.js.map