release: 7.3.0

This commit is contained in:
k.pienkowska 2024-05-27 09:23:49 +02:00
parent 1c424aba40
commit 44dd14903b
93 changed files with 352 additions and 274 deletions

View File

@ -1,5 +1,5 @@
MDB5 MDB5
Version: PRO 7.2.0 Version: FREE 7.3.0
Documentation: Documentation:
https://mdbootstrap.com/docs/standard/ https://mdbootstrap.com/docs/standard/

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

6
css/mdb.min.css vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

6
css/mdb.rtl.min.css vendored

File diff suppressed because one or more lines are too long

9
js/mdb.es.min.js vendored
View File

@ -1095,7 +1095,7 @@ class Config {
} }
} }
} }
const VERSION = "5.3.2"; const VERSION = "5.3.3";
let BaseComponent$1 = class BaseComponent extends Config { let BaseComponent$1 = class BaseComponent extends Config {
constructor(element2, config) { constructor(element2, config) {
super(); super();
@ -1435,9 +1435,9 @@ const getSelector = (element2) => {
if (hrefAttribute.includes("#") && !hrefAttribute.startsWith("#")) { if (hrefAttribute.includes("#") && !hrefAttribute.startsWith("#")) {
hrefAttribute = `#${hrefAttribute.split("#")[1]}`; hrefAttribute = `#${hrefAttribute.split("#")[1]}`;
} }
selector = hrefAttribute && hrefAttribute !== "#" ? parseSelector(hrefAttribute.trim()) : null; selector = hrefAttribute && hrefAttribute !== "#" ? hrefAttribute.trim() : null;
} }
return selector; return selector ? selector.split(",").map((sel) => parseSelector(sel)).join(",") : null;
}; };
const SelectorEngine = { const SelectorEngine = {
find(selector, element2 = document.documentElement) { find(selector, element2 = document.documentElement) {
@ -4121,7 +4121,10 @@ const DefaultAllowlist = {
br: [], br: [],
col: [], col: [],
code: [], code: [],
dd: [],
div: [], div: [],
dl: [],
dt: [],
em: [], em: [],
hr: [], hr: [],
h1: [], h1: [],

File diff suppressed because one or more lines are too long

4
js/mdb.umd.min.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
{ {
"name": "mdb-ui-kit", "name": "mdb-ui-kit",
"version": "7.2.0", "version": "7.3.0",
"type": "module", "type": "module",
"main": "./js/mdb.umd.min.js", "main": "./js/mdb.umd.min.js",
"module": "./js/mdb.es.min.js", "module": "./js/mdb.es.min.js",

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap alert.js v5.3.2 (https://getbootstrap.com/) * Bootstrap alert.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap base-component.js v5.3.2 (https://getbootstrap.com/) * Bootstrap base-component.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
@ -34,7 +34,7 @@
* Constants * Constants
*/ */
const VERSION = '5.3.2'; const VERSION = '5.3.3';
/** /**
* Class definition * Class definition

View File

@ -1 +1 @@
{"version":3,"file":"base-component.js","sources":["../src/base-component.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.2'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super()\n\n element = getElement(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n"],"names":["VERSION","BaseComponent","Config","constructor","element","config","getElement","_element","_config","_getConfig","Data","set","DATA_KEY","dispose","remove","EventHandler","off","EVENT_KEY","propertyName","Object","getOwnPropertyNames","_queueCallback","callback","isAnimated","executeAfterTransition","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","getInstance","get","getOrCreateInstance","NAME","eventName","name"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;;EAOA;EACA;EACA;;EAEA,MAAMA,OAAO,GAAG,OAAO,CAAA;;EAEvB;EACA;EACA;;EAEA,MAAMC,aAAa,SAASC,MAAM,CAAC;EACjCC,EAAAA,WAAWA,CAACC,OAAO,EAAEC,MAAM,EAAE;EAC3B,IAAA,KAAK,EAAE,CAAA;EAEPD,IAAAA,OAAO,GAAGE,mBAAU,CAACF,OAAO,CAAC,CAAA;MAC7B,IAAI,CAACA,OAAO,EAAE;EACZ,MAAA,OAAA;EACF,KAAA;MAEA,IAAI,CAACG,QAAQ,GAAGH,OAAO,CAAA;MACvB,IAAI,CAACI,OAAO,GAAG,IAAI,CAACC,UAAU,CAACJ,MAAM,CAAC,CAAA;EAEtCK,IAAAA,IAAI,CAACC,GAAG,CAAC,IAAI,CAACJ,QAAQ,EAAE,IAAI,CAACJ,WAAW,CAACS,QAAQ,EAAE,IAAI,CAAC,CAAA;EAC1D,GAAA;;EAEA;EACAC,EAAAA,OAAOA,GAAG;EACRH,IAAAA,IAAI,CAACI,MAAM,CAAC,IAAI,CAACP,QAAQ,EAAE,IAAI,CAACJ,WAAW,CAACS,QAAQ,CAAC,CAAA;EACrDG,IAAAA,YAAY,CAACC,GAAG,CAAC,IAAI,CAACT,QAAQ,EAAE,IAAI,CAACJ,WAAW,CAACc,SAAS,CAAC,CAAA;MAE3D,KAAK,MAAMC,YAAY,IAAIC,MAAM,CAACC,mBAAmB,CAAC,IAAI,CAAC,EAAE;EAC3D,MAAA,IAAI,CAACF,YAAY,CAAC,GAAG,IAAI,CAAA;EAC3B,KAAA;EACF,GAAA;IAEAG,cAAcA,CAACC,QAAQ,EAAElB,OAAO,EAAEmB,UAAU,GAAG,IAAI,EAAE;EACnDC,IAAAA,+BAAsB,CAACF,QAAQ,EAAElB,OAAO,EAAEmB,UAAU,CAAC,CAAA;EACvD,GAAA;IAEAd,UAAUA,CAACJ,MAAM,EAAE;MACjBA,MAAM,GAAG,IAAI,CAACoB,eAAe,CAACpB,MAAM,EAAE,IAAI,CAACE,QAAQ,CAAC,CAAA;EACpDF,IAAAA,MAAM,GAAG,IAAI,CAACqB,iBAAiB,CAACrB,MAAM,CAAC,CAAA;EACvC,IAAA,IAAI,CAACsB,gBAAgB,CAACtB,MAAM,CAAC,CAAA;EAC7B,IAAA,OAAOA,MAAM,CAAA;EACf,GAAA;;EAEA;IACA,OAAOuB,WAAWA,CAACxB,OAAO,EAAE;EAC1B,IAAA,OAAOM,IAAI,CAACmB,GAAG,CAACvB,mBAAU,CAACF,OAAO,CAAC,EAAE,IAAI,CAACQ,QAAQ,CAAC,CAAA;EACrD,GAAA;IAEA,OAAOkB,mBAAmBA,CAAC1B,OAAO,EAAEC,MAAM,GAAG,EAAE,EAAE;MAC/C,OAAO,IAAI,CAACuB,WAAW,CAACxB,OAAO,CAAC,IAAI,IAAI,IAAI,CAACA,OAAO,EAAE,OAAOC,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAG,IAAI,CAAC,CAAA;EACnG,GAAA;IAEA,WAAWL,OAAOA,GAAG;EACnB,IAAA,OAAOA,OAAO,CAAA;EAChB,GAAA;IAEA,WAAWY,QAAQA,GAAG;EACpB,IAAA,OAAQ,CAAK,GAAA,EAAA,IAAI,CAACmB,IAAK,CAAC,CAAA,CAAA;EAC1B,GAAA;IAEA,WAAWd,SAASA,GAAG;EACrB,IAAA,OAAQ,CAAG,CAAA,EAAA,IAAI,CAACL,QAAS,CAAC,CAAA,CAAA;EAC5B,GAAA;IAEA,OAAOoB,SAASA,CAACC,IAAI,EAAE;EACrB,IAAA,OAAQ,GAAEA,IAAK,CAAA,EAAE,IAAI,CAAChB,SAAU,CAAC,CAAA,CAAA;EACnC,GAAA;EACF;;;;;;;;"} {"version":3,"file":"base-component.js","sources":["../src/base-component.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.3'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super()\n\n element = getElement(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n"],"names":["VERSION","BaseComponent","Config","constructor","element","config","getElement","_element","_config","_getConfig","Data","set","DATA_KEY","dispose","remove","EventHandler","off","EVENT_KEY","propertyName","Object","getOwnPropertyNames","_queueCallback","callback","isAnimated","executeAfterTransition","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","getInstance","get","getOrCreateInstance","NAME","eventName","name"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;;EAOA;EACA;EACA;;EAEA,MAAMA,OAAO,GAAG,OAAO,CAAA;;EAEvB;EACA;EACA;;EAEA,MAAMC,aAAa,SAASC,MAAM,CAAC;EACjCC,EAAAA,WAAWA,CAACC,OAAO,EAAEC,MAAM,EAAE;EAC3B,IAAA,KAAK,EAAE,CAAA;EAEPD,IAAAA,OAAO,GAAGE,mBAAU,CAACF,OAAO,CAAC,CAAA;MAC7B,IAAI,CAACA,OAAO,EAAE;EACZ,MAAA,OAAA;EACF,KAAA;MAEA,IAAI,CAACG,QAAQ,GAAGH,OAAO,CAAA;MACvB,IAAI,CAACI,OAAO,GAAG,IAAI,CAACC,UAAU,CAACJ,MAAM,CAAC,CAAA;EAEtCK,IAAAA,IAAI,CAACC,GAAG,CAAC,IAAI,CAACJ,QAAQ,EAAE,IAAI,CAACJ,WAAW,CAACS,QAAQ,EAAE,IAAI,CAAC,CAAA;EAC1D,GAAA;;EAEA;EACAC,EAAAA,OAAOA,GAAG;EACRH,IAAAA,IAAI,CAACI,MAAM,CAAC,IAAI,CAACP,QAAQ,EAAE,IAAI,CAACJ,WAAW,CAACS,QAAQ,CAAC,CAAA;EACrDG,IAAAA,YAAY,CAACC,GAAG,CAAC,IAAI,CAACT,QAAQ,EAAE,IAAI,CAACJ,WAAW,CAACc,SAAS,CAAC,CAAA;MAE3D,KAAK,MAAMC,YAAY,IAAIC,MAAM,CAACC,mBAAmB,CAAC,IAAI,CAAC,EAAE;EAC3D,MAAA,IAAI,CAACF,YAAY,CAAC,GAAG,IAAI,CAAA;EAC3B,KAAA;EACF,GAAA;IAEAG,cAAcA,CAACC,QAAQ,EAAElB,OAAO,EAAEmB,UAAU,GAAG,IAAI,EAAE;EACnDC,IAAAA,+BAAsB,CAACF,QAAQ,EAAElB,OAAO,EAAEmB,UAAU,CAAC,CAAA;EACvD,GAAA;IAEAd,UAAUA,CAACJ,MAAM,EAAE;MACjBA,MAAM,GAAG,IAAI,CAACoB,eAAe,CAACpB,MAAM,EAAE,IAAI,CAACE,QAAQ,CAAC,CAAA;EACpDF,IAAAA,MAAM,GAAG,IAAI,CAACqB,iBAAiB,CAACrB,MAAM,CAAC,CAAA;EACvC,IAAA,IAAI,CAACsB,gBAAgB,CAACtB,MAAM,CAAC,CAAA;EAC7B,IAAA,OAAOA,MAAM,CAAA;EACf,GAAA;;EAEA;IACA,OAAOuB,WAAWA,CAACxB,OAAO,EAAE;EAC1B,IAAA,OAAOM,IAAI,CAACmB,GAAG,CAACvB,mBAAU,CAACF,OAAO,CAAC,EAAE,IAAI,CAACQ,QAAQ,CAAC,CAAA;EACrD,GAAA;IAEA,OAAOkB,mBAAmBA,CAAC1B,OAAO,EAAEC,MAAM,GAAG,EAAE,EAAE;MAC/C,OAAO,IAAI,CAACuB,WAAW,CAACxB,OAAO,CAAC,IAAI,IAAI,IAAI,CAACA,OAAO,EAAE,OAAOC,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAG,IAAI,CAAC,CAAA;EACnG,GAAA;IAEA,WAAWL,OAAOA,GAAG;EACnB,IAAA,OAAOA,OAAO,CAAA;EAChB,GAAA;IAEA,WAAWY,QAAQA,GAAG;EACpB,IAAA,OAAQ,CAAK,GAAA,EAAA,IAAI,CAACmB,IAAK,CAAC,CAAA,CAAA;EAC1B,GAAA;IAEA,WAAWd,SAASA,GAAG;EACrB,IAAA,OAAQ,CAAG,CAAA,EAAA,IAAI,CAACL,QAAS,CAAC,CAAA,CAAA;EAC5B,GAAA;IAEA,OAAOoB,SAASA,CAACC,IAAI,EAAE;EACrB,IAAA,OAAQ,GAAEA,IAAK,CAAA,EAAE,IAAI,CAAChB,SAAU,CAAC,CAAA,CAAA;EACnC,GAAA;EACF;;;;;;;;"}

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap button.js v5.3.2 (https://getbootstrap.com/) * Bootstrap button.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap carousel.js v5.3.2 (https://getbootstrap.com/) * Bootstrap carousel.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap collapse.js v5.3.2 (https://getbootstrap.com/) * Bootstrap collapse.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap data.js v5.3.2 (https://getbootstrap.com/) * Bootstrap data.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap event-handler.js v5.3.2 (https://getbootstrap.com/) * Bootstrap event-handler.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap manipulator.js v5.3.2 (https://getbootstrap.com/) * Bootstrap manipulator.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap selector-engine.js v5.3.2 (https://getbootstrap.com/) * Bootstrap selector-engine.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
@ -37,12 +37,14 @@
if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) { if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {
hrefAttribute = `#${hrefAttribute.split('#')[1]}`; hrefAttribute = `#${hrefAttribute.split('#')[1]}`;
} }
selector = selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null;
hrefAttribute && hrefAttribute !== '#'
? index_js.parseSelector(hrefAttribute.trim())
: null;
} }
return selector; return selector
? selector
.split(',')
.map((sel) => index_js.parseSelector(sel))
.join(',')
: null;
}; };
const SelectorEngine = { const SelectorEngine = {
find(selector, element = document.documentElement) { find(selector, element = document.documentElement) {

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap dropdown.js v5.3.2 (https://getbootstrap.com/) * Bootstrap dropdown.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap modal.js v5.3.2 (https://getbootstrap.com/) * Bootstrap modal.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap offcanvas.js v5.3.2 (https://getbootstrap.com/) * Bootstrap offcanvas.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap popover.js v5.3.2 (https://getbootstrap.com/) * Bootstrap popover.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap scrollspy.js v5.3.2 (https://getbootstrap.com/) * Bootstrap scrollspy.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap tab.js v5.3.2 (https://getbootstrap.com/) * Bootstrap tab.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap toast.js v5.3.2 (https://getbootstrap.com/) * Bootstrap toast.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap tooltip.js v5.3.2 (https://getbootstrap.com/) * Bootstrap tooltip.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap backdrop.js v5.3.2 (https://getbootstrap.com/) * Bootstrap backdrop.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
@ -40,7 +40,6 @@
// if false, we use the backdrop helper without adding any element to the dom // if false, we use the backdrop helper without adding any element to the dom
rootElement: 'body', // give the choice to place backdrop under different elements rootElement: 'body', // give the choice to place backdrop under different elements
}; };
const DefaultType = { const DefaultType = {
className: 'string', className: 'string',
clickCallback: '(function|null)', clickCallback: '(function|null)',

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap component-functions.js v5.3.2 (https://getbootstrap.com/) * Bootstrap component-functions.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap config.js v5.3.2 (https://getbootstrap.com/) * Bootstrap config.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {

View File

@ -1 +1 @@
{"version":3,"file":"config.js","sources":["../../src/util/config.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {}\n }\n\n static get DefaultType() {\n return {}\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n return config\n }\n\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n return {\n ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n }\n }\n\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const [property, expectedTypes] of Object.entries(configTypes)) {\n const value = config[property]\n const valueType = isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n }\n }\n}\n\nexport default Config\n"],"names":["Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","element","jsonConfig","isElement","Manipulator","getDataAttribute","constructor","getDataAttributes","configTypes","property","expectedTypes","Object","entries","value","valueType","toType","RegExp","test","TypeError","toUpperCase"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;;EAKA;EACA;EACA;;EAEA,MAAMA,MAAM,CAAC;EACX;IACA,WAAWC,OAAOA,GAAG;EACnB,IAAA,OAAO,EAAE,CAAA;EACX,GAAA;IAEA,WAAWC,WAAWA,GAAG;EACvB,IAAA,OAAO,EAAE,CAAA;EACX,GAAA;IAEA,WAAWC,IAAIA,GAAG;EAChB,IAAA,MAAM,IAAIC,KAAK,CAAC,qEAAqE,CAAC,CAAA;EACxF,GAAA;IAEAC,UAAUA,CAACC,MAAM,EAAE;EACjBA,IAAAA,MAAM,GAAG,IAAI,CAACC,eAAe,CAACD,MAAM,CAAC,CAAA;EACrCA,IAAAA,MAAM,GAAG,IAAI,CAACE,iBAAiB,CAACF,MAAM,CAAC,CAAA;EACvC,IAAA,IAAI,CAACG,gBAAgB,CAACH,MAAM,CAAC,CAAA;EAC7B,IAAA,OAAOA,MAAM,CAAA;EACf,GAAA;IAEAE,iBAAiBA,CAACF,MAAM,EAAE;EACxB,IAAA,OAAOA,MAAM,CAAA;EACf,GAAA;EAEAC,EAAAA,eAAeA,CAACD,MAAM,EAAEI,OAAO,EAAE;EAC/B,IAAA,MAAMC,UAAU,GAAGC,kBAAS,CAACF,OAAO,CAAC,GAAGG,WAAW,CAACC,gBAAgB,CAACJ,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;;MAE7F,OAAO;EACL,MAAA,GAAG,IAAI,CAACK,WAAW,CAACd,OAAO;QAC3B,IAAI,OAAOU,UAAU,KAAK,QAAQ,GAAGA,UAAU,GAAG,EAAE,CAAC;EACrD,MAAA,IAAIC,kBAAS,CAACF,OAAO,CAAC,GAAGG,WAAW,CAACG,iBAAiB,CAACN,OAAO,CAAC,GAAG,EAAE,CAAC;QACrE,IAAI,OAAOJ,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAG,EAAE,CAAA;OAC7C,CAAA;EACH,GAAA;IAEAG,gBAAgBA,CAACH,MAAM,EAAEW,WAAW,GAAG,IAAI,CAACF,WAAW,CAACb,WAAW,EAAE;EACnE,IAAA,KAAK,MAAM,CAACgB,QAAQ,EAAEC,aAAa,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,WAAW,CAAC,EAAE;EACnE,MAAA,MAAMK,KAAK,GAAGhB,MAAM,CAACY,QAAQ,CAAC,CAAA;EAC9B,MAAA,MAAMK,SAAS,GAAGX,kBAAS,CAACU,KAAK,CAAC,GAAG,SAAS,GAAGE,eAAM,CAACF,KAAK,CAAC,CAAA;QAE9D,IAAI,CAAC,IAAIG,MAAM,CAACN,aAAa,CAAC,CAACO,IAAI,CAACH,SAAS,CAAC,EAAE;UAC9C,MAAM,IAAII,SAAS,CAChB,CAAA,EAAE,IAAI,CAACZ,WAAW,CAACZ,IAAI,CAACyB,WAAW,EAAG,aAAYV,QAAS,CAAA,iBAAA,EAAmBK,SAAU,CAAuBJ,qBAAAA,EAAAA,aAAc,IAChI,CAAC,CAAA;EACH,OAAA;EACF,KAAA;EACF,GAAA;EACF;;;;;;;;"} {"version":3,"file":"config.js","sources":["../../src/util/config.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {}\n }\n\n static get DefaultType() {\n return {}\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n return config\n }\n\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n return {\n ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n }\n }\n\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const [property, expectedTypes] of Object.entries(configTypes)) {\n const value = config[property]\n const valueType = isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n }\n }\n}\n\nexport default Config\n"],"names":["Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","element","jsonConfig","isElement","Manipulator","getDataAttribute","constructor","getDataAttributes","configTypes","property","expectedTypes","Object","entries","value","valueType","toType","RegExp","test","TypeError","toUpperCase"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;;EAKA;EACA;EACA;;EAEA,MAAMA,MAAM,CAAC;EACX;IACA,WAAWC,OAAOA,GAAG;EACnB,IAAA,OAAO,EAAE,CAAA;EACX,GAAA;IAEA,WAAWC,WAAWA,GAAG;EACvB,IAAA,OAAO,EAAE,CAAA;EACX,GAAA;IAEA,WAAWC,IAAIA,GAAG;EAChB,IAAA,MAAM,IAAIC,KAAK,CAAC,qEAAqE,CAAC,CAAA;EACxF,GAAA;IAEAC,UAAUA,CAACC,MAAM,EAAE;EACjBA,IAAAA,MAAM,GAAG,IAAI,CAACC,eAAe,CAACD,MAAM,CAAC,CAAA;EACrCA,IAAAA,MAAM,GAAG,IAAI,CAACE,iBAAiB,CAACF,MAAM,CAAC,CAAA;EACvC,IAAA,IAAI,CAACG,gBAAgB,CAACH,MAAM,CAAC,CAAA;EAC7B,IAAA,OAAOA,MAAM,CAAA;EACf,GAAA;IAEAE,iBAAiBA,CAACF,MAAM,EAAE;EACxB,IAAA,OAAOA,MAAM,CAAA;EACf,GAAA;EAEAC,EAAAA,eAAeA,CAACD,MAAM,EAAEI,OAAO,EAAE;EAC/B,IAAA,MAAMC,UAAU,GAAGC,kBAAS,CAACF,OAAO,CAAC,GAAGG,WAAW,CAACC,gBAAgB,CAACJ,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;;MAE7F,OAAO;EACL,MAAA,GAAG,IAAI,CAACK,WAAW,CAACd,OAAO;QAC3B,IAAI,OAAOU,UAAU,KAAK,QAAQ,GAAGA,UAAU,GAAG,EAAE;EACpD,MAAA,IAAIC,kBAAS,CAACF,OAAO,CAAC,GAAGG,WAAW,CAACG,iBAAiB,CAACN,OAAO,CAAC,GAAG,EAAE;QACpE,IAAI,OAAOJ,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAG,EAAE;OAC7C,CAAA;EACH,GAAA;IAEAG,gBAAgBA,CAACH,MAAM,EAAEW,WAAW,GAAG,IAAI,CAACF,WAAW,CAACb,WAAW,EAAE;EACnE,IAAA,KAAK,MAAM,CAACgB,QAAQ,EAAEC,aAAa,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,WAAW,CAAC,EAAE;EACnE,MAAA,MAAMK,KAAK,GAAGhB,MAAM,CAACY,QAAQ,CAAC,CAAA;EAC9B,MAAA,MAAMK,SAAS,GAAGX,kBAAS,CAACU,KAAK,CAAC,GAAG,SAAS,GAAGE,eAAM,CAACF,KAAK,CAAC,CAAA;QAE9D,IAAI,CAAC,IAAIG,MAAM,CAACN,aAAa,CAAC,CAACO,IAAI,CAACH,SAAS,CAAC,EAAE;UAC9C,MAAM,IAAII,SAAS,CAChB,CAAA,EAAE,IAAI,CAACZ,WAAW,CAACZ,IAAI,CAACyB,WAAW,EAAG,aAAYV,QAAS,CAAA,iBAAA,EAAmBK,SAAU,CAAuBJ,qBAAAA,EAAAA,aAAc,IAChI,CAAC,CAAA;EACH,OAAA;EACF,KAAA;EACF,GAAA;EACF;;;;;;;;"}

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap focustrap.js v5.3.2 (https://getbootstrap.com/) * Bootstrap focustrap.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
@ -40,7 +40,6 @@
autofocus: true, autofocus: true,
trapElement: null, // The element to trap focus inside of trapElement: null, // The element to trap focus inside of
}; };
const DefaultType = { const DefaultType = {
autofocus: 'boolean', autofocus: 'boolean',
trapElement: 'element', trapElement: 'element',

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap index.js v5.3.2 (https://getbootstrap.com/) * Bootstrap index.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
@ -169,7 +169,6 @@
const reflow = (element) => { const reflow = (element) => {
element.offsetHeight; // eslint-disable-line no-unused-expressions element.offsetHeight; // eslint-disable-line no-unused-expressions
}; };
const getjQuery = () => { const getjQuery = () => {
if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
return window.jQuery; return window.jQuery;

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap sanitizer.js v5.3.2 (https://getbootstrap.com/) * Bootstrap sanitizer.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
@ -31,7 +31,10 @@
br: [], br: [],
col: [], col: [],
code: [], code: [],
dd: [],
div: [], div: [],
dl: [],
dt: [],
em: [], em: [],
hr: [], hr: [],
h1: [], h1: [],

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap scrollbar.js v5.3.2 (https://getbootstrap.com/) * Bootstrap scrollbar.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap swipe.js v5.3.2 (https://getbootstrap.com/) * Bootstrap swipe.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap template-factory.js v5.3.2 (https://getbootstrap.com/) * Bootstrap template-factory.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {

View File

@ -76,12 +76,12 @@ class Alert extends BaseComponent {
* Data API implementation * Data API implementation
*/ */
// enableDismissTrigger(Alert, 'close'); // enableDismissTrigger(Alert, 'close')
/** /**
* jQuery * jQuery
*/ */
// defineJQueryPlugin(Alert); // defineJQueryPlugin(Alert)
export default Alert; export default Alert;

View File

@ -14,7 +14,7 @@ import { executeAfterTransition, getElement } from './util/index.js';
* Constants * Constants
*/ */
const VERSION = '5.3.2'; const VERSION = '5.3.3';
/** /**
* Class definition * Class definition

View File

@ -54,19 +54,19 @@ class Button extends BaseComponent {
* Data API implementation * Data API implementation
*/ */
// EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, (event) => { // EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {
// event.preventDefault(); // event.preventDefault()
// const button = event.target.closest(SELECTOR_DATA_TOGGLE); // const button = event.target.closest(SELECTOR_DATA_TOGGLE)
// const data = Button.getOrCreateInstance(button); // const data = Button.getOrCreateInstance(button)
// data.toggle(); // data.toggle()
// }); // })
/** /**
* jQuery * jQuery
*/ */
// defineJQueryPlugin(Button); // defineJQueryPlugin(Button)
export default Button; export default Button;

View File

@ -437,45 +437,45 @@ class Carousel extends BaseComponent {
*/ */
// EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) { // EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {
// const target = getElementFromSelector(this); // const target = SelectorEngine.getElementFromSelector(this)
// if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) { // if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {
// return; // return
// } // }
// event.preventDefault(); // event.preventDefault()
// const carousel = Carousel.getOrCreateInstance(target); // const carousel = Carousel.getOrCreateInstance(target)
// const slideIndex = this.getAttribute('data-mdb-slide-to'); // const slideIndex = this.getAttribute('data-mdb-slide-to')
// if (slideIndex) { // if (slideIndex) {
// carousel.to(slideIndex); // carousel.to(slideIndex)
// carousel._maybeEnableCycle(); // carousel._maybeEnableCycle()
// return; // return
// } // }
// if (Manipulator.getDataAttribute(this, 'slide') === 'next') { // if (Manipulator.getDataAttribute(this, 'slide') === 'next') {
// carousel.next(); // carousel.next()
// carousel._maybeEnableCycle(); // carousel._maybeEnableCycle()
// return; // return
// } // }
// carousel.prev(); // carousel.prev()
// carousel._maybeEnableCycle(); // carousel._maybeEnableCycle()
// }); // })
// EventHandler.on(window, EVENT_LOAD_DATA_API, () => { // EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
// const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE); // const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)
// for (const carousel of carousels) { // for (const carousel of carousels) {
// Carousel.getOrCreateInstance(carousel); // Carousel.getOrCreateInstance(carousel)
// } // }
// }); // })
/** /**
* jQuery * jQuery
*/ */
// defineJQueryPlugin(Carousel); // defineJQueryPlugin(Carousel)
export default Carousel; export default Carousel;

View File

@ -278,22 +278,19 @@ class Collapse extends BaseComponent {
// EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { // EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
// // preventDefault only for <a> elements (which change the URL) not inside the collapsible element // // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
// if ( // if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {
// event.target.tagName === 'A' || // event.preventDefault()
// (event.delegateTarget && event.delegateTarget.tagName === 'A')
// ) {
// event.preventDefault();
// } // }
// for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) { // for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {
// Collapse.getOrCreateInstance(element, { toggle: false }).toggle(); // Collapse.getOrCreateInstance(element, { toggle: false }).toggle()
// } // }
// }); // })
/** /**
* jQuery * jQuery
*/ */
// defineJQueryPlugin(Collapse); // defineJQueryPlugin(Collapse)
export default Collapse; export default Collapse;

View File

@ -1,7 +1,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap dom/manipulator.js * Bootstrap dom/manipulator.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twmdb/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */

View File

@ -26,10 +26,15 @@ const getSelector = (element) => {
hrefAttribute = `#${hrefAttribute.split('#')[1]}`; hrefAttribute = `#${hrefAttribute.split('#')[1]}`;
} }
selector = hrefAttribute && hrefAttribute !== '#' ? parseSelector(hrefAttribute.trim()) : null; selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null;
} }
return selector; return selector
? selector
.split(',')
.map((sel) => parseSelector(sel))
.join(',')
: null;
}; };
const SelectorEngine = { const SelectorEngine = {

View File

@ -453,24 +453,19 @@ class Dropdown extends BaseComponent {
* Data API implementation * Data API implementation
*/ */
// EventHandler.on( // EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)
// document, // EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)
// EVENT_KEYDOWN_DATA_API, // EventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)
// SELECTOR_DATA_TOGGLE, // EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)
// Dropdown.dataApiKeydownHandler
// );
// EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
// EventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus);
// EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);
// EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { // EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
// event.preventDefault(); // event.preventDefault()
// Dropdown.getOrCreateInstance(this).toggle(); // Dropdown.getOrCreateInstance(this).toggle()
// }); // })
/** /**
* jQuery * jQuery
*/ */
// defineJQueryPlugin(Dropdown); // defineJQueryPlugin(Dropdown)
export default Dropdown; export default Dropdown;

View File

@ -335,26 +335,26 @@ class Modal extends BaseComponent {
*/ */
// EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { // EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
// const target = SelectorEngine.getElementFromSelector(this); // const target = SelectorEngine.getElementFromSelector(this)
// if (['A', 'AREA'].includes(this.tagName)) { // if (['A', 'AREA'].includes(this.tagName)) {
// event.preventDefault(); // event.preventDefault()
// } // }
// EventHandler.one(target, EVENT_SHOW, (showEvent) => { // EventHandler.one(target, EVENT_SHOW, showEvent => {
// if (showEvent.defaultPrevented) { // if (showEvent.defaultPrevented) {
// // only register focus restorer if modal will actually get shown // // only register focus restorer if modal will actually get shown
// return; // return
// } // }
// EventHandler.one(target, EVENT_HIDDEN, () => { // EventHandler.one(target, EVENT_HIDDEN, () => {
// if (isVisible(this)) { // if (isVisible(this)) {
// this.focus(); // this.focus()
// } // }
// }); // })
// }); // })
// // avoid conflict when clicking modal toggler while another one is open // // avoid conflict when clicking moddal toggler while another one is open
// const allreadyOpenedModals = SelectorEngine.find(OPEN_SELECTOR); // const allreadyOpenedModals = SelectorEngine.find(OPEN_SELECTOR);
// allreadyOpenedModals.forEach((modal) => { // allreadyOpenedModals.forEach((modal) => {
// if (!modal.classList.contains('modal-non-invasive-show')) { // if (!modal.classList.contains('modal-non-invasive-show')) {
@ -362,17 +362,17 @@ class Modal extends BaseComponent {
// } // }
// }); // });
// const data = Modal.getOrCreateInstance(target); // const data = Modal.getOrCreateInstance(target)
// data.toggle(this); // data.toggle(this)
// }); // })
// enableDismissTrigger(Modal); // enableDismissTrigger(Modal)
/** /**
* jQuery * jQuery
*/ */
// defineJQueryPlugin(Modal); // defineJQueryPlugin(Modal)
export default Modal; export default Modal;

View File

@ -226,53 +226,53 @@ class Offcanvas extends BaseComponent {
*/ */
// EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { // EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
// const target = SelectorEngine.getElementFromSelector(this); // const target = SelectorEngine.getElementFromSelector(this)
// if (['A', 'AREA'].includes(this.tagName)) { // if (['A', 'AREA'].includes(this.tagName)) {
// event.preventDefault(); // event.preventDefault()
// } // }
// if (isDisabled(this)) { // if (isDisabled(this)) {
// return; // return
// } // }
// EventHandler.one(target, EVENT_HIDDEN, () => { // EventHandler.one(target, EVENT_HIDDEN, () => {
// // focus on trigger when it is closed // // focus on trigger when it is closed
// if (isVisible(this)) { // if (isVisible(this)) {
// this.focus(); // this.focus()
// } // }
// }); // })
// // avoid conflict when clicking a toggler of an offcanvas, while another is open // // avoid conflict when clicking a toggler of an offcanvas, while another is open
// const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR); // const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)
// if (alreadyOpen && alreadyOpen !== target) { // if (alreadyOpen && alreadyOpen !== target) {
// Offcanvas.getInstance(alreadyOpen).hide(); // Offcanvas.getInstance(alreadyOpen).hide()
// } // }
// const data = Offcanvas.getOrCreateInstance(target); // const data = Offcanvas.getOrCreateInstance(target)
// data.toggle(this); // data.toggle(this)
// }); // })
// EventHandler.on(window, EVENT_LOAD_DATA_API, () => { // EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
// for (const selector of SelectorEngine.find(OPEN_SELECTOR)) { // for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {
// Offcanvas.getOrCreateInstance(selector).show(); // Offcanvas.getOrCreateInstance(selector).show()
// } // }
// }); // })
// EventHandler.on(window, EVENT_RESIZE, () => { // EventHandler.on(window, EVENT_RESIZE, () => {
// for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) { // for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {
// if (getComputedStyle(element).position !== 'fixed') { // if (getComputedStyle(element).position !== 'fixed') {
// Offcanvas.getOrCreateInstance(element).hide(); // Offcanvas.getOrCreateInstance(element).hide()
// } // }
// } // }
// }); // })
// enableDismissTrigger(Offcanvas); // enableDismissTrigger(Offcanvas)
/** /**
* jQuery * jQuery
*/ */
// defineJQueryPlugin(Offcanvas); // defineJQueryPlugin(Offcanvas)
export default Offcanvas; export default Offcanvas;

View File

@ -93,6 +93,6 @@ class Popover extends Tooltip {
* jQuery * jQuery
*/ */
// defineJQueryPlugin(Popover); // defineJQueryPlugin(Popover)
export default Popover; export default Popover;

View File

@ -294,14 +294,14 @@ class ScrollSpy extends BaseComponent {
// EventHandler.on(window, EVENT_LOAD_DATA_API, () => { // EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
// for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) { // for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {
// ScrollSpy.getOrCreateInstance(spy); // ScrollSpy.getOrCreateInstance(spy)
// } // }
// }); // })
/** /**
* jQuery * jQuery
*/ */
// defineJQueryPlugin(ScrollSpy); // defineJQueryPlugin(ScrollSpy)
export default ScrollSpy; export default ScrollSpy;

View File

@ -296,28 +296,28 @@ class Tab extends BaseComponent {
// EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { // EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
// if (['A', 'AREA'].includes(this.tagName)) { // if (['A', 'AREA'].includes(this.tagName)) {
// event.preventDefault(); // event.preventDefault()
// } // }
// if (isDisabled(this)) { // if (isDisabled(this)) {
// return; // return
// } // }
// Tab.getOrCreateInstance(this).show(); // Tab.getOrCreateInstance(this).show()
// }); // })
/** /**
* Initialize on focus * Initialize on focus
*/ */
// EventHandler.on(window, EVENT_LOAD_DATA_API, () => { // EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
// for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) { // for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {
// Tab.getOrCreateInstance(element); // Tab.getOrCreateInstance(element)
// } // }
// }); // })
/** /**
* jQuery * jQuery
*/ */
// defineJQueryPlugin(Tab); // defineJQueryPlugin(Tab)
export default Tab; export default Tab;

View File

@ -214,12 +214,12 @@ class Toast extends BaseComponent {
* Data API implementation * Data API implementation
*/ */
// enableDismissTrigger(Toast); // enableDismissTrigger(Toast)
/** /**
* jQuery * jQuery
*/ */
// defineJQueryPlugin(Toast); // defineJQueryPlugin(Toast)
export default Toast; export default Toast;

View File

@ -655,6 +655,6 @@ class Tooltip extends BaseComponent {
* jQuery * jQuery
*/ */
// defineJQueryPlugin(Tooltip); // defineJQueryPlugin(Tooltip)
export default Tooltip; export default Tooltip;

View File

@ -17,7 +17,10 @@ export const DefaultAllowlist = {
br: [], br: [],
col: [], col: [],
code: [], code: [],
dd: [],
div: [], div: [],
dl: [],
dt: [],
em: [], em: [],
hr: [], hr: [],
h1: [], h1: [],

View File

@ -14,7 +14,7 @@ import { executeAfterTransition, getElement } from './util/index.js';
* Constants * Constants
*/ */
const VERSION = '5.3.2'; const VERSION = '5.3.3';
/** /**
* Class definition * Class definition

View File

@ -26,10 +26,15 @@ const getSelector = (element) => {
hrefAttribute = `#${hrefAttribute.split('#')[1]}`; hrefAttribute = `#${hrefAttribute.split('#')[1]}`;
} }
selector = hrefAttribute && hrefAttribute !== '#' ? parseSelector(hrefAttribute.trim()) : null; selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null;
} }
return selector; return selector
? selector
.split(',')
.map((sel) => parseSelector(sel))
.join(',')
: null;
}; };
const SelectorEngine = { const SelectorEngine = {

View File

@ -17,7 +17,10 @@ export const DefaultAllowlist = {
br: [], br: [],
col: [], col: [],
code: [], code: [],
dd: [],
div: [], div: [],
dl: [],
dt: [],
em: [], em: [],
hr: [], hr: [],
h1: [], h1: [],

View File

@ -20,7 +20,6 @@
--#{$prefix}accordion-btn-icon-transform: #{$accordion-icon-transform}; --#{$prefix}accordion-btn-icon-transform: #{$accordion-icon-transform};
--#{$prefix}accordion-btn-icon-transition: #{$accordion-icon-transition}; --#{$prefix}accordion-btn-icon-transition: #{$accordion-icon-transition};
--#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon)}; --#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon)};
--#{$prefix}accordion-btn-focus-border-color: #{$accordion-button-focus-border-color};
--#{$prefix}accordion-btn-focus-box-shadow: #{$accordion-button-focus-box-shadow}; --#{$prefix}accordion-btn-focus-box-shadow: #{$accordion-button-focus-box-shadow};
--#{$prefix}accordion-body-padding-x: #{$accordion-body-padding-x}; --#{$prefix}accordion-body-padding-x: #{$accordion-body-padding-x};
--#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y}; --#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y};
@ -75,7 +74,6 @@
&:focus { &:focus {
z-index: 3; z-index: 3;
border-color: var(--#{$prefix}accordion-btn-focus-border-color);
outline: 0; outline: 0;
box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow); box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow);
} }
@ -93,7 +91,7 @@
&:first-of-type { &:first-of-type {
@include border-top-radius(var(--#{$prefix}accordion-border-radius)); @include border-top-radius(var(--#{$prefix}accordion-border-radius));
.accordion-button { > .accordion-header .accordion-button {
@include border-top-radius(var(--#{$prefix}accordion-inner-border-radius)); @include border-top-radius(var(--#{$prefix}accordion-inner-border-radius));
} }
} }
@ -106,13 +104,13 @@
&:last-of-type { &:last-of-type {
@include border-bottom-radius(var(--#{$prefix}accordion-border-radius)); @include border-bottom-radius(var(--#{$prefix}accordion-border-radius));
.accordion-button { > .accordion-header .accordion-button {
&.collapsed { &.collapsed {
@include border-bottom-radius(var(--#{$prefix}accordion-inner-border-radius)); @include border-bottom-radius(var(--#{$prefix}accordion-inner-border-radius));
} }
} }
.accordion-collapse { > .accordion-collapse {
@include border-bottom-radius(var(--#{$prefix}accordion-border-radius)); @include border-bottom-radius(var(--#{$prefix}accordion-border-radius));
} }
} }
@ -127,11 +125,7 @@
// Remove borders and border-radius to keep accordion items edge-to-edge. // Remove borders and border-radius to keep accordion items edge-to-edge.
.accordion-flush { .accordion-flush {
.accordion-collapse { > .accordion-item {
border-width: 0;
}
.accordion-item {
border-right: 0; border-right: 0;
border-left: 0; border-left: 0;
@include border-radius(0); @include border-radius(0);
@ -143,12 +137,18 @@
border-bottom: 0; border-bottom: 0;
} }
.accordion-button { // stylelint-disable selector-max-class
> .accordion-header .accordion-button {
&, &,
&.collapsed { &.collapsed {
@include border-radius(0); @include border-radius(0);
} }
} }
// stylelint-enable selector-max-class
> .accordion-collapse {
@include border-radius(0);
}
} }
} }

View File

@ -100,6 +100,15 @@
} }
} }
.btn-check:checked:focus-visible + & {
// Avoid using mixin so we can pass custom focus shadow properly
@if $enable-shadows {
box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow);
} @else {
box-shadow: var(--#{$prefix}btn-focus-box-shadow);
}
}
&:disabled, &:disabled,
&.disabled, &.disabled,
fieldset:disabled & { fieldset:disabled & {

View File

@ -138,19 +138,13 @@
background-size: 100% 100%; background-size: 100% 100%;
} }
/* rtl:options: {
"autoRename": true,
"stringMap":[ {
"name" : "prev-next",
"search" : "prev",
"replace" : "next"
} ]
} */
.carousel-control-prev-icon { .carousel-control-prev-icon {
background-image: escape-svg($carousel-control-prev-icon-bg); background-image: escape-svg($carousel-control-prev-icon-bg) #{'/*rtl:' +
escape-svg($carousel-control-next-icon-bg) + '*/'};
} }
.carousel-control-next-icon { .carousel-control-next-icon {
background-image: escape-svg($carousel-control-next-icon-bg); background-image: escape-svg($carousel-control-next-icon-bg) #{'/*rtl:' +
escape-svg($carousel-control-prev-icon-bg) + '*/'};
} }
// Optional indicator pips/controls // Optional indicator pips/controls

View File

@ -129,7 +129,6 @@
display: flex; display: flex;
flex-shrink: 0; flex-shrink: 0;
align-items: center; align-items: center;
justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends
padding: var(--#{$prefix}modal-header-padding); padding: var(--#{$prefix}modal-header-padding);
border-bottom: var(--#{$prefix}modal-header-border-width) solid border-bottom: var(--#{$prefix}modal-header-border-width) solid
var(--#{$prefix}modal-header-border-color); var(--#{$prefix}modal-header-border-color);

View File

@ -131,15 +131,14 @@
.offcanvas-header { .offcanvas-header {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between;
padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x); padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x);
.btn-close { .btn-close {
padding: calc(var(--#{$prefix}offcanvas-padding-y) * 0.5) padding: calc(var(--#{$prefix}offcanvas-padding-y) * 0.5)
calc(var(--#{$prefix}offcanvas-padding-x) * 0.5); calc(var(--#{$prefix}offcanvas-padding-x) * 0.5);
margin-top: calc(-0.5 * var(--#{$prefix}offcanvas-padding-y)); margin: calc(-0.5 * var(--#{$prefix}offcanvas-padding-y))
margin-right: calc(-0.5 * var(--#{$prefix}offcanvas-padding-x)); calc(-0.5 * var(--#{$prefix}offcanvas-padding-x))
margin-bottom: calc(-0.5 * var(--#{$prefix}offcanvas-padding-y)); calc(-0.5 * var(--#{$prefix}offcanvas-padding-y)) auto;
} }
} }

View File

@ -78,7 +78,7 @@
} }
} }
/* rtl:begin:ignore */ /*!rtl:begin:ignore*/
.bs-popover-end { .bs-popover-end {
> .popover-arrow { > .popover-arrow {
left: calc( left: calc(
@ -105,7 +105,7 @@
} }
} }
/* rtl:end:ignore */ /*!rtl:end:ignore*/
.bs-popover-bottom { .bs-popover-bottom {
> .popover-arrow { > .popover-arrow {
@ -145,7 +145,7 @@
} }
} }
/* rtl:begin:ignore */ /*!rtl:begin:ignore*/
.bs-popover-start { .bs-popover-start {
> .popover-arrow { > .popover-arrow {
right: calc( right: calc(
@ -172,7 +172,7 @@
} }
} }
/* rtl:end:ignore */ /*!rtl:end:ignore*/
.bs-popover-auto { .bs-popover-auto {
&[data-popper-placement^='top'] { &[data-popper-placement^='top'] {

View File

@ -84,7 +84,7 @@
// //
// When borders are added on all sides of the cells, the corners can render odd when // When borders are added on all sides of the cells, the corners can render odd when
// these borders do not have the same color or if they are semi-transparent. // these borders do not have the same color or if they are semi-transparent.
// Therefor we add top and border bottoms to the `tr`s and left and right borders // Therefore we add top and border bottoms to the `tr`s and left and right borders
// to the `td`s or `th`s // to the `td`s or `th`s
.table-bordered { .table-bordered {

View File

@ -58,7 +58,7 @@
} }
} }
/* rtl:begin:ignore */ /*!rtl:begin:ignore*/
.bs-tooltip-end .tooltip-arrow { .bs-tooltip-end .tooltip-arrow {
left: calc( left: calc(
-1 * var(--#{$prefix}tooltip-arrow-height) -1 * var(--#{$prefix}tooltip-arrow-height)
@ -74,7 +74,7 @@
} }
} }
/* rtl:end:ignore */ /*!rtl:end:ignore*/
.bs-tooltip-bottom .tooltip-arrow { .bs-tooltip-bottom .tooltip-arrow {
top: calc( top: calc(
@ -89,7 +89,7 @@
} }
} }
/* rtl:begin:ignore */ /*!rtl:begin:ignore*/
.bs-tooltip-start .tooltip-arrow { .bs-tooltip-start .tooltip-arrow {
right: calc( right: calc(
-1 * var(--#{$prefix}tooltip-arrow-height) -1 * var(--#{$prefix}tooltip-arrow-height)
@ -105,7 +105,7 @@
} }
} }
/* rtl:end:ignore */ /*!rtl:end:ignore*/
.bs-tooltip-auto { .bs-tooltip-auto {
&[data-popper-placement^='top'] { &[data-popper-placement^='top'] {

View File

@ -1400,7 +1400,9 @@ $accordion-transition: $btn-transition, border-radius 0.15s ease !default;
$accordion-button-active-bg: var(--#{$prefix}primary-bg-subtle) !default; $accordion-button-active-bg: var(--#{$prefix}primary-bg-subtle) !default;
$accordion-button-active-color: var(--#{$prefix}primary-text-emphasis) !default; $accordion-button-active-color: var(--#{$prefix}primary-text-emphasis) !default;
$accordion-button-focus-border-color: $input-focus-border-color !default; // fusv-disable
$accordion-button-focus-border-color: $input-focus-border-color !default; // Deprecated in v5.3.3
// fusv-enable
$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default; $accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;
$accordion-icon-width: 1.25rem !default; $accordion-icon-width: 1.25rem !default;
@ -1409,8 +1411,8 @@ $accordion-icon-active-color: $primary-text-emphasis !default;
$accordion-icon-transition: transform 0.2s ease-in-out !default; $accordion-icon-transition: transform 0.2s ease-in-out !default;
$accordion-icon-transform: rotate(-180deg) !default; $accordion-icon-transform: rotate(-180deg) !default;
$accordion-button-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default; $accordion-button-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#{$accordion-icon-color}' stroke-linecap='round' stroke-linejoin='round'><path d='M2 5L8 11L14 5'/></svg>") !default;
$accordion-button-active-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-active-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default; $accordion-button-active-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#{$accordion-icon-active-color}' stroke-linecap='round' stroke-linejoin='round'><path d='M2 5L8 11L14 5'/></svg>") !default;
// scss-docs-end accordion-variables // scss-docs-end accordion-variables
// Tooltips // Tooltips
@ -1755,3 +1757,5 @@ $kbd-bg: var(--#{$prefix}body-color) !default;
$nested-kbd-font-weight: null !default; // Deprecated in v5.2.0, removing in v6 $nested-kbd-font-weight: null !default; // Deprecated in v5.2.0, removing in v6
$pre-color: null !default; $pre-color: null !default;
@import 'variables-dark'; // TODO: can be removed safely in v6, only here to avoid breaking changes in v5.3

View File

@ -134,7 +134,7 @@
margin-left: $form-switch-padding-start * -1; margin-left: $form-switch-padding-start * -1;
background-image: var(--#{$prefix}form-switch-bg); background-image: var(--#{$prefix}form-switch-bg);
background-position: left center; background-position: left center;
@include border-radius($form-switch-border-radius); @include border-radius($form-switch-border-radius, 0);
@include transition($form-switch-transition); @include transition($form-switch-transition);
&:focus { &:focus {

View File

@ -1,7 +1,7 @@
@mixin bsBanner($file) { @mixin bsBanner($file) {
/*! /*!
* Bootstrap #{$file} v5.3.2 (https://getbootstrap.com/) * Bootstrap #{$file} v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors * Copyright 2011-2024 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
} }

View File

@ -70,10 +70,15 @@
&:focus { &:focus {
border-color: $border-color; border-color: $border-color;
@if $enable-shadows {
@include box-shadow($input-box-shadow, $focus-box-shadow);
} @else {
// Avoid using mixin so we can pass custom focus shadow properly
box-shadow: $focus-box-shadow; box-shadow: $focus-box-shadow;
} }
} }
} }
}
// stylelint-disable-next-line selector-no-qualifying-type // stylelint-disable-next-line selector-no-qualifying-type
textarea.form-control { textarea.form-control {
@ -101,10 +106,15 @@
&:focus { &:focus {
border-color: $border-color; border-color: $border-color;
@if $enable-shadows {
@include box-shadow($form-select-box-shadow, $focus-box-shadow);
} @else {
// Avoid using mixin so we can pass custom focus shadow properly
box-shadow: $focus-box-shadow; box-shadow: $focus-box-shadow;
} }
} }
} }
}
.form-control-color { .form-control-color {
@include form-validation-state-selector($state) { @include form-validation-state-selector($state) {

View File

@ -156,7 +156,7 @@
} }
} }
// Start with `1` because `0` is and invalid value. // Start with `1` because `0` is an invalid value.
// Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible. // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.
@for $i from 1 through ($columns - 1) { @for $i from 1 through ($columns - 1) {
.g-start#{$infix}-#{$i} { .g-start#{$infix}-#{$i} {

View File

@ -65,7 +65,7 @@
@if $value != null { @if $value != null {
@if $is-rtl == false { @if $is-rtl == false {
/* rtl:begin:remove */ /*!rtl:begin:remove*/
} }
@if $is-css-var { @if $is-css-var {
@ -105,7 +105,7 @@
} }
@if $is-rtl == false { @if $is-rtl == false {
/* rtl:end:remove */ /*!rtl:end:remove*/
} }
} }
} }

View File

@ -20,7 +20,6 @@
--#{$prefix}accordion-btn-icon-transform: #{$accordion-icon-transform}; --#{$prefix}accordion-btn-icon-transform: #{$accordion-icon-transform};
--#{$prefix}accordion-btn-icon-transition: #{$accordion-icon-transition}; --#{$prefix}accordion-btn-icon-transition: #{$accordion-icon-transition};
--#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon)}; --#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon)};
--#{$prefix}accordion-btn-focus-border-color: #{$accordion-button-focus-border-color};
--#{$prefix}accordion-btn-focus-box-shadow: #{$accordion-button-focus-box-shadow}; --#{$prefix}accordion-btn-focus-box-shadow: #{$accordion-button-focus-box-shadow};
--#{$prefix}accordion-body-padding-x: #{$accordion-body-padding-x}; --#{$prefix}accordion-body-padding-x: #{$accordion-body-padding-x};
--#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y}; --#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y};
@ -75,7 +74,6 @@
&:focus { &:focus {
z-index: 3; z-index: 3;
border-color: var(--#{$prefix}accordion-btn-focus-border-color);
outline: 0; outline: 0;
box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow); box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow);
} }
@ -93,7 +91,7 @@
&:first-of-type { &:first-of-type {
@include border-top-radius(var(--#{$prefix}accordion-border-radius)); @include border-top-radius(var(--#{$prefix}accordion-border-radius));
.accordion-button { > .accordion-header .accordion-button {
@include border-top-radius(var(--#{$prefix}accordion-inner-border-radius)); @include border-top-radius(var(--#{$prefix}accordion-inner-border-radius));
} }
} }
@ -106,13 +104,13 @@
&:last-of-type { &:last-of-type {
@include border-bottom-radius(var(--#{$prefix}accordion-border-radius)); @include border-bottom-radius(var(--#{$prefix}accordion-border-radius));
.accordion-button { > .accordion-header .accordion-button {
&.collapsed { &.collapsed {
@include border-bottom-radius(var(--#{$prefix}accordion-inner-border-radius)); @include border-bottom-radius(var(--#{$prefix}accordion-inner-border-radius));
} }
} }
.accordion-collapse { > .accordion-collapse {
@include border-bottom-radius(var(--#{$prefix}accordion-border-radius)); @include border-bottom-radius(var(--#{$prefix}accordion-border-radius));
} }
} }
@ -127,11 +125,7 @@
// Remove borders and border-radius to keep accordion items edge-to-edge. // Remove borders and border-radius to keep accordion items edge-to-edge.
.accordion-flush { .accordion-flush {
.accordion-collapse { > .accordion-item {
border-width: 0;
}
.accordion-item {
border-right: 0; border-right: 0;
border-left: 0; border-left: 0;
@include border-radius(0); @include border-radius(0);
@ -143,12 +137,18 @@
border-bottom: 0; border-bottom: 0;
} }
.accordion-button { // stylelint-disable selector-max-class
> .accordion-header .accordion-button {
&, &,
&.collapsed { &.collapsed {
@include border-radius(0); @include border-radius(0);
} }
} }
// stylelint-enable selector-max-class
> .accordion-collapse {
@include border-radius(0);
}
} }
} }

View File

@ -100,6 +100,15 @@
} }
} }
.btn-check:checked:focus-visible + & {
// Avoid using mixin so we can pass custom focus shadow properly
@if $enable-shadows {
box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow);
} @else {
box-shadow: var(--#{$prefix}btn-focus-box-shadow);
}
}
&:disabled, &:disabled,
&.disabled, &.disabled,
fieldset:disabled & { fieldset:disabled & {

View File

@ -138,19 +138,13 @@
background-size: 100% 100%; background-size: 100% 100%;
} }
/* rtl:options: {
"autoRename": true,
"stringMap":[ {
"name" : "prev-next",
"search" : "prev",
"replace" : "next"
} ]
} */
.carousel-control-prev-icon { .carousel-control-prev-icon {
background-image: escape-svg($carousel-control-prev-icon-bg); background-image: escape-svg($carousel-control-prev-icon-bg) #{'/*rtl:' +
escape-svg($carousel-control-next-icon-bg) + '*/'};
} }
.carousel-control-next-icon { .carousel-control-next-icon {
background-image: escape-svg($carousel-control-next-icon-bg); background-image: escape-svg($carousel-control-next-icon-bg) #{'/*rtl:' +
escape-svg($carousel-control-prev-icon-bg) + '*/'};
} }
// Optional indicator pips/controls // Optional indicator pips/controls

View File

@ -129,7 +129,6 @@
display: flex; display: flex;
flex-shrink: 0; flex-shrink: 0;
align-items: center; align-items: center;
justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends
padding: var(--#{$prefix}modal-header-padding); padding: var(--#{$prefix}modal-header-padding);
border-bottom: var(--#{$prefix}modal-header-border-width) solid border-bottom: var(--#{$prefix}modal-header-border-width) solid
var(--#{$prefix}modal-header-border-color); var(--#{$prefix}modal-header-border-color);

View File

@ -131,15 +131,14 @@
.offcanvas-header { .offcanvas-header {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between;
padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x); padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x);
.btn-close { .btn-close {
padding: calc(var(--#{$prefix}offcanvas-padding-y) * 0.5) padding: calc(var(--#{$prefix}offcanvas-padding-y) * 0.5)
calc(var(--#{$prefix}offcanvas-padding-x) * 0.5); calc(var(--#{$prefix}offcanvas-padding-x) * 0.5);
margin-top: calc(-0.5 * var(--#{$prefix}offcanvas-padding-y)); margin: calc(-0.5 * var(--#{$prefix}offcanvas-padding-y))
margin-right: calc(-0.5 * var(--#{$prefix}offcanvas-padding-x)); calc(-0.5 * var(--#{$prefix}offcanvas-padding-x))
margin-bottom: calc(-0.5 * var(--#{$prefix}offcanvas-padding-y)); calc(-0.5 * var(--#{$prefix}offcanvas-padding-y)) auto;
} }
} }

View File

@ -84,7 +84,7 @@
// //
// When borders are added on all sides of the cells, the corners can render odd when // When borders are added on all sides of the cells, the corners can render odd when
// these borders do not have the same color or if they are semi-transparent. // these borders do not have the same color or if they are semi-transparent.
// Therefor we add top and border bottoms to the `tr`s and left and right borders // Therefore we add top and border bottoms to the `tr`s and left and right borders
// to the `td`s or `th`s // to the `td`s or `th`s
.table-bordered { .table-bordered {

View File

@ -1400,7 +1400,9 @@ $accordion-transition: $btn-transition, border-radius 0.15s ease !default;
$accordion-button-active-bg: var(--#{$prefix}primary-bg-subtle) !default; $accordion-button-active-bg: var(--#{$prefix}primary-bg-subtle) !default;
$accordion-button-active-color: var(--#{$prefix}primary-text-emphasis) !default; $accordion-button-active-color: var(--#{$prefix}primary-text-emphasis) !default;
$accordion-button-focus-border-color: $input-focus-border-color !default; // fusv-disable
$accordion-button-focus-border-color: $input-focus-border-color !default; // Deprecated in v5.3.3
// fusv-enable
$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default; $accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;
$accordion-icon-width: 1.25rem !default; $accordion-icon-width: 1.25rem !default;
@ -1409,8 +1411,8 @@ $accordion-icon-active-color: $primary-text-emphasis !default;
$accordion-icon-transition: transform 0.2s ease-in-out !default; $accordion-icon-transition: transform 0.2s ease-in-out !default;
$accordion-icon-transform: rotate(-180deg) !default; $accordion-icon-transform: rotate(-180deg) !default;
$accordion-button-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default; $accordion-button-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#{$accordion-icon-color}' stroke-linecap='round' stroke-linejoin='round'><path d='M2 5L8 11L14 5'/></svg>") !default;
$accordion-button-active-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-active-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default; $accordion-button-active-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#{$accordion-icon-active-color}' stroke-linecap='round' stroke-linejoin='round'><path d='M2 5L8 11L14 5'/></svg>") !default;
// scss-docs-end accordion-variables // scss-docs-end accordion-variables
// Tooltips // Tooltips
@ -1755,3 +1757,5 @@ $kbd-bg: var(--#{$prefix}body-color) !default;
$nested-kbd-font-weight: null !default; // Deprecated in v5.2.0, removing in v6 $nested-kbd-font-weight: null !default; // Deprecated in v5.2.0, removing in v6
$pre-color: null !default; $pre-color: null !default;
@import 'variables-dark'; // TODO: can be removed safely in v6, only here to avoid breaking changes in v5.3

View File

@ -134,7 +134,7 @@
margin-left: $form-switch-padding-start * -1; margin-left: $form-switch-padding-start * -1;
background-image: var(--#{$prefix}form-switch-bg); background-image: var(--#{$prefix}form-switch-bg);
background-position: left center; background-position: left center;
@include border-radius($form-switch-border-radius); @include border-radius($form-switch-border-radius, 0);
@include transition($form-switch-transition); @include transition($form-switch-transition);
&:focus { &:focus {

View File

@ -1,7 +1,7 @@
@mixin bsBanner($file) { @mixin bsBanner($file) {
/*! /*!
* Bootstrap #{$file} v5.3.2 (https://getbootstrap.com/) * Bootstrap #{$file} v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors * Copyright 2011-2024 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
} }

View File

@ -70,10 +70,15 @@
&:focus { &:focus {
border-color: $border-color; border-color: $border-color;
@if $enable-shadows {
@include box-shadow($input-box-shadow, $focus-box-shadow);
} @else {
// Avoid using mixin so we can pass custom focus shadow properly
box-shadow: $focus-box-shadow; box-shadow: $focus-box-shadow;
} }
} }
} }
}
// stylelint-disable-next-line selector-no-qualifying-type // stylelint-disable-next-line selector-no-qualifying-type
textarea.form-control { textarea.form-control {
@ -101,10 +106,15 @@
&:focus { &:focus {
border-color: $border-color; border-color: $border-color;
@if $enable-shadows {
@include box-shadow($form-select-box-shadow, $focus-box-shadow);
} @else {
// Avoid using mixin so we can pass custom focus shadow properly
box-shadow: $focus-box-shadow; box-shadow: $focus-box-shadow;
} }
} }
} }
}
.form-control-color { .form-control-color {
@include form-validation-state-selector($state) { @include form-validation-state-selector($state) {

View File

@ -156,7 +156,7 @@
} }
} }
// Start with `1` because `0` is and invalid value. // Start with `1` because `0` is an invalid value.
// Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible. // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.
@for $i from 1 through ($columns - 1) { @for $i from 1 through ($columns - 1) {
.g-start#{$infix}-#{$i} { .g-start#{$infix}-#{$i} {

View File

@ -125,3 +125,38 @@
} }
} }
} }
INPUT,
SELECT,
TEXTAREA {
&:-webkit-autofill {
animation-name: onautofillstart;
-webkit-background-clip: text;
box-shadow: inset 0 0 20px 20px white;
-webkit-box-shadow: 0 0 20px 20px white inset !important;
&:hover,
&:focus,
&:active {
animation-name: onautofillstart;
-webkit-background-clip: text;
box-shadow: inset 0 0 20px 20px white;
-webkit-box-shadow: 0 0 20px 20px white inset !important;
}
}
&:not(:-webkit-autofill) {
animation-name: onautofillcancel;
}
}
@keyframes onautofillstart {
from {
}
}
@keyframes onautofillcancel {
from {
}
}