mirror of
https://github.com/tabler/tabler.git
synced 2026-08-25 04:14:23 +04:00
Release 1.0.0-beta17
This commit is contained in:
Vendored
+128
-117
@@ -1,9 +1,9 @@
|
||||
/*!
|
||||
* Tabler v1.0.0-beta16 (https://tabler.io)
|
||||
* @version 1.0.0-beta16
|
||||
* Tabler v1.0.0-beta17 (https://tabler.io)
|
||||
* @version 1.0.0-beta17
|
||||
* @link https://tabler.io
|
||||
* Copyright 2018-2022 The Tabler Authors
|
||||
* Copyright 2018-2022 codecalm.net Paweł Kuna
|
||||
* Copyright 2018-2023 The Tabler Authors
|
||||
* Copyright 2018-2023 codecalm.net Paweł Kuna
|
||||
* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE)
|
||||
*/
|
||||
var e,t,n="function"==typeof Map?new Map:(e=[],t=[],{has:function(t){return e.indexOf(t)>-1},get:function(n){return t[e.indexOf(n)]},set:function(n,o){-1===e.indexOf(n)&&(e.push(n),t.push(o));},delete:function(n){var o=e.indexOf(n);o>-1&&(e.splice(o,1),t.splice(o,1));}}),o=function(e){return new Event(e,{bubbles:!0})};try{new Event("test");}catch(e){o=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!1),t};}function r(e){var t=n.get(e);t&&t.destroy();}function i(e){var t=n.get(e);t&&t.update();}var l=null;"undefined"==typeof window||"function"!=typeof window.getComputedStyle?((l=function(e){return e}).destroy=function(e){return e},l.update=function(e){return e}):((l=function(e,t){return e&&Array.prototype.forEach.call(e.length?e:[e],function(e){return function(e){if(e&&e.nodeName&&"TEXTAREA"===e.nodeName&&!n.has(e)){var t,r=null,i=null,l=null,a=function(){e.clientWidth!==i&&p();},d=function(t){window.removeEventListener("resize",a,!1),e.removeEventListener("input",p,!1),e.removeEventListener("keyup",p,!1),e.removeEventListener("autosize:destroy",d,!1),e.removeEventListener("autosize:update",p,!1),Object.keys(t).forEach(function(n){e.style[n]=t[n];}),n.delete(e);}.bind(e,{height:e.style.height,resize:e.style.resize,overflowY:e.style.overflowY,overflowX:e.style.overflowX,wordWrap:e.style.wordWrap});e.addEventListener("autosize:destroy",d,!1),"onpropertychange"in e&&"oninput"in e&&e.addEventListener("keyup",p,!1),window.addEventListener("resize",a,!1),e.addEventListener("input",p,!1),e.addEventListener("autosize:update",p,!1),e.style.overflowX="hidden",e.style.wordWrap="break-word",n.set(e,{destroy:d,update:p}),"vertical"===(t=window.getComputedStyle(e,null)).resize?e.style.resize="none":"both"===t.resize&&(e.style.resize="horizontal"),r="content-box"===t.boxSizing?-(parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)):parseFloat(t.borderTopWidth)+parseFloat(t.borderBottomWidth),isNaN(r)&&(r=0),p();}function s(t){var n=e.style.width;e.style.width="0px",e.style.width=n,e.style.overflowY=t;}function u(){if(0!==e.scrollHeight){var t=function(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&(e.parentNode.style.scrollBehavior="auto",t.push([e.parentNode,e.parentNode.scrollTop])),e=e.parentNode;return function(){return t.forEach(function(e){var t=e[0];t.scrollTop=e[1],t.style.scrollBehavior=null;})}}(e);e.style.height="",e.style.height=e.scrollHeight+r+"px",i=e.clientWidth,t();}}function p(){u();var t=Math.round(parseFloat(e.style.height)),n=window.getComputedStyle(e,null),r="content-box"===n.boxSizing?Math.round(parseFloat(n.height)):e.offsetHeight;if(r<t?"hidden"===n.overflowY&&(s("scroll"),u(),r="content-box"===n.boxSizing?Math.round(parseFloat(window.getComputedStyle(e,null).height)):e.offsetHeight):"hidden"!==n.overflowY&&(s("hidden"),u(),r="content-box"===n.boxSizing?Math.round(parseFloat(window.getComputedStyle(e,null).height)):e.offsetHeight),l!==r){l=r;var i=o("autosize:resized");try{e.dispatchEvent(i);}catch(e){}}}}(e)}),e}).destroy=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],r),e},l.update=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],i),e});var a=l;
|
||||
@@ -4716,13 +4716,19 @@ var Popper = /*#__PURE__*/Object.freeze({
|
||||
});
|
||||
|
||||
/*!
|
||||
* Bootstrap v5.2.3 (https://getbootstrap.com/)
|
||||
* Bootstrap v5.3.0-alpha1 (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)
|
||||
*/
|
||||
const MAX_UID = 1000000;
|
||||
const MILLISECONDS_MULTIPLIER = 1000;
|
||||
const TRANSITION_END = 'transitionend';
|
||||
const parseSelector = selector => {
|
||||
if (selector && window.CSS && window.CSS.escape) {
|
||||
selector = selector.replace(/#([^\s"#']+)/g, (match, id) => `#${CSS.escape(id)}`);
|
||||
}
|
||||
return selector;
|
||||
};
|
||||
const toType = object => {
|
||||
if (object === null || object === undefined) {
|
||||
return `${object}`;
|
||||
@@ -4735,31 +4741,6 @@ const getUID = prefix => {
|
||||
} while (document.getElementById(prefix));
|
||||
return prefix;
|
||||
};
|
||||
const getSelector = element => {
|
||||
let selector = element.getAttribute('data-bs-target');
|
||||
if (!selector || selector === '#') {
|
||||
let hrefAttribute = element.getAttribute('href');
|
||||
if (!hrefAttribute || !hrefAttribute.includes('#') && !hrefAttribute.startsWith('.')) {
|
||||
return null;
|
||||
}
|
||||
if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {
|
||||
hrefAttribute = `#${hrefAttribute.split('#')[1]}`;
|
||||
}
|
||||
selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null;
|
||||
}
|
||||
return selector;
|
||||
};
|
||||
const getSelectorFromElement = element => {
|
||||
const selector = getSelector(element);
|
||||
if (selector) {
|
||||
return document.querySelector(selector) ? selector : null;
|
||||
}
|
||||
return null;
|
||||
};
|
||||
const getElementFromSelector = element => {
|
||||
const selector = getSelector(element);
|
||||
return selector ? document.querySelector(selector) : null;
|
||||
};
|
||||
const getTransitionDurationFromElement = element => {
|
||||
if (!element) {
|
||||
return 0;
|
||||
@@ -4794,7 +4775,7 @@ const getElement = object => {
|
||||
return object.jquery ? object[0] : object;
|
||||
}
|
||||
if (typeof object === 'string' && object.length > 0) {
|
||||
return document.querySelector(object);
|
||||
return document.querySelector(parseSelector(object));
|
||||
}
|
||||
return null;
|
||||
};
|
||||
@@ -4887,10 +4868,8 @@ const defineJQueryPlugin = plugin => {
|
||||
}
|
||||
});
|
||||
};
|
||||
const execute = callback => {
|
||||
if (typeof callback === 'function') {
|
||||
callback();
|
||||
}
|
||||
const execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {
|
||||
return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue;
|
||||
};
|
||||
const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {
|
||||
if (!waitForTransition) {
|
||||
@@ -5033,9 +5012,8 @@ function removeHandler(element, events, typeEvent, handler, delegationSelector)
|
||||
}
|
||||
function removeNamespacedHandlers(element, events, typeEvent, namespace) {
|
||||
const storeElementEvent = events[typeEvent] || {};
|
||||
for (const handlerKey of Object.keys(storeElementEvent)) {
|
||||
for (const [handlerKey, event] of Object.entries(storeElementEvent)) {
|
||||
if (handlerKey.includes(namespace)) {
|
||||
const event = storeElementEvent[handlerKey];
|
||||
removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);
|
||||
}
|
||||
}
|
||||
@@ -5072,10 +5050,9 @@ const EventHandler = {
|
||||
removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));
|
||||
}
|
||||
}
|
||||
for (const keyHandlers of Object.keys(storeElementEvent)) {
|
||||
for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {
|
||||
const handlerKey = keyHandlers.replace(stripUidRegex, '');
|
||||
if (!inNamespace || originalTypeEvent.includes(handlerKey)) {
|
||||
const event = storeElementEvent[keyHandlers];
|
||||
removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);
|
||||
}
|
||||
}
|
||||
@@ -5115,8 +5092,8 @@ const EventHandler = {
|
||||
return evt;
|
||||
}
|
||||
};
|
||||
function hydrateObj(obj, meta) {
|
||||
for (const [key, value] of Object.entries(meta || {})) {
|
||||
function hydrateObj(obj, meta = {}) {
|
||||
for (const [key, value] of Object.entries(meta)) {
|
||||
try {
|
||||
obj[key] = value;
|
||||
} catch (_unused) {
|
||||
@@ -5230,15 +5207,15 @@ class Config {
|
||||
}
|
||||
_mergeConfigObj(config, element) {
|
||||
const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {};
|
||||
return { ...this.constructor.Default,
|
||||
return {
|
||||
...this.constructor.Default,
|
||||
...(typeof jsonConfig === 'object' ? jsonConfig : {}),
|
||||
...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),
|
||||
...(typeof config === 'object' ? config : {})
|
||||
};
|
||||
}
|
||||
_typeCheckConfig(config, configTypes = this.constructor.DefaultType) {
|
||||
for (const property of Object.keys(configTypes)) {
|
||||
const expectedTypes = configTypes[property];
|
||||
for (const [property, expectedTypes] of Object.entries(configTypes)) {
|
||||
const value = config[property];
|
||||
const valueType = isElement(value) ? 'element' : toType(value);
|
||||
if (!new RegExp(expectedTypes).test(valueType)) {
|
||||
@@ -5247,7 +5224,7 @@ class Config {
|
||||
}
|
||||
}
|
||||
}
|
||||
const VERSION = '5.2.3';
|
||||
const VERSION = '5.3.0-alpha1';
|
||||
class BaseComponent extends Config {
|
||||
constructor(element, config) {
|
||||
super();
|
||||
@@ -5294,6 +5271,79 @@ class BaseComponent extends Config {
|
||||
return `${name}${this.EVENT_KEY}`;
|
||||
}
|
||||
}
|
||||
const getSelector = element => {
|
||||
let selector = element.getAttribute('data-bs-target');
|
||||
if (!selector || selector === '#') {
|
||||
let hrefAttribute = element.getAttribute('href');
|
||||
if (!hrefAttribute || !hrefAttribute.includes('#') && !hrefAttribute.startsWith('.')) {
|
||||
return null;
|
||||
}
|
||||
if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {
|
||||
hrefAttribute = `#${hrefAttribute.split('#')[1]}`;
|
||||
}
|
||||
selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null;
|
||||
}
|
||||
return parseSelector(selector);
|
||||
};
|
||||
const SelectorEngine = {
|
||||
find(selector, element = document.documentElement) {
|
||||
return [].concat(...Element.prototype.querySelectorAll.call(element, selector));
|
||||
},
|
||||
findOne(selector, element = document.documentElement) {
|
||||
return Element.prototype.querySelector.call(element, selector);
|
||||
},
|
||||
children(element, selector) {
|
||||
return [].concat(...element.children).filter(child => child.matches(selector));
|
||||
},
|
||||
parents(element, selector) {
|
||||
const parents = [];
|
||||
let ancestor = element.parentNode.closest(selector);
|
||||
while (ancestor) {
|
||||
parents.push(ancestor);
|
||||
ancestor = ancestor.parentNode.closest(selector);
|
||||
}
|
||||
return parents;
|
||||
},
|
||||
prev(element, selector) {
|
||||
let previous = element.previousElementSibling;
|
||||
while (previous) {
|
||||
if (previous.matches(selector)) {
|
||||
return [previous];
|
||||
}
|
||||
previous = previous.previousElementSibling;
|
||||
}
|
||||
return [];
|
||||
},
|
||||
next(element, selector) {
|
||||
let next = element.nextElementSibling;
|
||||
while (next) {
|
||||
if (next.matches(selector)) {
|
||||
return [next];
|
||||
}
|
||||
next = next.nextElementSibling;
|
||||
}
|
||||
return [];
|
||||
},
|
||||
focusableChildren(element) {
|
||||
const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable="true"]'].map(selector => `${selector}:not([tabindex^="-"])`).join(',');
|
||||
return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el));
|
||||
},
|
||||
getSelectorFromElement(element) {
|
||||
const selector = getSelector(element);
|
||||
if (selector) {
|
||||
return SelectorEngine.findOne(selector) ? selector : null;
|
||||
}
|
||||
return null;
|
||||
},
|
||||
getElementFromSelector(element) {
|
||||
const selector = getSelector(element);
|
||||
return selector ? SelectorEngine.findOne(selector) : null;
|
||||
},
|
||||
getMultipleElementsFromSelector(element) {
|
||||
const selector = getSelector(element);
|
||||
return selector ? SelectorEngine.find(selector) : [];
|
||||
}
|
||||
};
|
||||
const enableDismissTrigger = (component, method = 'hide') => {
|
||||
const clickEvent = `click.dismiss${component.EVENT_KEY}`;
|
||||
const name = component.NAME;
|
||||
@@ -5304,7 +5354,7 @@ const enableDismissTrigger = (component, method = 'hide') => {
|
||||
if (isDisabled(this)) {
|
||||
return;
|
||||
}
|
||||
const target = getElementFromSelector(this) || this.closest(`.${name}`);
|
||||
const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`);
|
||||
const instance = component.getOrCreateInstance(target);
|
||||
instance[method]();
|
||||
});
|
||||
@@ -5379,50 +5429,6 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event
|
||||
data.toggle();
|
||||
});
|
||||
defineJQueryPlugin(Button);
|
||||
const SelectorEngine = {
|
||||
find(selector, element = document.documentElement) {
|
||||
return [].concat(...Element.prototype.querySelectorAll.call(element, selector));
|
||||
},
|
||||
findOne(selector, element = document.documentElement) {
|
||||
return Element.prototype.querySelector.call(element, selector);
|
||||
},
|
||||
children(element, selector) {
|
||||
return [].concat(...element.children).filter(child => child.matches(selector));
|
||||
},
|
||||
parents(element, selector) {
|
||||
const parents = [];
|
||||
let ancestor = element.parentNode.closest(selector);
|
||||
while (ancestor) {
|
||||
parents.push(ancestor);
|
||||
ancestor = ancestor.parentNode.closest(selector);
|
||||
}
|
||||
return parents;
|
||||
},
|
||||
prev(element, selector) {
|
||||
let previous = element.previousElementSibling;
|
||||
while (previous) {
|
||||
if (previous.matches(selector)) {
|
||||
return [previous];
|
||||
}
|
||||
previous = previous.previousElementSibling;
|
||||
}
|
||||
return [];
|
||||
},
|
||||
next(element, selector) {
|
||||
let next = element.nextElementSibling;
|
||||
while (next) {
|
||||
if (next.matches(selector)) {
|
||||
return [next];
|
||||
}
|
||||
next = next.nextElementSibling;
|
||||
}
|
||||
return [];
|
||||
},
|
||||
focusableChildren(element) {
|
||||
const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable="true"]'].map(selector => `${selector}:not([tabindex^="-"])`).join(',');
|
||||
return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el));
|
||||
}
|
||||
};
|
||||
const NAME$d = 'swipe';
|
||||
const EVENT_KEY$9 = '.bs.swipe';
|
||||
const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`;
|
||||
@@ -5811,7 +5817,7 @@ class Carousel extends BaseComponent {
|
||||
}
|
||||
}
|
||||
EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) {
|
||||
const target = getElementFromSelector(this);
|
||||
const target = SelectorEngine.getElementFromSelector(this);
|
||||
if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {
|
||||
return;
|
||||
}
|
||||
@@ -5872,7 +5878,7 @@ class Collapse extends BaseComponent {
|
||||
this._triggerArray = [];
|
||||
const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);
|
||||
for (const elem of toggleList) {
|
||||
const selector = getSelectorFromElement(elem);
|
||||
const selector = SelectorEngine.getSelectorFromElement(elem);
|
||||
const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);
|
||||
if (selector !== null && filterElement.length) {
|
||||
this._triggerArray.push(elem);
|
||||
@@ -5954,7 +5960,7 @@ class Collapse extends BaseComponent {
|
||||
this._element.classList.add(CLASS_NAME_COLLAPSING);
|
||||
this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);
|
||||
for (const trigger of this._triggerArray) {
|
||||
const element = getElementFromSelector(trigger);
|
||||
const element = SelectorEngine.getElementFromSelector(trigger);
|
||||
if (element && !this._isShown(element)) {
|
||||
this._addAriaAndCollapsedClass([trigger], false);
|
||||
}
|
||||
@@ -5986,7 +5992,7 @@ class Collapse extends BaseComponent {
|
||||
}
|
||||
const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4);
|
||||
for (const element of children) {
|
||||
const selected = getElementFromSelector(element);
|
||||
const selected = SelectorEngine.getElementFromSelector(element);
|
||||
if (selected) {
|
||||
this._addAriaAndCollapsedClass([element], this._isShown(selected));
|
||||
}
|
||||
@@ -6025,9 +6031,7 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, functi
|
||||
if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {
|
||||
event.preventDefault();
|
||||
}
|
||||
const selector = getSelectorFromElement(this);
|
||||
const selectorElements = SelectorEngine.find(selector);
|
||||
for (const element of selectorElements) {
|
||||
for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {
|
||||
Collapse.getOrCreateInstance(element, {
|
||||
toggle: false
|
||||
}).toggle();
|
||||
@@ -6251,8 +6255,9 @@ class Dropdown extends BaseComponent {
|
||||
enabled: false
|
||||
}];
|
||||
}
|
||||
return { ...defaultBsPopperConfig,
|
||||
...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)
|
||||
return {
|
||||
...defaultBsPopperConfig,
|
||||
...execute(this._config.popperConfig, [defaultBsPopperConfig])
|
||||
};
|
||||
}
|
||||
_selectMenuItem({
|
||||
@@ -6819,7 +6824,7 @@ class Modal extends BaseComponent {
|
||||
}
|
||||
}
|
||||
EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) {
|
||||
const target = getElementFromSelector(this);
|
||||
const target = SelectorEngine.getElementFromSelector(this);
|
||||
if (['A', 'AREA'].includes(this.tagName)) {
|
||||
event.preventDefault();
|
||||
}
|
||||
@@ -6999,7 +7004,7 @@ class Offcanvas extends BaseComponent {
|
||||
}
|
||||
}
|
||||
EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) {
|
||||
const target = getElementFromSelector(this);
|
||||
const target = SelectorEngine.getElementFromSelector(this);
|
||||
if (['A', 'AREA'].includes(this.tagName)) {
|
||||
event.preventDefault();
|
||||
}
|
||||
@@ -7149,7 +7154,8 @@ class TemplateFactory extends Config {
|
||||
}
|
||||
changeContent(content) {
|
||||
this._checkContent(content);
|
||||
this._config.content = { ...this._config.content,
|
||||
this._config.content = {
|
||||
...this._config.content,
|
||||
...content
|
||||
};
|
||||
return this;
|
||||
@@ -7203,7 +7209,7 @@ class TemplateFactory extends Config {
|
||||
return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg;
|
||||
}
|
||||
_resolvePossibleFunction(arg) {
|
||||
return typeof arg === 'function' ? arg(this) : arg;
|
||||
return execute(arg, [this]);
|
||||
}
|
||||
_putElementInTemplate(element, templateElement) {
|
||||
if (this._config.html) {
|
||||
@@ -7447,7 +7453,8 @@ class Tooltip extends BaseComponent {
|
||||
if (this._templateFactory) {
|
||||
this._templateFactory.changeContent(content);
|
||||
} else {
|
||||
this._templateFactory = new TemplateFactory({ ...this._config,
|
||||
this._templateFactory = new TemplateFactory({
|
||||
...this._config,
|
||||
content,
|
||||
extraClass: this._resolvePossibleFunction(this._config.customClass)
|
||||
});
|
||||
@@ -7472,7 +7479,7 @@ class Tooltip extends BaseComponent {
|
||||
return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2);
|
||||
}
|
||||
_createPopper(tip) {
|
||||
const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement;
|
||||
const placement = execute(this._config.placement, [this, tip, this._element]);
|
||||
const attachment = AttachmentMap[placement.toUpperCase()];
|
||||
return createPopper(this._element, tip, this._getPopperConfig(attachment));
|
||||
}
|
||||
@@ -7489,7 +7496,7 @@ class Tooltip extends BaseComponent {
|
||||
return offset;
|
||||
}
|
||||
_resolvePossibleFunction(arg) {
|
||||
return typeof arg === 'function' ? arg.call(this._element) : arg;
|
||||
return execute(arg, [this._element]);
|
||||
}
|
||||
_getPopperConfig(attachment) {
|
||||
const defaultBsPopperConfig = {
|
||||
@@ -7523,8 +7530,9 @@ class Tooltip extends BaseComponent {
|
||||
}
|
||||
}]
|
||||
};
|
||||
return { ...defaultBsPopperConfig,
|
||||
...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)
|
||||
return {
|
||||
...defaultBsPopperConfig,
|
||||
...execute(this._config.popperConfig, [defaultBsPopperConfig])
|
||||
};
|
||||
}
|
||||
_setListeners() {
|
||||
@@ -7605,7 +7613,8 @@ class Tooltip extends BaseComponent {
|
||||
delete dataAttributes[dataAttribute];
|
||||
}
|
||||
}
|
||||
config = { ...dataAttributes,
|
||||
config = {
|
||||
...dataAttributes,
|
||||
...(typeof config === 'object' && config ? config : {})
|
||||
};
|
||||
config = this._mergeConfigObj(config);
|
||||
@@ -7631,9 +7640,9 @@ class Tooltip extends BaseComponent {
|
||||
}
|
||||
_getDelegateConfig() {
|
||||
const config = {};
|
||||
for (const key in this._config) {
|
||||
if (this.constructor.Default[key] !== this._config[key]) {
|
||||
config[key] = this._config[key];
|
||||
for (const [key, value] of Object.entries(this._config)) {
|
||||
if (this.constructor.Default[key] !== value) {
|
||||
config[key] = value;
|
||||
}
|
||||
}
|
||||
config.selector = false;
|
||||
@@ -7667,14 +7676,16 @@ defineJQueryPlugin(Tooltip);
|
||||
const NAME$3 = 'popover';
|
||||
const SELECTOR_TITLE = '.popover-header';
|
||||
const SELECTOR_CONTENT = '.popover-body';
|
||||
const Default$2 = { ...Tooltip.Default,
|
||||
const Default$2 = {
|
||||
...Tooltip.Default,
|
||||
content: '',
|
||||
offset: [0, 8],
|
||||
placement: 'right',
|
||||
template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>',
|
||||
trigger: 'click'
|
||||
};
|
||||
const DefaultType$2 = { ...Tooltip.DefaultType,
|
||||
const DefaultType$2 = {
|
||||
...Tooltip.DefaultType,
|
||||
content: '(null|string|element|function)'
|
||||
};
|
||||
class Popover extends Tooltip {
|
||||
@@ -7977,7 +7988,7 @@ class Tab extends BaseComponent {
|
||||
return;
|
||||
}
|
||||
element.classList.add(CLASS_NAME_ACTIVE);
|
||||
this._activate(getElementFromSelector(element));
|
||||
this._activate(SelectorEngine.getElementFromSelector(element));
|
||||
const complete = () => {
|
||||
if (element.getAttribute('role') !== 'tab') {
|
||||
element.classList.add(CLASS_NAME_SHOW$1);
|
||||
@@ -7998,7 +8009,7 @@ class Tab extends BaseComponent {
|
||||
}
|
||||
element.classList.remove(CLASS_NAME_ACTIVE);
|
||||
element.blur();
|
||||
this._deactivate(getElementFromSelector(element));
|
||||
this._deactivate(SelectorEngine.getElementFromSelector(element));
|
||||
const complete = () => {
|
||||
if (element.getAttribute('role') !== 'tab') {
|
||||
element.classList.remove(CLASS_NAME_SHOW$1);
|
||||
@@ -8055,7 +8066,7 @@ class Tab extends BaseComponent {
|
||||
this._setInitialAttributesOnTargetPanel(child);
|
||||
}
|
||||
_setInitialAttributesOnTargetPanel(child) {
|
||||
const target = getElementFromSelector(child);
|
||||
const target = SelectorEngine.getElementFromSelector(child);
|
||||
if (!target) {
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user