From f3b4308cb59bf4b21ff186f8479c82239446d139 Mon Sep 17 00:00:00 2001 From: Mario Date: Mon, 7 Jun 2021 12:56:27 +0200 Subject: upgrade to bootstrap 5.0.1 and first batch of fixes --- vendor/twbs/bootstrap/js/dist/popover.js | 272 +++++++++++++------------------ 1 file changed, 117 insertions(+), 155 deletions(-) (limited to 'vendor/twbs/bootstrap/js/dist/popover.js') diff --git a/vendor/twbs/bootstrap/js/dist/popover.js b/vendor/twbs/bootstrap/js/dist/popover.js index 04cc5df73..3524c31a2 100644 --- a/vendor/twbs/bootstrap/js/dist/popover.js +++ b/vendor/twbs/bootstrap/js/dist/popover.js @@ -1,164 +1,170 @@ /*! - * Bootstrap popover.js v4.6.0 (https://getbootstrap.com/) + * Bootstrap popover.js v5.0.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) */ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./tooltip.js')) : - typeof define === 'function' && define.amd ? define(['jquery', './tooltip'], factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.jQuery, global.Tooltip)); -}(this, (function ($, Tooltip) { 'use strict'; + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/selector-engine.js'), require('./dom/data.js'), require('./tooltip.js')) : + typeof define === 'function' && define.amd ? define(['./dom/selector-engine', './dom/data', './tooltip'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.SelectorEngine, global.Data, global.Tooltip)); +}(this, (function (SelectorEngine, Data, Tooltip) { 'use strict'; function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } - var $__default = /*#__PURE__*/_interopDefaultLegacy($); + var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine); + var Data__default = /*#__PURE__*/_interopDefaultLegacy(Data); var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip); - function _defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); + const getjQuery = () => { + const { + jQuery + } = window; + + if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { + return jQuery; } - } - function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) _defineProperties(Constructor.prototype, protoProps); - if (staticProps) _defineProperties(Constructor, staticProps); - return Constructor; - } + return null; + }; - function _extends() { - _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; + const onDOMContentLoaded = callback => { + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', callback); + } else { + callback(); + } + }; - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } + const defineJQueryPlugin = plugin => { + onDOMContentLoaded(() => { + const $ = getjQuery(); + /* istanbul ignore if */ + + if ($) { + const name = plugin.NAME; + const JQUERY_NO_CONFLICT = $.fn[name]; + $.fn[name] = plugin.jQueryInterface; + $.fn[name].Constructor = plugin; + + $.fn[name].noConflict = () => { + $.fn[name] = JQUERY_NO_CONFLICT; + return plugin.jQueryInterface; + }; } + }); + }; - return target; - }; - - return _extends.apply(this, arguments); - } - - function _inheritsLoose(subClass, superClass) { - subClass.prototype = Object.create(superClass.prototype); - subClass.prototype.constructor = subClass; - subClass.__proto__ = superClass; - } - + /** + * -------------------------------------------------------------------------- + * Bootstrap (v5.0.1): popover.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ - var NAME = 'popover'; - var VERSION = '4.6.0'; - var DATA_KEY = 'bs.popover'; - var EVENT_KEY = "." + DATA_KEY; - var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME]; - var CLASS_PREFIX = 'bs-popover'; - var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); - - var Default = _extends({}, Tooltip__default['default'].Default, { + const NAME = 'popover'; + const DATA_KEY = 'bs.popover'; + const EVENT_KEY = `.${DATA_KEY}`; + const CLASS_PREFIX = 'bs-popover'; + const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\s)${CLASS_PREFIX}\\S+`, 'g'); + const Default = { ...Tooltip__default['default'].Default, placement: 'right', + offset: [0, 8], trigger: 'click', content: '', - template: '' - }); - - var DefaultType = _extends({}, Tooltip__default['default'].DefaultType, { + template: '' + }; + const DefaultType = { ...Tooltip__default['default'].DefaultType, content: '(string|element|function)' - }); - - var CLASS_NAME_FADE = 'fade'; - var CLASS_NAME_SHOW = 'show'; - var SELECTOR_TITLE = '.popover-header'; - var SELECTOR_CONTENT = '.popover-body'; - var Event = { - HIDE: "hide" + EVENT_KEY, - HIDDEN: "hidden" + EVENT_KEY, - SHOW: "show" + EVENT_KEY, - SHOWN: "shown" + EVENT_KEY, - INSERTED: "inserted" + EVENT_KEY, - CLICK: "click" + EVENT_KEY, - FOCUSIN: "focusin" + EVENT_KEY, - FOCUSOUT: "focusout" + EVENT_KEY, - MOUSEENTER: "mouseenter" + EVENT_KEY, - MOUSELEAVE: "mouseleave" + EVENT_KEY }; + const Event = { + HIDE: `hide${EVENT_KEY}`, + HIDDEN: `hidden${EVENT_KEY}`, + SHOW: `show${EVENT_KEY}`, + SHOWN: `shown${EVENT_KEY}`, + INSERTED: `inserted${EVENT_KEY}`, + CLICK: `click${EVENT_KEY}`, + FOCUSIN: `focusin${EVENT_KEY}`, + FOCUSOUT: `focusout${EVENT_KEY}`, + MOUSEENTER: `mouseenter${EVENT_KEY}`, + MOUSELEAVE: `mouseleave${EVENT_KEY}` + }; + const CLASS_NAME_FADE = 'fade'; + const CLASS_NAME_SHOW = 'show'; + const SELECTOR_TITLE = '.popover-header'; + const SELECTOR_CONTENT = '.popover-body'; /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ - var Popover = /*#__PURE__*/function (_Tooltip) { - _inheritsLoose(Popover, _Tooltip); + class Popover extends Tooltip__default['default'] { + // Getters + static get Default() { + return Default; + } - function Popover() { - return _Tooltip.apply(this, arguments) || this; + static get NAME() { + return NAME; } - var _proto = Popover.prototype; + static get Event() { + return Event; + } - // Overrides - _proto.isWithContent = function isWithContent() { - return this.getTitle() || this._getContent(); - }; + static get DefaultType() { + return DefaultType; + } // Overrides - _proto.addAttachmentClass = function addAttachmentClass(attachment) { - $__default['default'](this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); - }; - _proto.getTipElement = function getTipElement() { - this.tip = this.tip || $__default['default'](this.config.template)[0]; - return this.tip; - }; + isWithContent() { + return this.getTitle() || this._getContent(); + } - _proto.setContent = function setContent() { - var $tip = $__default['default'](this.getTipElement()); // We use append for html objects to maintain js events + setContent() { + const tip = this.getTipElement(); // we use append for html objects to maintain js events - this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle()); + this.setElementContent(SelectorEngine__default['default'].findOne(SELECTOR_TITLE, tip), this.getTitle()); - var content = this._getContent(); + let content = this._getContent(); if (typeof content === 'function') { - content = content.call(this.element); + content = content.call(this._element); } - this.setElementContent($tip.find(SELECTOR_CONTENT), content); - $tip.removeClass(CLASS_NAME_FADE + " " + CLASS_NAME_SHOW); + this.setElementContent(SelectorEngine__default['default'].findOne(SELECTOR_CONTENT, tip), content); + tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW); } // Private - ; - _proto._getContent = function _getContent() { - return this.element.getAttribute('data-content') || this.config.content; - }; - _proto._cleanTipClass = function _cleanTipClass() { - var $tip = $__default['default'](this.getTipElement()); - var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); + _addAttachmentClass(attachment) { + this.getTipElement().classList.add(`${CLASS_PREFIX}-${this.updateAttachment(attachment)}`); + } + + _getContent() { + return this._element.getAttribute('data-bs-content') || this._config.content; + } + + _cleanTipClass() { + const tip = this.getTipElement(); + const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX); if (tabClass !== null && tabClass.length > 0) { - $tip.removeClass(tabClass.join('')); + tabClass.map(token => token.trim()).forEach(tClass => tip.classList.remove(tClass)); } } // Static - ; - Popover._jQueryInterface = function _jQueryInterface(config) { + + static jQueryInterface(config) { return this.each(function () { - var data = $__default['default'](this).data(DATA_KEY); + let data = Data__default['default'].get(this, DATA_KEY); - var _config = typeof config === 'object' ? config : null; + const _config = typeof config === 'object' ? config : null; if (!data && /dispose|hide/.test(config)) { return; @@ -166,73 +172,29 @@ if (!data) { data = new Popover(this, _config); - $__default['default'](this).data(DATA_KEY, data); + Data__default['default'].set(this, DATA_KEY, data); } if (typeof config === 'string') { if (typeof data[config] === 'undefined') { - throw new TypeError("No method named \"" + config + "\""); + throw new TypeError(`No method named "${config}"`); } data[config](); } }); - }; - - _createClass(Popover, null, [{ - key: "VERSION", - // Getters - get: function get() { - return VERSION; - } - }, { - key: "Default", - get: function get() { - return Default; - } - }, { - key: "NAME", - get: function get() { - return NAME; - } - }, { - key: "DATA_KEY", - get: function get() { - return DATA_KEY; - } - }, { - key: "Event", - get: function get() { - return Event; - } - }, { - key: "EVENT_KEY", - get: function get() { - return EVENT_KEY; - } - }, { - key: "DefaultType", - get: function get() { - return DefaultType; - } - }]); + } - return Popover; - }(Tooltip__default['default']); + } /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ + * add .Popover to jQuery only if jQuery is present */ - $__default['default'].fn[NAME] = Popover._jQueryInterface; - $__default['default'].fn[NAME].Constructor = Popover; - - $__default['default'].fn[NAME].noConflict = function () { - $__default['default'].fn[NAME] = JQUERY_NO_CONFLICT; - return Popover._jQueryInterface; - }; + defineJQueryPlugin(Popover); return Popover; -- cgit v1.2.3 From d459dfac74e90c29950d49a82edc19fd913d435e Mon Sep 17 00:00:00 2001 From: Mario Date: Thu, 29 Jul 2021 08:25:05 +0000 Subject: update to bootstrap 5.0.2 --- vendor/twbs/bootstrap/js/dist/popover.js | 55 ++++++++++++++++++++------------ 1 file changed, 35 insertions(+), 20 deletions(-) (limited to 'vendor/twbs/bootstrap/js/dist/popover.js') diff --git a/vendor/twbs/bootstrap/js/dist/popover.js b/vendor/twbs/bootstrap/js/dist/popover.js index 3524c31a2..0fc0ec4b7 100644 --- a/vendor/twbs/bootstrap/js/dist/popover.js +++ b/vendor/twbs/bootstrap/js/dist/popover.js @@ -1,18 +1,17 @@ /*! - * Bootstrap popover.js v5.0.1 (https://getbootstrap.com/) + * Bootstrap popover.js v5.0.2 (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) */ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/selector-engine.js'), require('./dom/data.js'), require('./tooltip.js')) : - typeof define === 'function' && define.amd ? define(['./dom/selector-engine', './dom/data', './tooltip'], factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.SelectorEngine, global.Data, global.Tooltip)); -}(this, (function (SelectorEngine, Data, Tooltip) { 'use strict'; + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/selector-engine.js'), require('./tooltip.js')) : + typeof define === 'function' && define.amd ? define(['./dom/selector-engine', './tooltip'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.SelectorEngine, global.Tooltip)); +}(this, (function (SelectorEngine, Tooltip) { 'use strict'; function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine); - var Data__default = /*#__PURE__*/_interopDefaultLegacy(Data); var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip); const getjQuery = () => { @@ -27,9 +26,18 @@ return null; }; + const DOMContentLoadedCallbacks = []; + const onDOMContentLoaded = callback => { if (document.readyState === 'loading') { - document.addEventListener('DOMContentLoaded', callback); + // add listener on the first call when the document is in loading state + if (!DOMContentLoadedCallbacks.length) { + document.addEventListener('DOMContentLoaded', () => { + DOMContentLoadedCallbacks.forEach(callback => callback()); + }); + } + + DOMContentLoadedCallbacks.push(callback); } else { callback(); } @@ -56,7 +64,7 @@ /** * -------------------------------------------------------------------------- - * Bootstrap (v5.0.1): popover.js + * Bootstrap (v5.0.2): popover.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -126,6 +134,24 @@ return this.getTitle() || this._getContent(); } + getTipElement() { + if (this.tip) { + return this.tip; + } + + this.tip = super.getTipElement(); + + if (!this.getTitle()) { + SelectorEngine__default['default'].findOne(SELECTOR_TITLE, this.tip).remove(); + } + + if (!this._getContent()) { + SelectorEngine__default['default'].findOne(SELECTOR_CONTENT, this.tip).remove(); + } + + return this.tip; + } + setContent() { const tip = this.getTipElement(); // we use append for html objects to maintain js events @@ -162,18 +188,7 @@ static jQueryInterface(config) { return this.each(function () { - let data = Data__default['default'].get(this, DATA_KEY); - - const _config = typeof config === 'object' ? config : null; - - if (!data && /dispose|hide/.test(config)) { - return; - } - - if (!data) { - data = new Popover(this, _config); - Data__default['default'].set(this, DATA_KEY, data); - } + const data = Popover.getOrCreateInstance(this, config); if (typeof config === 'string') { if (typeof data[config] === 'undefined') { -- cgit v1.2.3