aboutsummaryrefslogtreecommitdiff
path: root/js/dist/base-component.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/dist/base-component.js')
-rw-r--r--js/dist/base-component.js167
1 files changed, 34 insertions, 133 deletions
diff --git a/js/dist/base-component.js b/js/dist/base-component.js
index efa333ba6..a5af19f19 100644
--- a/js/dist/base-component.js
+++ b/js/dist/base-component.js
@@ -1,180 +1,81 @@
/*!
- * Bootstrap base-component.js v5.1.3 (https://getbootstrap.com/)
- * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Bootstrap base-component.js v5.3.3 (https://getbootstrap.com/)
+ * Copyright 2011-2024 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.Base = factory(global.Data, global.EventHandler));
-})(this, (function (Data, EventHandler) { 'use strict';
-
- const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
-
- const Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
- const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./util/config.js'), require('./util/index.js')) :
+ typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler', './util/config', './util/index'], factory) :
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.BaseComponent = factory(global.Data, global.EventHandler, global.Config, global.Index));
+})(this, (function (Data, EventHandler, Config, index_js) { 'use strict';
/**
* --------------------------------------------------------------------------
- * Bootstrap (v5.1.3): util/index.js
+ * Bootstrap base-component.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
- const MILLISECONDS_MULTIPLIER = 1000;
- const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
-
- const getTransitionDurationFromElement = element => {
- if (!element) {
- return 0;
- } // Get transition-duration of the element
-
-
- 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;
- } // If multiple durations are defined, take the first
-
-
- transitionDuration = transitionDuration.split(',')[0];
- transitionDelay = transitionDelay.split(',')[0];
- return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
- };
-
- const triggerTransitionEnd = element => {
- element.dispatchEvent(new Event(TRANSITION_END));
- };
-
- const isElement = obj => {
- if (!obj || typeof obj !== 'object') {
- return false;
- }
-
- if (typeof obj.jquery !== 'undefined') {
- obj = obj[0];
- }
- return typeof obj.nodeType !== 'undefined';
- };
- const getElement = obj => {
- if (isElement(obj)) {
- // it's a jQuery object or a node element
- return obj.jquery ? obj[0] : obj;
- }
-
- if (typeof obj === 'string' && obj.length > 0) {
- return document.querySelector(obj);
- }
-
- return null;
- };
-
- const execute = callback => {
- if (typeof callback === 'function') {
- callback();
- }
- };
-
- const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {
- if (!waitForTransition) {
- execute(callback);
- return;
- }
-
- const durationPadding = 5;
- const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;
- let called = false;
-
- const handler = ({
- target
- }) => {
- if (target !== transitionElement) {
- return;
- }
-
- called = true;
- transitionElement.removeEventListener(TRANSITION_END, handler);
- execute(callback);
- };
-
- transitionElement.addEventListener(TRANSITION_END, handler);
- setTimeout(() => {
- if (!called) {
- triggerTransitionEnd(transitionElement);
- }
- }, emulatedDuration);
- };
-
- /**
- * --------------------------------------------------------------------------
- * Bootstrap (v5.1.3): base-component.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
- * --------------------------------------------------------------------------
- */
/**
- * ------------------------------------------------------------------------
* Constants
- * ------------------------------------------------------------------------
*/
- const VERSION = '5.1.3';
+ const VERSION = '5.3.3';
- class BaseComponent {
- constructor(element) {
- element = getElement(element);
+ /**
+ * Class definition
+ */
+ class BaseComponent extends Config {
+ constructor(element, config) {
+ super();
+ element = index_js.getElement(element);
if (!element) {
return;
}
-
this._element = element;
- Data__default.default.set(this._element, this.constructor.DATA_KEY, this);
+ this._config = this._getConfig(config);
+ Data.set(this._element, this.constructor.DATA_KEY, this);
}
+ // Public
dispose() {
- Data__default.default.remove(this._element, this.constructor.DATA_KEY);
- EventHandler__default.default.off(this._element, this.constructor.EVENT_KEY);
- Object.getOwnPropertyNames(this).forEach(propertyName => {
+ Data.remove(this._element, this.constructor.DATA_KEY);
+ EventHandler.off(this._element, this.constructor.EVENT_KEY);
+ for (const propertyName of Object.getOwnPropertyNames(this)) {
this[propertyName] = null;
- });
+ }
}
-
_queueCallback(callback, element, isAnimated = true) {
- executeAfterTransition(callback, element, isAnimated);
+ index_js.executeAfterTransition(callback, element, isAnimated);
+ }
+ _getConfig(config) {
+ config = this._mergeConfigObj(config, this._element);
+ config = this._configAfterMerge(config);
+ this._typeCheckConfig(config);
+ return config;
}
- /** Static */
-
+ // Static
static getInstance(element) {
- return Data__default.default.get(getElement(element), this.DATA_KEY);
+ return Data.get(index_js.getElement(element), this.DATA_KEY);
}
-
static getOrCreateInstance(element, config = {}) {
return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null);
}
-
static get VERSION() {
return VERSION;
}
-
- static get NAME() {
- throw new Error('You have to implement the static method "NAME", for each component!');
- }
-
static get DATA_KEY() {
return `bs.${this.NAME}`;
}
-
static get EVENT_KEY() {
return `.${this.DATA_KEY}`;
}
-
+ static eventName(name) {
+ return `${name}${this.EVENT_KEY}`;
+ }
}
return BaseComponent;