diff options
Diffstat (limited to 'js/dist/alert.js')
| -rw-r--r-- | js/dist/alert.js | 254 |
1 files changed, 106 insertions, 148 deletions
diff --git a/js/dist/alert.js b/js/dist/alert.js index 78bf69cc5..33b3269c3 100644 --- a/js/dist/alert.js +++ b/js/dist/alert.js @@ -1,56 +1,70 @@ /*! - * Bootstrap alert.js v5.0.0-alpha3 (https://getbootstrap.com/) - * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Bootstrap alert.js v5.0.0-beta3 (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/data.js'), require('./dom/event-handler.js')) : - typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler'], factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Alert = factory(global.Data, global.EventHandler)); -}(this, (function (Data, EventHandler) { 'use strict'; + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./base-component.js')) : + typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler', './base-component'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Alert = factory(global.Data, global.EventHandler, global.Base)); +}(this, (function (Data, EventHandler, BaseComponent) { 'use strict'; function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var Data__default = /*#__PURE__*/_interopDefaultLegacy(Data); var EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler); + var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent); /** * -------------------------------------------------------------------------- - * Bootstrap (v5.0.0-alpha3): util/index.js + * Bootstrap (v5.0.0-beta3): util/index.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ - var MILLISECONDS_MULTIPLIER = 1000; - var TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp) + const MILLISECONDS_MULTIPLIER = 1000; + const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp) - var getSelector = function getSelector(element) { - var selector = element.getAttribute('data-bs-target'); + const getSelector = element => { + let selector = element.getAttribute('data-bs-target'); if (!selector || selector === '#') { - var hrefAttr = element.getAttribute('href'); + let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes, + // so everything starting with `#` or `.`. If a "real" URL is used as the selector, + // `document.querySelector` will rightfully complain it is invalid. + // See https://github.com/twbs/bootstrap/issues/32273 + + if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) { + return null; + } // Just in case some CMS puts out a full URL with the anchor appended + + + if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) { + hrefAttr = '#' + hrefAttr.split('#')[1]; + } + selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null; } return selector; }; - var getElementFromSelector = function getElementFromSelector(element) { - var selector = getSelector(element); + const getElementFromSelector = element => { + const selector = getSelector(element); return selector ? document.querySelector(selector) : null; }; - var getTransitionDurationFromElement = function getTransitionDurationFromElement(element) { + const getTransitionDurationFromElement = element => { if (!element) { return 0; } // Get transition-duration of the element - var _window$getComputedSt = window.getComputedStyle(element), - transitionDuration = _window$getComputedSt.transitionDuration, - transitionDelay = _window$getComputedSt.transitionDelay; - - var floatTransitionDuration = Number.parseFloat(transitionDuration); - var floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found + let { + transitionDuration, + transitionDelay + } = window.getComputedStyle(element); + const floatTransitionDuration = Number.parseFloat(transitionDuration); + const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found if (!floatTransitionDuration && !floatTransitionDelay) { return 0; @@ -62,14 +76,14 @@ return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; }; - var triggerTransitionEnd = function triggerTransitionEnd(element) { + const triggerTransitionEnd = element => { element.dispatchEvent(new Event(TRANSITION_END)); }; - var emulateTransitionEnd = function emulateTransitionEnd(element, duration) { - var called = false; - var durationPadding = 5; - var emulatedDuration = duration + durationPadding; + const emulateTransitionEnd = (element, duration) => { + let called = false; + const durationPadding = 5; + const emulatedDuration = duration + durationPadding; function listener() { called = true; @@ -77,16 +91,17 @@ } element.addEventListener(TRANSITION_END, listener); - setTimeout(function () { + setTimeout(() => { if (!called) { triggerTransitionEnd(element); } }, emulatedDuration); }; - var getjQuery = function getjQuery() { - var _window = window, - jQuery = _window.jQuery; + const getjQuery = () => { + const { + jQuery + } = window; if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { return jQuery; @@ -95,7 +110,7 @@ return null; }; - var onDOMContentLoaded = function onDOMContentLoaded(callback) { + const onDOMContentLoaded = callback => { if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', callback); } else { @@ -103,94 +118,64 @@ } }; - var isRTL = document.documentElement.dir === 'rtl'; - - 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); } } - - function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - - var VERSION = '5.0.0-alpha3'; - - var BaseComponent = /*#__PURE__*/function () { - function BaseComponent(element) { - if (!element) { - return; - } - - this._element = element; - Data__default['default'].setData(element, this.constructor.DATA_KEY, this); - } - - var _proto = BaseComponent.prototype; - - _proto.dispose = function dispose() { - Data__default['default'].removeData(this._element, this.constructor.DATA_KEY); - this._element = null; - } - /** Static */ - ; + const defineJQueryPlugin = (name, plugin) => { + onDOMContentLoaded(() => { + const $ = getjQuery(); + /* istanbul ignore if */ - BaseComponent.getInstance = function getInstance(element) { - return Data__default['default'].getData(element, this.DATA_KEY); - }; + if ($) { + const JQUERY_NO_CONFLICT = $.fn[name]; + $.fn[name] = plugin.jQueryInterface; + $.fn[name].Constructor = plugin; - _createClass(BaseComponent, null, [{ - key: "VERSION", - get: function get() { - return VERSION; + $.fn[name].noConflict = () => { + $.fn[name] = JQUERY_NO_CONFLICT; + return plugin.jQueryInterface; + }; } - }]); - - return BaseComponent; - }(); - - function _defineProperties$1(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); } } - - function _createClass$1(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$1(Constructor.prototype, protoProps); if (staticProps) _defineProperties$1(Constructor, staticProps); return Constructor; } + }); + }; - function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } + /** + * -------------------------------------------------------------------------- + * Bootstrap (v5.0.0-beta3): alert.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ - var NAME = 'alert'; - var DATA_KEY = 'bs.alert'; - var EVENT_KEY = "." + DATA_KEY; - var DATA_API_KEY = '.data-api'; - var SELECTOR_DISMISS = '[data-bs-dismiss="alert"]'; - var EVENT_CLOSE = "close" + EVENT_KEY; - var EVENT_CLOSED = "closed" + EVENT_KEY; - var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY; - var CLASSNAME_ALERT = 'alert'; - var CLASSNAME_FADE = 'fade'; - var CLASSNAME_SHOW = 'show'; + const NAME = 'alert'; + const DATA_KEY = 'bs.alert'; + const EVENT_KEY = `.${DATA_KEY}`; + const DATA_API_KEY = '.data-api'; + const SELECTOR_DISMISS = '[data-bs-dismiss="alert"]'; + const EVENT_CLOSE = `close${EVENT_KEY}`; + const EVENT_CLOSED = `closed${EVENT_KEY}`; + const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`; + const CLASS_NAME_ALERT = 'alert'; + const CLASS_NAME_FADE = 'fade'; + const CLASS_NAME_SHOW = 'show'; /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ - var Alert = /*#__PURE__*/function (_BaseComponent) { - _inheritsLoose(Alert, _BaseComponent); - - function Alert() { - return _BaseComponent.apply(this, arguments) || this; - } + class Alert extends BaseComponent__default['default'] { + // Getters + static get DATA_KEY() { + return DATA_KEY; + } // Public - var _proto = Alert.prototype; - // Public - _proto.close = function close(element) { - var rootElement = element ? this._getRootElement(element) : this._element; + close(element) { + const rootElement = element ? this._getRootElement(element) : this._element; - var customEvent = this._triggerCloseEvent(rootElement); + const customEvent = this._triggerCloseEvent(rootElement); if (customEvent === null || customEvent.defaultPrevented) { return; @@ -198,46 +183,42 @@ this._removeElement(rootElement); } // Private - ; - _proto._getRootElement = function _getRootElement(element) { - return getElementFromSelector(element) || element.closest("." + CLASSNAME_ALERT); - }; - _proto._triggerCloseEvent = function _triggerCloseEvent(element) { - return EventHandler__default['default'].trigger(element, EVENT_CLOSE); - }; + _getRootElement(element) { + return getElementFromSelector(element) || element.closest(`.${CLASS_NAME_ALERT}`); + } - _proto._removeElement = function _removeElement(element) { - var _this = this; + _triggerCloseEvent(element) { + return EventHandler__default['default'].trigger(element, EVENT_CLOSE); + } - element.classList.remove(CLASSNAME_SHOW); + _removeElement(element) { + element.classList.remove(CLASS_NAME_SHOW); - if (!element.classList.contains(CLASSNAME_FADE)) { + if (!element.classList.contains(CLASS_NAME_FADE)) { this._destroyElement(element); return; } - var transitionDuration = getTransitionDurationFromElement(element); - EventHandler__default['default'].one(element, TRANSITION_END, function () { - return _this._destroyElement(element); - }); + const transitionDuration = getTransitionDurationFromElement(element); + EventHandler__default['default'].one(element, 'transitionend', () => this._destroyElement(element)); emulateTransitionEnd(element, transitionDuration); - }; + } - _proto._destroyElement = function _destroyElement(element) { + _destroyElement(element) { if (element.parentNode) { element.parentNode.removeChild(element); } EventHandler__default['default'].trigger(element, EVENT_CLOSED); } // Static - ; - Alert.jQueryInterface = function jQueryInterface(config) { + + static jQueryInterface(config) { return this.each(function () { - var data = Data__default['default'].getData(this, DATA_KEY); + let data = Data__default['default'].get(this, DATA_KEY); if (!data) { data = new Alert(this); @@ -247,9 +228,9 @@ data[config](this); } }); - }; + } - Alert.handleDismiss = function handleDismiss(alertInstance) { + static handleDismiss(alertInstance) { return function (event) { if (event) { event.preventDefault(); @@ -257,18 +238,9 @@ alertInstance.close(this); }; - }; - - _createClass$1(Alert, null, [{ - key: "DATA_KEY", - // Getters - get: function get() { - return DATA_KEY; - } - }]); + } - return Alert; - }(BaseComponent); + } /** * ------------------------------------------------------------------------ * Data Api implementation @@ -284,21 +256,7 @@ * add .Alert to jQuery only if jQuery is present */ - onDOMContentLoaded(function () { - var $ = getjQuery(); - /* istanbul ignore if */ - - if ($) { - var JQUERY_NO_CONFLICT = $.fn[NAME]; - $.fn[NAME] = Alert.jQueryInterface; - $.fn[NAME].Constructor = Alert; - - $.fn[NAME].noConflict = function () { - $.fn[NAME] = JQUERY_NO_CONFLICT; - return Alert.jQueryInterface; - }; - } - }); + defineJQueryPlugin(NAME, Alert); return Alert; |
