mirror of
https://github.com/mdbootstrap/mdb-ui-kit.git
synced 2025-03-13 08:15:48 +03:00
Compare commits
11 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
94a449062b | ||
|
b9c591ac83 | ||
|
afda5bb2de | ||
|
e5d70a654d | ||
|
4b70601400 | ||
|
6e36747893 | ||
|
44dd14903b | ||
|
1c424aba40 | ||
|
edf95e73b6 | ||
|
0827f56867 | ||
|
2f05aa0764 |
21
LICENSE
21
LICENSE
|
@ -1,21 +0,0 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2021 MDBootstrap
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
BIN
License.pdf
BIN
License.pdf
Binary file not shown.
17
License.txt
Normal file
17
License.txt
Normal file
|
@ -0,0 +1,17 @@
|
|||
MIT license for MDB Free
|
||||
|
||||
Free packages are available under the MIT License.
|
||||
|
||||
-- Highlights
|
||||
|
||||
● Free for personal use
|
||||
● Free for commercial use
|
||||
● No attribution required
|
||||
|
||||
-- Copyright notice
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions.
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
The software is provided "As is", without warranty of any kind, express or implied, including but not limited To the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall The authors or copyright holders be liable for any claim, damages or other liability, whether in an action of Contract, tort or otherwise, arising from, out of or in connection with the software or the use or other Dealings in the software.
|
25
README.md
25
README.md
|
@ -26,10 +26,13 @@ Regardless whether you want to create a Travel Blog or an e-commerce shop to sel
|
|||
<p>Created by <a href="https://mdbootstrap.com"><img height="30" src="https://mdbootstrap.com/img/Marketing/general/logo/medium/mdb-r.png"></a>
|
||||
<a href="https://npmcharts.com/compare/mdbootstrap?minimal=true"> <img src="https://img.shields.io/npm/dm/mdbootstrap.svg?label=NPM%20Downloads" alt="Downloads"></a>
|
||||
<a href="https://github.com/mdbootstrap/bootstrap-material-design/blob/master/License.pdf"><img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License"></a>
|
||||
<a href="https://twitter.com/intent/tweet/?text=Thanks+@mdbootstrap+for+creating+amazing+and+free+Material+Design+for+Bootstrap+5+UI+KIT%20https://mdbootstrap.com/docs/jquery/&hashtags=javascript,code,webdesign,bootstrap"><img src="https://img.shields.io/twitter/url/http/shields.io.svg?style=social&label=Let%20us%20know%20you%20were%20here%21&"></a>
|
||||
<a href="https://www.youtube.com/watch?v=c9B4TPnak1A"><img alt="YouTube Video Views" src="https://img.shields.io/youtube/views/c9B4TPnak1A?label=Bootstrap%205%20Tutorial%20Views&style=social"></a></p>
|
||||
<a href="https://x.com/intent/post?text=Thanks+%40mdbootstrap+for+creating+amazing+and+free+Material+Design+for+Bootstrap+5+UI+KIT+https%3A%2F%2Fmdbootstrap.com%2Fdocs%2Fjquery%2F&hashtags=javascript%2Ccode%2Cwebdesign%2Cbootstrap"><img src="https://img.shields.io/twitter/url/http/shields.io.svg?style=social&label=Let%20us%20know%20you%20were%20here%21&"></a>
|
||||
<a href="https://mdbootstrap.com/learn/mdb-foundations/basics/introduction/">
|
||||
<img src="https://img.shields.io/static/v1?label=MDBootstrap&message=Tutorial&labelColor=007bff&color=ffffff&logoColor=007bff&textColor=000000" alt="MDBootstrap tutorial">
|
||||
</a></p>
|
||||
|
||||
Trusted by <b>2 000 000+</b> developers & designers. Used by companies & institutions like
|
||||
|
||||
Trusted by <b>3 000 000+</b> developers & designers. Used by companies & institutions like
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
|
@ -78,37 +81,37 @@ ___
|
|||
|
||||
# Bootstrap 5 tutorial
|
||||
|
||||
**[>> Learn more about Bootstrap 5](https://mdbootstrap.com/docs/standard/bootstrap-5/)**
|
||||
**[>> Learn more about Bootstrap 5](https://mdbootstrap.com/docs/standard/)**
|
||||
|
||||
|
||||
**[>> Bootstrap 5 Tutorial](https://mdbootstrap.com/docs/standard/bootstrap-5-tutorial/)**
|
||||
**[>> Bootstrap 5 Tutorial](https://mdbootstrap.com/learn/mdb-foundations/basics/introduction/)**
|
||||
|
||||
**[>> Subscribe to our YouTube channel with dozens of Bootstrap tutorials](https://www.youtube.com/c/Mdbootstrap?sub_confirmation=1)**
|
||||
**[>> Subscribe to our YouTube channel with dozens of Bootstrap tutorials](https://www.youtube.com/c/Mdbootstrap)**
|
||||
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://mdbootstrap.com/docs/standard/getting-started/" alt="Bootstrap Tutorials" rel="dofollow">
|
||||
<a href="https://mdbootstrap.com/learn/mdb-foundations/basics/introduction/" alt="Bootstrap Tutorials" rel="dofollow">
|
||||
<img src="https://mdbootstrap.com/wp-content/uploads/2020/12/learnmore-1.png">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="https://mdbootstrap.com/docs/standard/bootstrap-5-tutorial/#section-beginner" alt="Bootstrap 5" rel="dofollow">
|
||||
<img src="https://mdbootstrap.com/wp-content/uploads/2020/12/cover-bootstrap-5-1.png">
|
||||
<a href="https://mdbootstrap.com/learn/mdb-foundations/basics/introduction/#section-beginner" alt="Bootstrap 5" rel="dofollow">
|
||||
<img src="https://mdbootstrap.com/learn/mdb-foundations/basics/introduction/assets/featured-image.png">
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<p align="center"><b>Start learning from Basics</b></p>
|
||||
<a href="https://mdbootstrap.com/docs/standard/getting-started/" alt="Bootstrap 5" rel="dofollow">
|
||||
<a href="https://mdbootstrap.com/learn/mdb-foundations/basics/introduction/" alt="Bootstrap 5" rel="dofollow">
|
||||
<img src="https://mdbootstrap.com/wp-content/uploads/2020/12/Screenshot_26.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<p align="center"><b>Learn Bootstrap 5 | Crash Course for Beginners in 1.5H</b></p>
|
||||
<a href="https://mdbootstrap.com/docs/standard/bootstrap-5-tutorial/#section-beginner" alt="Bootstrap 5" rel="dofollow">
|
||||
<a href="https://mdbootstrap.com/learn/mdb-foundations/basics/introduction/#section-beginner" alt="Bootstrap 5" rel="dofollow">
|
||||
<img src="https://mdbootstrap.com/wp-content/uploads/2020/12/Screenshot_26.png">
|
||||
</a>
|
||||
</td>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
MDB5
|
||||
Version: PRO 7.0.0
|
||||
Version: FREE 8.2.0
|
||||
|
||||
Documentation:
|
||||
https://mdbootstrap.com/docs/standard/
|
||||
|
||||
Contact:
|
||||
office@mdbootstrap.com
|
||||
contact@mdbootstrap.com
|
27
css/mdb.dark.min.css
vendored
27
css/mdb.dark.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
27
css/mdb.dark.rtl.min.css
vendored
27
css/mdb.dark.rtl.min.css
vendored
File diff suppressed because one or more lines are too long
13
css/mdb.min.css
vendored
13
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
13
css/mdb.rtl.min.css
vendored
13
css/mdb.rtl.min.css
vendored
File diff suppressed because one or more lines are too long
8720
js/mdb.es.min.js
vendored
8720
js/mdb.es.min.js
vendored
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
7
js/mdb.umd.min.js
vendored
7
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
153
license.txt
153
license.txt
|
@ -1,153 +0,0 @@
|
|||
Free packages are available under the MIT License.
|
||||
|
||||
**Hightlights**
|
||||
|
||||
- Free for personal use
|
||||
- Free for commercial use
|
||||
- No attribution required
|
||||
|
||||
**Copyright notice**
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
|
||||
and associated documentation files (the "Software"), to deal in the Software without restriction,
|
||||
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions.
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies
|
||||
or substantial portions of the Software.
|
||||
|
||||
The software is provided "As is", without warranty of any kind, express or implied,
|
||||
including but not limited To the warranties of merchantability, fitness for a particular purpose
|
||||
and noninfringement. In no event shall The authors or copyright holders be liable for any claim,
|
||||
damages or other liability, whether in an action of Contract, tort or otherwise, arising from,
|
||||
out of or in connection with the software or the use or other Dealings in the software.
|
||||
|
||||
|
||||
________________________________________
|
||||
|
||||
|
||||
**Commercial license for MDB Pro**
|
||||
|
||||
We offer our clients a business-friendly commercial license tailored to their needs. We also provide
|
||||
full support in both the purchasing and implementation process.
|
||||
|
||||
**End User License Agreement (EULA)**
|
||||
|
||||
**Hightlights**
|
||||
|
||||
- Lifetime usage of the components included in the UI Kits
|
||||
- Subscription for Premium Access features (can be canceled at any time)
|
||||
- You can create an unlimited number of projects
|
||||
- You have right to personal use
|
||||
- You have right to commercial use
|
||||
- No attribution is required
|
||||
|
||||
________________________________________
|
||||
|
||||
|
||||
Paid packages are licensed according to the End User License Agreement (EULA) detailed below.
|
||||
By using products listed below (Product) from StartupFlow s.c. (MDB / MDBootstrap), you agree that this
|
||||
is a legally binding and valid contract and agree to be bound by it. You agree to abide by the intellectual
|
||||
property laws and all of the terms and conditions of this Agreement.
|
||||
|
||||
**Rights**
|
||||
|
||||
**No attribution required**
|
||||
|
||||
You are not required to attribute or link to Material Design for Bootstrap in any projects.
|
||||
|
||||
**Right to personal use**
|
||||
|
||||
The License grants you, the purchaser, an ongoing, non-exclusive, worldwide license to make use of the Product
|
||||
in personal projects, in accordance with the EULA.
|
||||
|
||||
**Right to commercial use**
|
||||
|
||||
The License grants you, the purchaser, an ongoing, non-exclusive, worldwide license to make use of the Product
|
||||
in commercial projects, in accordance with the EULA.
|
||||
|
||||
**Right to modification**
|
||||
|
||||
You may modify the resources according to your requirements.
|
||||
|
||||
**Right to create the End Product**
|
||||
|
||||
You may use the Product to create End Products in accordance with the EULA. The End Product is a customised
|
||||
implementation of the Product requiring an application of skill and effort (f.e. a webiste build with MDB Template
|
||||
with customized, modified content is an End Product because it requires skill and efort while a webiste which
|
||||
is literally copy-pasted MDB Template isn't).
|
||||
|
||||
**Lifetime usage**
|
||||
|
||||
You are entitled to use the purchased Product for life.
|
||||
|
||||
**Premium Access features**
|
||||
|
||||
Premium Access features are covered by a reocurring subscription. As long as the subscription is active you have
|
||||
access to all maintenance and bonus features. The user has a right to cancell the subscription without losing
|
||||
the right to use the Pro package itself.
|
||||
|
||||
**User limits**
|
||||
|
||||
User limit for a license is specified on the checkout and during the purchase. License holder
|
||||
(an owner of mdbootstrap account to which the license is assigned) has a right to allow usage for additional users
|
||||
but not more then the "developer number" specified in the order.
|
||||
|
||||
**Unimited projects**
|
||||
|
||||
The License grants you, the purchaser, an ongoing, non-exclusive right to create unlimited End Products
|
||||
for yourself or for multiple clients.
|
||||
|
||||
___________________
|
||||
|
||||
**Restrictions**
|
||||
|
||||
**Unauthorised redistribution**
|
||||
|
||||
You cannot redistribute, resell, lease, license, sub-license or offer the Product directly or non-directly
|
||||
to any other third party, without an explicit agreement with StartupFlow s.c.. Learn more about the Reseller Terms.
|
||||
|
||||
**Product usage by end-user**
|
||||
|
||||
You cannot permit an end user of the End Product to use the Product separately from the End Product.
|
||||
(f.e. Your client can use the website X that you've built for him, but he cannot build another website Y himself
|
||||
using the files installed for the website X.
|
||||
|
||||
**Open source**
|
||||
|
||||
You cannot redistribute any of the software, or products created with MDB software to repositories
|
||||
like GitHub, where they are publicly available or include into any Open Source projects.
|
||||
|
||||
**Competition**
|
||||
|
||||
You cannot use the Product to create any End Products that would compete with the Product itself.
|
||||
(f.e. you cannot use MDB 5 Pro to create a framework, library, design system, CMS, template, plugin or a page generator).
|
||||
|
||||
**Premium Access terms:**
|
||||
|
||||
Purchase of MDB Pro comes with Monthly or Annual access to maintenance features. A license holder
|
||||
has a right to use those features as long as his subscription is active. License value is 85% package
|
||||
contents with 12 months of updates & Git access; 15% Premium Support.
|
||||
|
||||
"Single Use" licenses don't include any Premium Access features.
|
||||
|
||||
**Premium Access includes:**
|
||||
|
||||
- Premium Support - your tickets are guranteed to be answered by a professional from MDBootstrap Team
|
||||
- Git repository access - acces to a repositories on git.mdbootstrap.com that enables npm installation
|
||||
- Unlimited Updates - access to all Product updates released within the maintenance period (f.e. all
|
||||
new versions of the same product released qithin 12 months after an annual subscription is created)
|
||||
- Premium Snippets platform access - including community snippets, premium templates, lab projects and design blocks
|
||||
- Documentation code examples
|
||||
- Access to drag & drop Builder
|
||||
- API access
|
||||
- Access to PRO design generators
|
||||
|
||||
**Premium Support Terms**
|
||||
|
||||
Premium Support is provided only on the official MDB support forum (https://mdbootstrap.com/support/).
|
||||
Technical code support regarding MDB UI Kits is not provided via email.
|
||||
|
||||
Support is provided from Monday to Friday, Premium Support tickets are usually answered within 1 workday.
|
||||
Premium Support tickets are guaranteed to be answered by a professional developer from MDB team. Priority Support tickets are answered first.
|
|
@ -1,9 +1,11 @@
|
|||
{
|
||||
"name": "mdb-ui-kit",
|
||||
"version": "7.0.0",
|
||||
"main": "js/mdb.min.js",
|
||||
"version": "8.2.0",
|
||||
"type": "module",
|
||||
"main": "./js/mdb.umd.min.js",
|
||||
"module": "./js/mdb.es.min.js",
|
||||
"homepage": "https://mdbootstrap.com/docs/standard/",
|
||||
"repository": "https://github.com/mdbootstrap/mdb-ui-kit.git",
|
||||
"author": "MDBootstrap",
|
||||
"license": "MIT"
|
||||
"license": "SEE LICENSE IN <License.txt>"
|
||||
}
|
|
@ -1,61 +0,0 @@
|
|||
import Manipulator from '../../mdb/dom/manipulator';
|
||||
import SelectorEngine from '../../mdb/dom/selector-engine';
|
||||
import DEFAULT_OPTIONS from '../../pro/charts/chartsDefaults';
|
||||
|
||||
const chartsCallback = (Component, initSelector) => {
|
||||
// eslint-disable-next-line consistent-return
|
||||
const IS_COMPLEX = (data) => {
|
||||
return (
|
||||
(data[0] === '{' && data[data.length - 1] === '}') ||
|
||||
(data[0] === '[' && data[data.length - 1] === ']')
|
||||
);
|
||||
};
|
||||
|
||||
const CONVERT_DATA_TYPE = (data) => {
|
||||
if (typeof data !== 'string') return data;
|
||||
if (IS_COMPLEX(data)) {
|
||||
return JSON.parse(data.replace(/'/g, '"'));
|
||||
}
|
||||
return data;
|
||||
};
|
||||
|
||||
const PARSE_DATA = (data) => {
|
||||
const dataset = {};
|
||||
Object.keys(data).forEach((property) => {
|
||||
if (property.match(/dataset.*/)) {
|
||||
const chartProperty = property.slice(7, 8).toLowerCase().concat(property.slice(8));
|
||||
dataset[chartProperty] = CONVERT_DATA_TYPE(data[property]);
|
||||
}
|
||||
});
|
||||
return dataset;
|
||||
};
|
||||
|
||||
SelectorEngine.find(initSelector).forEach((el) => {
|
||||
if (
|
||||
!Component.getInstance(el) &&
|
||||
Manipulator.getDataAttribute(el, 'chart') !== 'bubble' &&
|
||||
Manipulator.getDataAttribute(el, 'chart') !== 'scatter'
|
||||
) {
|
||||
const dataSet = Manipulator.getDataAttributes(el);
|
||||
const dataAttr = {
|
||||
data: {
|
||||
datasets: [PARSE_DATA(dataSet)],
|
||||
},
|
||||
};
|
||||
if (dataSet.chart) {
|
||||
dataAttr.type = dataSet.chart;
|
||||
}
|
||||
if (dataSet.labels) {
|
||||
dataAttr.data.labels = JSON.parse(dataSet.labels.replace(/'/g, '"'));
|
||||
}
|
||||
|
||||
return new Component(el, {
|
||||
...dataAttr,
|
||||
...DEFAULT_OPTIONS[dataAttr.type],
|
||||
});
|
||||
}
|
||||
return null;
|
||||
});
|
||||
};
|
||||
|
||||
export default chartsCallback;
|
|
@ -9,10 +9,15 @@ import {
|
|||
} from '../../mdb/util';
|
||||
import { enableDismissTrigger } from '../../bootstrap/mdb-prefix/util/component-functions';
|
||||
|
||||
const callbackInitState = new Map();
|
||||
|
||||
const alertCallback = (component, initSelector) => {
|
||||
const Alert = component;
|
||||
|
||||
enableDismissTrigger(Alert, 'close');
|
||||
if (!callbackInitState.has(component.name)) {
|
||||
enableDismissTrigger(Alert);
|
||||
callbackInitState.set(component.name, true);
|
||||
}
|
||||
|
||||
// MDB init
|
||||
SelectorEngine.find(initSelector).forEach((element) => {
|
||||
|
@ -24,15 +29,18 @@ const buttonCallback = (component, initSelector) => {
|
|||
const Button = component;
|
||||
const EVENT_CLICK_DATA_API = `click.bs.${component.name}.data-api`;
|
||||
|
||||
// BS init
|
||||
EventHandler.on(document, EVENT_CLICK_DATA_API, initSelector, (event) => {
|
||||
event.preventDefault();
|
||||
if (!callbackInitState.has(component.name)) {
|
||||
// BS init
|
||||
EventHandler.on(document, EVENT_CLICK_DATA_API, initSelector, (event) => {
|
||||
event.preventDefault();
|
||||
|
||||
const button = event.target.closest(initSelector);
|
||||
const data = Button.getOrCreateInstance(button);
|
||||
const button = event.target.closest(initSelector);
|
||||
const data = Button.getOrCreateInstance(button);
|
||||
|
||||
data.toggle();
|
||||
});
|
||||
data.toggle();
|
||||
});
|
||||
callbackInitState.set(component.name, true);
|
||||
}
|
||||
|
||||
// MDB init
|
||||
SelectorEngine.find(initSelector).forEach((element) => {
|
||||
|
@ -41,6 +49,10 @@ const buttonCallback = (component, initSelector) => {
|
|||
};
|
||||
|
||||
const carouselCallback = (component, initSelector) => {
|
||||
if (callbackInitState.has(component.name)) {
|
||||
return;
|
||||
}
|
||||
|
||||
const EVENT_CLICK_DATA_API = `click.bs.${component.name}.data-api`;
|
||||
const SELECTOR_DATA_SLIDE = '[data-mdb-slide], [data-mdb-slide-to]';
|
||||
const CLASS_NAME_CAROUSEL = 'carousel';
|
||||
|
@ -83,6 +95,8 @@ const carouselCallback = (component, initSelector) => {
|
|||
Carousel.getOrCreateInstance(carousel);
|
||||
});
|
||||
});
|
||||
|
||||
callbackInitState.set(component.name, true);
|
||||
};
|
||||
|
||||
const collapseCallback = (component, initSelector) => {
|
||||
|
@ -90,22 +104,26 @@ const collapseCallback = (component, initSelector) => {
|
|||
const SELECTOR_DATA_TOGGLE = initSelector;
|
||||
const Collapse = component;
|
||||
|
||||
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
|
||||
if (
|
||||
event.target.tagName === 'A' ||
|
||||
(event.delegateTarget && event.delegateTarget.tagName === 'A')
|
||||
) {
|
||||
event.preventDefault();
|
||||
}
|
||||
if (!callbackInitState.has(component.name)) {
|
||||
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
|
||||
if (
|
||||
event.target.tagName === 'A' ||
|
||||
(event.delegateTarget && event.delegateTarget.tagName === 'A')
|
||||
) {
|
||||
event.preventDefault();
|
||||
}
|
||||
|
||||
const selector = getSelectorFromElement(this);
|
||||
const selectorElements = SelectorEngine.find(selector);
|
||||
const selector = getSelectorFromElement(this);
|
||||
const selectorElements = SelectorEngine.find(selector);
|
||||
|
||||
selectorElements.forEach((element) => {
|
||||
Collapse.getOrCreateInstance(element, { toggle: false }).toggle();
|
||||
selectorElements.forEach((element) => {
|
||||
Collapse.getOrCreateInstance(element, { toggle: false }).toggle();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
callbackInitState.set(component.name, true);
|
||||
}
|
||||
|
||||
SelectorEngine.find(SELECTOR_DATA_TOGGLE).forEach((el) => {
|
||||
const selector = getSelectorFromElement(el);
|
||||
|
@ -125,19 +143,28 @@ const dropdownCallback = (component, initSelector) => {
|
|||
const SELECTOR_DATA_TOGGLE = `[data-mdb-${component.NAME}-initialized]`;
|
||||
const Dropdown = component;
|
||||
|
||||
EventHandler.on(
|
||||
document,
|
||||
EVENT_KEYDOWN_DATA_API,
|
||||
SELECTOR_DATA_TOGGLE,
|
||||
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) {
|
||||
event.preventDefault();
|
||||
Dropdown.getOrCreateInstance(this).toggle();
|
||||
});
|
||||
if (!callbackInitState.has(component.name)) {
|
||||
EventHandler.on(
|
||||
document,
|
||||
EVENT_KEYDOWN_DATA_API,
|
||||
SELECTOR_DATA_TOGGLE,
|
||||
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) {
|
||||
event.preventDefault();
|
||||
Dropdown.getOrCreateInstance(this).toggle();
|
||||
});
|
||||
}
|
||||
|
||||
callbackInitState.set(component.name, true);
|
||||
|
||||
SelectorEngine.find(initSelector).forEach((el) => {
|
||||
Dropdown.getOrCreateInstance(el);
|
||||
|
@ -150,34 +177,62 @@ const inputCallback = (component, initSelector) => {
|
|||
const SELECTOR_OUTLINE_TEXTAREA = `${SELECTOR_DATA_INIT} textarea`;
|
||||
const Input = component;
|
||||
|
||||
EventHandler.on(document, 'focus', SELECTOR_OUTLINE_INPUT, Input.activate(new Input()));
|
||||
EventHandler.on(document, 'input', SELECTOR_OUTLINE_INPUT, Input.activate(new Input()));
|
||||
EventHandler.on(document, 'blur', SELECTOR_OUTLINE_INPUT, Input.deactivate(new Input()));
|
||||
if (!callbackInitState.has(component.name)) {
|
||||
EventHandler.on(document, 'focus', SELECTOR_OUTLINE_INPUT, Input.activate(new Input()));
|
||||
EventHandler.on(document, 'input', SELECTOR_OUTLINE_INPUT, Input.activate(new Input()));
|
||||
EventHandler.on(document, 'blur', SELECTOR_OUTLINE_INPUT, Input.deactivate(new Input()));
|
||||
|
||||
EventHandler.on(document, 'focus', SELECTOR_OUTLINE_TEXTAREA, Input.activate(new Input()));
|
||||
EventHandler.on(document, 'input', SELECTOR_OUTLINE_TEXTAREA, Input.activate(new Input()));
|
||||
EventHandler.on(document, 'blur', SELECTOR_OUTLINE_TEXTAREA, Input.deactivate(new Input()));
|
||||
EventHandler.on(document, 'focus', SELECTOR_OUTLINE_TEXTAREA, Input.activate(new Input()));
|
||||
EventHandler.on(document, 'input', SELECTOR_OUTLINE_TEXTAREA, Input.activate(new Input()));
|
||||
EventHandler.on(document, 'blur', SELECTOR_OUTLINE_TEXTAREA, Input.deactivate(new Input()));
|
||||
|
||||
EventHandler.on(window, 'shown.bs.modal', (e) => {
|
||||
SelectorEngine.find(SELECTOR_OUTLINE_INPUT, e.target).forEach((element) => {
|
||||
const instance = Input.getInstance(element.parentNode);
|
||||
if (!instance) {
|
||||
return;
|
||||
}
|
||||
instance.update();
|
||||
EventHandler.on(window, 'shown.bs.modal', (e) => {
|
||||
SelectorEngine.find(SELECTOR_OUTLINE_INPUT, e.target).forEach((element) => {
|
||||
const instance = Input.getInstance(element.parentNode);
|
||||
if (!instance) {
|
||||
return;
|
||||
}
|
||||
instance.update();
|
||||
});
|
||||
SelectorEngine.find(SELECTOR_OUTLINE_TEXTAREA, e.target).forEach((element) => {
|
||||
const instance = Input.getInstance(element.parentNode);
|
||||
if (!instance) {
|
||||
return;
|
||||
}
|
||||
instance.update();
|
||||
});
|
||||
});
|
||||
SelectorEngine.find(SELECTOR_OUTLINE_TEXTAREA, e.target).forEach((element) => {
|
||||
const instance = Input.getInstance(element.parentNode);
|
||||
if (!instance) {
|
||||
return;
|
||||
}
|
||||
instance.update();
|
||||
});
|
||||
});
|
||||
|
||||
EventHandler.on(window, 'shown.bs.dropdown', (e) => {
|
||||
const target = e.target.parentNode.querySelector('.dropdown-menu');
|
||||
if (target) {
|
||||
EventHandler.on(window, 'shown.bs.dropdown', (e) => {
|
||||
const target = e.target.parentNode.querySelector('.dropdown-menu');
|
||||
if (target) {
|
||||
SelectorEngine.find(SELECTOR_OUTLINE_INPUT, target).forEach((element) => {
|
||||
const instance = Input.getInstance(element.parentNode);
|
||||
if (!instance) {
|
||||
return;
|
||||
}
|
||||
instance.update();
|
||||
});
|
||||
SelectorEngine.find(SELECTOR_OUTLINE_TEXTAREA, target).forEach((element) => {
|
||||
const instance = Input.getInstance(element.parentNode);
|
||||
if (!instance) {
|
||||
return;
|
||||
}
|
||||
instance.update();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
EventHandler.on(window, 'shown.bs.tab', (e) => {
|
||||
let targetId;
|
||||
|
||||
if (e.target.href) {
|
||||
targetId = e.target.href.split('#')[1];
|
||||
} else {
|
||||
targetId = Manipulator.getDataAttribute(e.target, 'target').split('#')[1];
|
||||
}
|
||||
|
||||
const target = SelectorEngine.findOne(`#${targetId}`);
|
||||
SelectorEngine.find(SELECTOR_OUTLINE_INPUT, target).forEach((element) => {
|
||||
const instance = Input.getInstance(element.parentNode);
|
||||
if (!instance) {
|
||||
|
@ -192,64 +247,40 @@ const inputCallback = (component, initSelector) => {
|
|||
}
|
||||
instance.update();
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
EventHandler.on(window, 'shown.bs.tab', (e) => {
|
||||
let targetId;
|
||||
// form reset handler
|
||||
EventHandler.on(window, 'reset', (e) => {
|
||||
SelectorEngine.find(SELECTOR_OUTLINE_INPUT, e.target).forEach((element) => {
|
||||
const instance = Input.getInstance(element.parentNode);
|
||||
if (!instance) {
|
||||
return;
|
||||
}
|
||||
instance.forceInactive();
|
||||
});
|
||||
SelectorEngine.find(SELECTOR_OUTLINE_TEXTAREA, e.target).forEach((element) => {
|
||||
const instance = Input.getInstance(element.parentNode);
|
||||
if (!instance) {
|
||||
return;
|
||||
}
|
||||
instance.forceInactive();
|
||||
});
|
||||
});
|
||||
|
||||
if (e.target.href) {
|
||||
targetId = e.target.href.split('#')[1];
|
||||
} else {
|
||||
targetId = Manipulator.getDataAttribute(e.target, 'target').split('#')[1];
|
||||
}
|
||||
|
||||
const target = SelectorEngine.findOne(`#${targetId}`);
|
||||
SelectorEngine.find(SELECTOR_OUTLINE_INPUT, target).forEach((element) => {
|
||||
const instance = Input.getInstance(element.parentNode);
|
||||
if (!instance) {
|
||||
// auto-fill
|
||||
EventHandler.on(window, 'onautocomplete', (e) => {
|
||||
const instance = Input.getInstance(e.target.parentNode);
|
||||
if (!instance || !e.cancelable) {
|
||||
return;
|
||||
}
|
||||
instance.update();
|
||||
instance.forceActive();
|
||||
});
|
||||
SelectorEngine.find(SELECTOR_OUTLINE_TEXTAREA, target).forEach((element) => {
|
||||
const instance = Input.getInstance(element.parentNode);
|
||||
if (!instance) {
|
||||
return;
|
||||
}
|
||||
instance.update();
|
||||
});
|
||||
});
|
||||
|
||||
callbackInitState.set(component.name, true);
|
||||
}
|
||||
|
||||
// auto-init
|
||||
SelectorEngine.find(SELECTOR_DATA_INIT).map((element) => new Input(element));
|
||||
|
||||
// form reset handler
|
||||
EventHandler.on(window, 'reset', (e) => {
|
||||
SelectorEngine.find(SELECTOR_OUTLINE_INPUT, e.target).forEach((element) => {
|
||||
const instance = Input.getInstance(element.parentNode);
|
||||
if (!instance) {
|
||||
return;
|
||||
}
|
||||
instance.forceInactive();
|
||||
});
|
||||
SelectorEngine.find(SELECTOR_OUTLINE_TEXTAREA, e.target).forEach((element) => {
|
||||
const instance = Input.getInstance(element.parentNode);
|
||||
if (!instance) {
|
||||
return;
|
||||
}
|
||||
instance.forceInactive();
|
||||
});
|
||||
});
|
||||
|
||||
// auto-fill
|
||||
EventHandler.on(window, 'onautocomplete', (e) => {
|
||||
const instance = Input.getInstance(e.target.parentNode);
|
||||
if (!instance || !e.cancelable) {
|
||||
return;
|
||||
}
|
||||
instance.forceActive();
|
||||
});
|
||||
SelectorEngine.find(SELECTOR_DATA_INIT).map((element) => Input.getOrCreateInstance(element));
|
||||
};
|
||||
|
||||
const modalCallback = (component, initSelector) => {
|
||||
|
@ -259,40 +290,43 @@ const modalCallback = (component, initSelector) => {
|
|||
const EVENT_SHOW = `show.bs.${component.name}`;
|
||||
const EVENT_HIDDEN = `hidden.bs.${component.name}`;
|
||||
|
||||
EventHandler.on(document, EVENT_CLICK_DATA_API, initSelector, function (event) {
|
||||
const target = getElementFromSelector(this);
|
||||
if (!callbackInitState.has(component.name)) {
|
||||
EventHandler.on(document, EVENT_CLICK_DATA_API, initSelector, function (event) {
|
||||
const target = getElementFromSelector(this);
|
||||
|
||||
if (['A', 'AREA'].includes(this.tagName)) {
|
||||
event.preventDefault();
|
||||
}
|
||||
|
||||
EventHandler.one(target, EVENT_SHOW, (showEvent) => {
|
||||
if (showEvent.defaultPrevented) {
|
||||
// only register focus restorer if modal will actually get shown
|
||||
return;
|
||||
if (['A', 'AREA'].includes(this.tagName)) {
|
||||
event.preventDefault();
|
||||
}
|
||||
|
||||
EventHandler.one(target, EVENT_HIDDEN, () => {
|
||||
if (isVisible(this)) {
|
||||
this.focus();
|
||||
EventHandler.one(target, EVENT_SHOW, (showEvent) => {
|
||||
if (showEvent.defaultPrevented) {
|
||||
// only register focus restorer if modal will actually get shown
|
||||
return;
|
||||
}
|
||||
|
||||
EventHandler.one(target, EVENT_HIDDEN, () => {
|
||||
if (isVisible(this)) {
|
||||
this.focus();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// avoid conflict when clicking modal toggler while another one is open
|
||||
const alreadyOpenedModals = SelectorEngine.find(OPEN_SELECTOR);
|
||||
alreadyOpenedModals.forEach((modal) => {
|
||||
if (!modal.classList.contains('modal-non-invasive-show')) {
|
||||
Modal.getInstance(modal).hide();
|
||||
}
|
||||
});
|
||||
|
||||
const data = Modal.getOrCreateInstance(target);
|
||||
|
||||
data.toggle(this);
|
||||
});
|
||||
|
||||
// avoid conflict when clicking modal toggler while another one is open
|
||||
const alreadyOpenedModals = SelectorEngine.find(OPEN_SELECTOR);
|
||||
alreadyOpenedModals.forEach((modal) => {
|
||||
if (!modal.classList.contains('modal-non-invasive-show')) {
|
||||
Modal.getInstance(modal).hide();
|
||||
}
|
||||
});
|
||||
|
||||
const data = Modal.getOrCreateInstance(target);
|
||||
|
||||
data.toggle(this);
|
||||
});
|
||||
|
||||
enableDismissTrigger(Modal);
|
||||
enableDismissTrigger(Modal);
|
||||
callbackInitState.set(component.name, true);
|
||||
}
|
||||
|
||||
SelectorEngine.find(initSelector).forEach((el) => {
|
||||
const selector = getSelectorFromElement(el);
|
||||
|
@ -312,6 +346,10 @@ const popoverCallback = (component, initSelector) => {
|
|||
};
|
||||
|
||||
const offcanvasCallback = (component, initSelector) => {
|
||||
if (callbackInitState.has(component.name)) {
|
||||
return;
|
||||
}
|
||||
|
||||
const EVENT_CLICK_DATA_API = `click.bs.${component.name}.data-api`;
|
||||
const OPEN_SELECTOR = '.offcanvas.show';
|
||||
const Offcanvas = component;
|
||||
|
@ -362,9 +400,14 @@ const offcanvasCallback = (component, initSelector) => {
|
|||
});
|
||||
|
||||
enableDismissTrigger(Offcanvas);
|
||||
callbackInitState.set(component.name, true);
|
||||
};
|
||||
|
||||
const scrollspyCallback = (component, initSelector) => {
|
||||
if (callbackInitState.has(component.name)) {
|
||||
return;
|
||||
}
|
||||
|
||||
const EVENT_LOAD_DATA_API = `load.bs.${component.name}.data-api`;
|
||||
const ScrollSpy = component;
|
||||
|
||||
|
@ -373,6 +416,8 @@ const scrollspyCallback = (component, initSelector) => {
|
|||
ScrollSpy.getOrCreateInstance(el);
|
||||
});
|
||||
});
|
||||
|
||||
callbackInitState.set(component.name, true);
|
||||
};
|
||||
|
||||
const tabCallback = (component, initSelector) => {
|
||||
|
@ -382,29 +427,36 @@ const tabCallback = (component, initSelector) => {
|
|||
const SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-mdb-tab-init], .${CLASS_NAME_ACTIVE}[data-mdb-pill-init], .${CLASS_NAME_ACTIVE}[data-mdb-toggle="list"]`;
|
||||
const Tab = component;
|
||||
|
||||
EventHandler.on(document, EVENT_CLICK_DATA_API, initSelector, function (event) {
|
||||
if (['A', 'AREA'].includes(this.tagName)) {
|
||||
event.preventDefault();
|
||||
}
|
||||
if (!callbackInitState.has(component.name)) {
|
||||
EventHandler.on(document, EVENT_CLICK_DATA_API, initSelector, function (event) {
|
||||
if (['A', 'AREA'].includes(this.tagName)) {
|
||||
event.preventDefault();
|
||||
}
|
||||
|
||||
if (isDisabled(this)) {
|
||||
return;
|
||||
}
|
||||
if (isDisabled(this)) {
|
||||
return;
|
||||
}
|
||||
|
||||
Tab.getOrCreateInstance(this).show();
|
||||
});
|
||||
|
||||
EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
|
||||
SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE).forEach((element) => {
|
||||
Tab.getOrCreateInstance(element);
|
||||
Tab.getOrCreateInstance(this).show();
|
||||
});
|
||||
});
|
||||
|
||||
EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
|
||||
SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE).forEach((element) => {
|
||||
Tab.getOrCreateInstance(element);
|
||||
});
|
||||
});
|
||||
|
||||
callbackInitState.set(component.name, true);
|
||||
}
|
||||
};
|
||||
|
||||
const toastCallback = (component, initSelector) => {
|
||||
const Toast = component;
|
||||
|
||||
enableDismissTrigger(Toast);
|
||||
if (!callbackInitState.has(component.name)) {
|
||||
enableDismissTrigger(Toast);
|
||||
callbackInitState.set(component.name, true);
|
||||
}
|
||||
|
||||
// MDB init
|
||||
SelectorEngine.find(initSelector).forEach((element) => {
|
||||
|
@ -415,7 +467,10 @@ const toastCallback = (component, initSelector) => {
|
|||
const rippleCallback = (component, initSelector) => {
|
||||
const Ripple = component;
|
||||
|
||||
EventHandler.one(document, 'mousedown', initSelector, Ripple.autoInitial(new Ripple()));
|
||||
if (!callbackInitState.has(component.name)) {
|
||||
EventHandler.one(document, 'mousedown', initSelector, Ripple.autoInitial(new Ripple()));
|
||||
callbackInitState.set(component.name, true);
|
||||
}
|
||||
};
|
||||
|
||||
export {
|
||||
|
|
|
@ -1,121 +0,0 @@
|
|||
import EventHandler from '../../mdb/dom/event-handler';
|
||||
import SelectorEngine from '../../mdb/dom/selector-engine';
|
||||
import { getElementFromSelector, isVisible, getSelectorFromElement } from '../../mdb/util';
|
||||
import { enableDismissTrigger } from '../../bootstrap/mdb-prefix/util/component-functions';
|
||||
import {
|
||||
buttonCallback,
|
||||
carouselCallback,
|
||||
collapseCallback,
|
||||
dropdownCallback,
|
||||
offcanvasCallback,
|
||||
scrollspyCallback,
|
||||
tabCallback,
|
||||
} from './free';
|
||||
|
||||
const alertCallback = (component, initSelector) => {
|
||||
const Alert = component;
|
||||
|
||||
enableDismissTrigger(Alert, 'close');
|
||||
// MDB init
|
||||
SelectorEngine.find(initSelector).forEach((element) => {
|
||||
return Alert.getOrCreateInstance(element);
|
||||
});
|
||||
};
|
||||
|
||||
const lightboxCallback = (component, initSelector) => {
|
||||
const EVENT_CLICK_DATA_API = `click.mdb.${component.name}.data-api`;
|
||||
const SELECTOR_DATA_INIT = initSelector;
|
||||
const SELECTOR_TOGGLE = `${SELECTOR_DATA_INIT} img:not(.lightbox-disabled)`;
|
||||
const Lightbox = component;
|
||||
|
||||
SelectorEngine.find(SELECTOR_DATA_INIT).forEach((el) => new Lightbox(el));
|
||||
EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_TOGGLE, Lightbox.toggle());
|
||||
};
|
||||
|
||||
const modalCallback = (component, initSelector) => {
|
||||
const EVENT_CLICK_DATA_API = `click.bs.${component.name}.data-api`;
|
||||
const OPEN_SELECTOR = '.modal.show';
|
||||
const Modal = component;
|
||||
const EVENT_SHOW = `show.bs.${component.name}`;
|
||||
const EVENT_HIDDEN = `hidden.bs.${component.name}`;
|
||||
|
||||
EventHandler.on(document, EVENT_CLICK_DATA_API, initSelector, function (event) {
|
||||
const target = getElementFromSelector(this);
|
||||
|
||||
if (['A', 'AREA'].includes(this.tagName)) {
|
||||
event.preventDefault();
|
||||
}
|
||||
|
||||
EventHandler.one(target, EVENT_SHOW, (showEvent) => {
|
||||
if (showEvent.defaultPrevented) {
|
||||
// only register focus restorer if modal will actually get shown
|
||||
return;
|
||||
}
|
||||
|
||||
EventHandler.one(target, EVENT_HIDDEN, () => {
|
||||
if (isVisible(this)) {
|
||||
this.focus();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// avoid conflict when clicking modal toggler while another one is open
|
||||
const alreadyOpenedModals = SelectorEngine.find(OPEN_SELECTOR);
|
||||
alreadyOpenedModals.forEach((modal) => {
|
||||
if (!modal.classList.contains('modal-non-invasive-show')) {
|
||||
Modal.getInstance(modal).hide();
|
||||
}
|
||||
});
|
||||
|
||||
const data = Modal.getOrCreateInstance(target);
|
||||
|
||||
data.toggle(this);
|
||||
});
|
||||
|
||||
enableDismissTrigger(Modal);
|
||||
|
||||
SelectorEngine.find(initSelector).forEach((el) => {
|
||||
const selector = getSelectorFromElement(el);
|
||||
const selectorElement = SelectorEngine.findOne(selector);
|
||||
|
||||
Modal.getOrCreateInstance(selectorElement);
|
||||
});
|
||||
};
|
||||
|
||||
const sidenavCallback = (component, initSelector) => {
|
||||
const SELECTOR_DATA_INIT = initSelector;
|
||||
const SELECTOR_TOGGLE = '[data-mdb-toggle="sidenav"]';
|
||||
const Sidenav = component;
|
||||
|
||||
EventHandler.on(document, 'click', SELECTOR_TOGGLE, Sidenav.toggleSidenav());
|
||||
|
||||
SelectorEngine.find(SELECTOR_DATA_INIT).forEach((sidenav) => {
|
||||
return Sidenav.getOrCreateInstance(sidenav);
|
||||
});
|
||||
};
|
||||
|
||||
const toastCallback = (component, initSelector) => {
|
||||
const SELECTOR_DATA_INIT = initSelector;
|
||||
const Toast = component;
|
||||
|
||||
enableDismissTrigger(Toast);
|
||||
|
||||
SelectorEngine.find(SELECTOR_DATA_INIT).forEach((toast) => {
|
||||
return Toast.getOrCreateInstance(toast);
|
||||
});
|
||||
};
|
||||
|
||||
export {
|
||||
alertCallback,
|
||||
lightboxCallback,
|
||||
buttonCallback,
|
||||
carouselCallback,
|
||||
collapseCallback,
|
||||
dropdownCallback,
|
||||
modalCallback,
|
||||
offcanvasCallback,
|
||||
scrollspyCallback,
|
||||
sidenavCallback,
|
||||
tabCallback,
|
||||
toastCallback,
|
||||
};
|
|
@ -1,7 +0,0 @@
|
|||
import defaultInitSelectors from './initSelectors/pro';
|
||||
import { InitMDB } from './init';
|
||||
|
||||
const initMDBInstance = new InitMDB(defaultInitSelectors);
|
||||
const initMDB = initMDBInstance.initMDB;
|
||||
|
||||
export default initMDB;
|
|
@ -38,7 +38,9 @@ const initComponent = (component, manualInit = false) => {
|
|||
return;
|
||||
}
|
||||
|
||||
InitializedComponents.set(component.NAME);
|
||||
if (!manualInit) {
|
||||
InitializedComponents.set(component.NAME);
|
||||
}
|
||||
|
||||
const thisComponent = _defaultInitSelectors[component.NAME] || null;
|
||||
const isToggler = thisComponent?.isToggler || false;
|
||||
|
|
|
@ -1,158 +0,0 @@
|
|||
import {
|
||||
alertCallback,
|
||||
lightboxCallback,
|
||||
sidenavCallback,
|
||||
modalCallback,
|
||||
toastCallback,
|
||||
} from '../callbacks/pro';
|
||||
import * as freeSelectors from './free';
|
||||
import chartsCallback from '../callbacks/charts';
|
||||
|
||||
const defaultInitSelectors = {
|
||||
...freeSelectors.default,
|
||||
chart: {
|
||||
name: 'Chart',
|
||||
selector: '[data-mdb-chart-init]',
|
||||
isToggler: false,
|
||||
advanced: chartsCallback,
|
||||
},
|
||||
chips: {
|
||||
name: 'ChipsInput',
|
||||
selector: '[data-mdb-chips-input-init]',
|
||||
isToggler: false,
|
||||
},
|
||||
chip: {
|
||||
name: 'Chip',
|
||||
selector: '[data-mdb-chip-init]',
|
||||
isToggler: false,
|
||||
onInit: 'init',
|
||||
},
|
||||
datatable: {
|
||||
name: 'Datatable',
|
||||
selector: '[data-mdb-datatable-init]',
|
||||
isToggler: false,
|
||||
},
|
||||
datetimepicker: {
|
||||
name: 'Datetimepicker',
|
||||
selector: '[data-mdb-datetimepicker-init]',
|
||||
isToggler: false,
|
||||
},
|
||||
datepicker: {
|
||||
name: 'Datepicker',
|
||||
selector: '[data-mdb-datepicker-init]',
|
||||
isToggler: false,
|
||||
},
|
||||
loading: {
|
||||
name: 'Loading',
|
||||
selector: '[data-mdb-loading-init]',
|
||||
isToggler: false,
|
||||
},
|
||||
multiRangeSlider: {
|
||||
name: 'MultiRangeSlider',
|
||||
selector: '[data-mdb-multi-range-slider-init]',
|
||||
isToggler: false,
|
||||
},
|
||||
select: {
|
||||
name: 'Select',
|
||||
selector: '[data-mdb-select-init]',
|
||||
isToggler: false,
|
||||
},
|
||||
timepicker: {
|
||||
name: 'Timepicker',
|
||||
selector: '[data-mdb-timepicker-init]',
|
||||
isToggler: false,
|
||||
},
|
||||
touch: {
|
||||
name: 'Touch',
|
||||
selector: '[data-mdb-touch-init]',
|
||||
isToggler: false,
|
||||
},
|
||||
alert: {
|
||||
name: 'Alert',
|
||||
selector: '[data-mdb-alert-init]',
|
||||
isToggler: true,
|
||||
callback: alertCallback,
|
||||
},
|
||||
animation: {
|
||||
name: 'Animate',
|
||||
selector: '[data-mdb-animation-init]',
|
||||
isToggler: false,
|
||||
onInit: 'init',
|
||||
},
|
||||
clipboard: {
|
||||
name: 'Clipboard',
|
||||
selector: '[data-mdb-clipboard-init]',
|
||||
isToggler: false,
|
||||
},
|
||||
infiniteScroll: {
|
||||
name: 'InfiniteScroll',
|
||||
selector: '[data-mdb-infinite-scroll-init]',
|
||||
isToggler: false,
|
||||
},
|
||||
lazyLoad: {
|
||||
name: 'LazyLoad',
|
||||
selector: '[data-mdb-lazy-load-init]',
|
||||
isToggler: false,
|
||||
},
|
||||
lightbox: {
|
||||
name: 'Lightbox',
|
||||
selector: '[data-mdb-lightbox-init]',
|
||||
isToggler: true,
|
||||
callback: lightboxCallback,
|
||||
},
|
||||
modal: {
|
||||
name: 'Modal',
|
||||
selector: '[data-mdb-modal-init]',
|
||||
isToggler: true,
|
||||
callback: modalCallback,
|
||||
},
|
||||
navbar: {
|
||||
name: 'Navbar',
|
||||
selector: '[data-mdb-navbar-init]',
|
||||
isToggler: false,
|
||||
},
|
||||
perfectScrollbar: {
|
||||
name: 'PerfectScrollbar',
|
||||
selector: '[data-mdb-perfect-scrollbar-init]',
|
||||
isToggler: false,
|
||||
},
|
||||
popconfirm: {
|
||||
name: 'Popconfirm',
|
||||
selector: '[data-mdb-popconfirm-init]',
|
||||
isToggler: false,
|
||||
},
|
||||
rating: {
|
||||
name: 'Rating',
|
||||
selector: '[data-mdb-rating-init]',
|
||||
isToggler: false,
|
||||
},
|
||||
sidenav: {
|
||||
name: 'Sidenav',
|
||||
selector: '[data-mdb-sidenav-init]',
|
||||
isToggler: true,
|
||||
callback: sidenavCallback,
|
||||
},
|
||||
smoothScroll: {
|
||||
name: 'SmoothScroll',
|
||||
selector: '[data-mdb-smooth-scroll-init]',
|
||||
isToggler: false,
|
||||
},
|
||||
stepper: {
|
||||
name: 'Stepper',
|
||||
selector: '[data-mdb-stepper-init]',
|
||||
isToggler: false,
|
||||
},
|
||||
sticky: {
|
||||
name: 'Sticky',
|
||||
selector: '[data-mdb-sticky-init]',
|
||||
isToggler: false,
|
||||
},
|
||||
toast: {
|
||||
name: 'Toast',
|
||||
selector: '[data-mdb-toast-init]',
|
||||
isToggler: true,
|
||||
callback: toastCallback,
|
||||
},
|
||||
};
|
||||
|
||||
export default defaultInitSelectors;
|
4
src/js/bootstrap/dist/alert.js
vendored
4
src/js/bootstrap/dist/alert.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap alert.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap alert.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
|
6
src/js/bootstrap/dist/base-component.js
vendored
6
src/js/bootstrap/dist/base-component.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap base-component.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap base-component.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
@ -34,7 +34,7 @@
|
|||
* Constants
|
||||
*/
|
||||
|
||||
const VERSION = '5.3.2';
|
||||
const VERSION = '5.3.3';
|
||||
|
||||
/**
|
||||
* Class definition
|
||||
|
|
2
src/js/bootstrap/dist/base-component.js.map
vendored
2
src/js/bootstrap/dist/base-component.js.map
vendored
|
@ -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;;;;;;;;"}
|
4
src/js/bootstrap/dist/button.js
vendored
4
src/js/bootstrap/dist/button.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap button.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap button.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
|
4
src/js/bootstrap/dist/carousel.js
vendored
4
src/js/bootstrap/dist/carousel.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap carousel.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap carousel.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
|
4
src/js/bootstrap/dist/collapse.js
vendored
4
src/js/bootstrap/dist/collapse.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap collapse.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap collapse.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
|
4
src/js/bootstrap/dist/dom/data.js
vendored
4
src/js/bootstrap/dist/dom/data.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap data.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap data.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
|
4
src/js/bootstrap/dist/dom/event-handler.js
vendored
4
src/js/bootstrap/dist/dom/event-handler.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap event-handler.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap event-handler.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
|
4
src/js/bootstrap/dist/dom/manipulator.js
vendored
4
src/js/bootstrap/dist/dom/manipulator.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap manipulator.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap manipulator.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
|
16
src/js/bootstrap/dist/dom/selector-engine.js
vendored
16
src/js/bootstrap/dist/dom/selector-engine.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap selector-engine.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap selector-engine.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
@ -37,12 +37,14 @@
|
|||
if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {
|
||||
hrefAttribute = `#${hrefAttribute.split('#')[1]}`;
|
||||
}
|
||||
selector =
|
||||
hrefAttribute && hrefAttribute !== '#'
|
||||
? index_js.parseSelector(hrefAttribute.trim())
|
||||
: null;
|
||||
selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null;
|
||||
}
|
||||
return selector;
|
||||
return selector
|
||||
? selector
|
||||
.split(',')
|
||||
.map((sel) => index_js.parseSelector(sel))
|
||||
.join(',')
|
||||
: null;
|
||||
};
|
||||
const SelectorEngine = {
|
||||
find(selector, element = document.documentElement) {
|
||||
|
|
File diff suppressed because one or more lines are too long
4
src/js/bootstrap/dist/dropdown.js
vendored
4
src/js/bootstrap/dist/dropdown.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap dropdown.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap dropdown.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
|
4
src/js/bootstrap/dist/modal.js
vendored
4
src/js/bootstrap/dist/modal.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap modal.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap modal.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
|
2
src/js/bootstrap/dist/modal.js.map
vendored
2
src/js/bootstrap/dist/modal.js.map
vendored
File diff suppressed because one or more lines are too long
4
src/js/bootstrap/dist/offcanvas.js
vendored
4
src/js/bootstrap/dist/offcanvas.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap offcanvas.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap offcanvas.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
|
4
src/js/bootstrap/dist/popover.js
vendored
4
src/js/bootstrap/dist/popover.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap popover.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap popover.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
|
4
src/js/bootstrap/dist/scrollspy.js
vendored
4
src/js/bootstrap/dist/scrollspy.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap scrollspy.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap scrollspy.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
|
2
src/js/bootstrap/dist/scrollspy.js.map
vendored
2
src/js/bootstrap/dist/scrollspy.js.map
vendored
File diff suppressed because one or more lines are too long
4
src/js/bootstrap/dist/tab.js
vendored
4
src/js/bootstrap/dist/tab.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap tab.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap tab.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
|
4
src/js/bootstrap/dist/toast.js
vendored
4
src/js/bootstrap/dist/toast.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap toast.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap toast.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
|
4
src/js/bootstrap/dist/tooltip.js
vendored
4
src/js/bootstrap/dist/tooltip.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap tooltip.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap tooltip.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
|
2
src/js/bootstrap/dist/tooltip.js.map
vendored
2
src/js/bootstrap/dist/tooltip.js.map
vendored
File diff suppressed because one or more lines are too long
5
src/js/bootstrap/dist/util/backdrop.js
vendored
5
src/js/bootstrap/dist/util/backdrop.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap backdrop.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap backdrop.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
@ -40,7 +40,6 @@
|
|||
// 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
|
||||
};
|
||||
|
||||
const DefaultType = {
|
||||
className: 'string',
|
||||
clickCallback: '(function|null)',
|
||||
|
|
2
src/js/bootstrap/dist/util/backdrop.js.map
vendored
2
src/js/bootstrap/dist/util/backdrop.js.map
vendored
File diff suppressed because one or more lines are too long
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap component-functions.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap component-functions.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
|
4
src/js/bootstrap/dist/util/config.js
vendored
4
src/js/bootstrap/dist/util/config.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap config.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap config.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
|
2
src/js/bootstrap/dist/util/config.js.map
vendored
2
src/js/bootstrap/dist/util/config.js.map
vendored
|
@ -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;;;;;;;;"}
|
5
src/js/bootstrap/dist/util/focustrap.js
vendored
5
src/js/bootstrap/dist/util/focustrap.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap focustrap.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap focustrap.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
@ -40,7 +40,6 @@
|
|||
autofocus: true,
|
||||
trapElement: null, // The element to trap focus inside of
|
||||
};
|
||||
|
||||
const DefaultType = {
|
||||
autofocus: 'boolean',
|
||||
trapElement: 'element',
|
||||
|
|
2
src/js/bootstrap/dist/util/focustrap.js.map
vendored
2
src/js/bootstrap/dist/util/focustrap.js.map
vendored
File diff suppressed because one or more lines are too long
5
src/js/bootstrap/dist/util/index.js
vendored
5
src/js/bootstrap/dist/util/index.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap index.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap index.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
@ -169,7 +169,6 @@
|
|||
const reflow = (element) => {
|
||||
element.offsetHeight; // eslint-disable-line no-unused-expressions
|
||||
};
|
||||
|
||||
const getjQuery = () => {
|
||||
if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
|
||||
return window.jQuery;
|
||||
|
|
2
src/js/bootstrap/dist/util/index.js.map
vendored
2
src/js/bootstrap/dist/util/index.js.map
vendored
File diff suppressed because one or more lines are too long
7
src/js/bootstrap/dist/util/sanitizer.js
vendored
7
src/js/bootstrap/dist/util/sanitizer.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap sanitizer.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap sanitizer.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
@ -31,7 +31,10 @@
|
|||
br: [],
|
||||
col: [],
|
||||
code: [],
|
||||
dd: [],
|
||||
div: [],
|
||||
dl: [],
|
||||
dt: [],
|
||||
em: [],
|
||||
hr: [],
|
||||
h1: [],
|
||||
|
|
2
src/js/bootstrap/dist/util/sanitizer.js.map
vendored
2
src/js/bootstrap/dist/util/sanitizer.js.map
vendored
File diff suppressed because one or more lines are too long
4
src/js/bootstrap/dist/util/scrollbar.js
vendored
4
src/js/bootstrap/dist/util/scrollbar.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap scrollbar.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap scrollbar.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
|
4
src/js/bootstrap/dist/util/swipe.js
vendored
4
src/js/bootstrap/dist/util/swipe.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap swipe.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap swipe.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* Bootstrap template-factory.js v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Bootstrap template-factory.js v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
(function (global, factory) {
|
||||
|
|
|
@ -76,12 +76,12 @@ class Alert extends BaseComponent {
|
|||
* Data API implementation
|
||||
*/
|
||||
|
||||
// enableDismissTrigger(Alert, 'close');
|
||||
// enableDismissTrigger(Alert, 'close')
|
||||
|
||||
/**
|
||||
* jQuery
|
||||
*/
|
||||
|
||||
// defineJQueryPlugin(Alert);
|
||||
// defineJQueryPlugin(Alert)
|
||||
|
||||
export default Alert;
|
||||
|
|
|
@ -14,7 +14,7 @@ import { executeAfterTransition, getElement } from './util/index.js';
|
|||
* Constants
|
||||
*/
|
||||
|
||||
const VERSION = '5.3.2';
|
||||
const VERSION = '5.3.3';
|
||||
|
||||
/**
|
||||
* Class definition
|
||||
|
|
|
@ -54,19 +54,19 @@ class Button extends BaseComponent {
|
|||
* Data API implementation
|
||||
*/
|
||||
|
||||
// EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, (event) => {
|
||||
// event.preventDefault();
|
||||
// EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {
|
||||
// event.preventDefault()
|
||||
|
||||
// const button = event.target.closest(SELECTOR_DATA_TOGGLE);
|
||||
// const data = Button.getOrCreateInstance(button);
|
||||
// const button = event.target.closest(SELECTOR_DATA_TOGGLE)
|
||||
// const data = Button.getOrCreateInstance(button)
|
||||
|
||||
// data.toggle();
|
||||
// });
|
||||
// data.toggle()
|
||||
// })
|
||||
|
||||
/**
|
||||
* jQuery
|
||||
*/
|
||||
|
||||
// defineJQueryPlugin(Button);
|
||||
// defineJQueryPlugin(Button)
|
||||
|
||||
export default Button;
|
||||
|
|
|
@ -437,45 +437,45 @@ class Carousel extends BaseComponent {
|
|||
*/
|
||||
|
||||
// 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)) {
|
||||
// return;
|
||||
// return
|
||||
// }
|
||||
|
||||
// event.preventDefault();
|
||||
// event.preventDefault()
|
||||
|
||||
// const carousel = Carousel.getOrCreateInstance(target);
|
||||
// const slideIndex = this.getAttribute('data-mdb-slide-to');
|
||||
// const carousel = Carousel.getOrCreateInstance(target)
|
||||
// const slideIndex = this.getAttribute('data-mdb-slide-to')
|
||||
|
||||
// if (slideIndex) {
|
||||
// carousel.to(slideIndex);
|
||||
// carousel._maybeEnableCycle();
|
||||
// return;
|
||||
// carousel.to(slideIndex)
|
||||
// carousel._maybeEnableCycle()
|
||||
// return
|
||||
// }
|
||||
|
||||
// if (Manipulator.getDataAttribute(this, 'slide') === 'next') {
|
||||
// carousel.next();
|
||||
// carousel._maybeEnableCycle();
|
||||
// return;
|
||||
// carousel.next()
|
||||
// carousel._maybeEnableCycle()
|
||||
// return
|
||||
// }
|
||||
|
||||
// carousel.prev();
|
||||
// carousel._maybeEnableCycle();
|
||||
// });
|
||||
// carousel.prev()
|
||||
// carousel._maybeEnableCycle()
|
||||
// })
|
||||
|
||||
// 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) {
|
||||
// Carousel.getOrCreateInstance(carousel);
|
||||
// Carousel.getOrCreateInstance(carousel)
|
||||
// }
|
||||
// });
|
||||
// })
|
||||
|
||||
/**
|
||||
* jQuery
|
||||
*/
|
||||
|
||||
// defineJQueryPlugin(Carousel);
|
||||
// defineJQueryPlugin(Carousel)
|
||||
|
||||
export default Carousel;
|
||||
|
|
|
@ -278,22 +278,19 @@ class Collapse extends BaseComponent {
|
|||
|
||||
// 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
|
||||
// if (
|
||||
// event.target.tagName === 'A' ||
|
||||
// (event.delegateTarget && event.delegateTarget.tagName === 'A')
|
||||
// ) {
|
||||
// event.preventDefault();
|
||||
// if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {
|
||||
// event.preventDefault()
|
||||
// }
|
||||
|
||||
// for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {
|
||||
// Collapse.getOrCreateInstance(element, { toggle: false }).toggle();
|
||||
// Collapse.getOrCreateInstance(element, { toggle: false }).toggle()
|
||||
// }
|
||||
// });
|
||||
// })
|
||||
|
||||
/**
|
||||
* jQuery
|
||||
*/
|
||||
|
||||
// defineJQueryPlugin(Collapse);
|
||||
// defineJQueryPlugin(Collapse)
|
||||
|
||||
export default Collapse;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* 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)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
|
|
|
@ -26,10 +26,15 @@ const getSelector = (element) => {
|
|||
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 = {
|
||||
|
|
|
@ -453,24 +453,19 @@ class Dropdown extends BaseComponent {
|
|||
* Data API implementation
|
||||
*/
|
||||
|
||||
// EventHandler.on(
|
||||
// document,
|
||||
// EVENT_KEYDOWN_DATA_API,
|
||||
// SELECTOR_DATA_TOGGLE,
|
||||
// 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_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, 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) {
|
||||
// event.preventDefault();
|
||||
// Dropdown.getOrCreateInstance(this).toggle();
|
||||
// });
|
||||
// event.preventDefault()
|
||||
// Dropdown.getOrCreateInstance(this).toggle()
|
||||
// })
|
||||
|
||||
/**
|
||||
* jQuery
|
||||
*/
|
||||
|
||||
// defineJQueryPlugin(Dropdown);
|
||||
// defineJQueryPlugin(Dropdown)
|
||||
|
||||
export default Dropdown;
|
||||
|
|
|
@ -335,26 +335,26 @@ class Modal extends BaseComponent {
|
|||
*/
|
||||
|
||||
// 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)) {
|
||||
// event.preventDefault();
|
||||
// event.preventDefault()
|
||||
// }
|
||||
|
||||
// EventHandler.one(target, EVENT_SHOW, (showEvent) => {
|
||||
// EventHandler.one(target, EVENT_SHOW, showEvent => {
|
||||
// if (showEvent.defaultPrevented) {
|
||||
// // only register focus restorer if modal will actually get shown
|
||||
// return;
|
||||
// return
|
||||
// }
|
||||
|
||||
// EventHandler.one(target, EVENT_HIDDEN, () => {
|
||||
// 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);
|
||||
// allreadyOpenedModals.forEach((modal) => {
|
||||
// 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
|
||||
*/
|
||||
|
||||
// defineJQueryPlugin(Modal);
|
||||
// defineJQueryPlugin(Modal)
|
||||
|
||||
export default Modal;
|
||||
|
|
|
@ -226,53 +226,53 @@ class Offcanvas extends BaseComponent {
|
|||
*/
|
||||
|
||||
// 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)) {
|
||||
// event.preventDefault();
|
||||
// event.preventDefault()
|
||||
// }
|
||||
|
||||
// if (isDisabled(this)) {
|
||||
// return;
|
||||
// return
|
||||
// }
|
||||
|
||||
// EventHandler.one(target, EVENT_HIDDEN, () => {
|
||||
// // focus on trigger when it is closed
|
||||
// if (isVisible(this)) {
|
||||
// this.focus();
|
||||
// this.focus()
|
||||
// }
|
||||
// });
|
||||
// })
|
||||
|
||||
// // 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) {
|
||||
// Offcanvas.getInstance(alreadyOpen).hide();
|
||||
// Offcanvas.getInstance(alreadyOpen).hide()
|
||||
// }
|
||||
|
||||
// const data = Offcanvas.getOrCreateInstance(target);
|
||||
// data.toggle(this);
|
||||
// });
|
||||
// const data = Offcanvas.getOrCreateInstance(target)
|
||||
// data.toggle(this)
|
||||
// })
|
||||
|
||||
// EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
|
||||
// for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {
|
||||
// Offcanvas.getOrCreateInstance(selector).show();
|
||||
// Offcanvas.getOrCreateInstance(selector).show()
|
||||
// }
|
||||
// });
|
||||
// })
|
||||
|
||||
// EventHandler.on(window, EVENT_RESIZE, () => {
|
||||
// for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {
|
||||
// if (getComputedStyle(element).position !== 'fixed') {
|
||||
// Offcanvas.getOrCreateInstance(element).hide();
|
||||
// Offcanvas.getOrCreateInstance(element).hide()
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
// })
|
||||
|
||||
// enableDismissTrigger(Offcanvas);
|
||||
// enableDismissTrigger(Offcanvas)
|
||||
|
||||
/**
|
||||
* jQuery
|
||||
*/
|
||||
|
||||
// defineJQueryPlugin(Offcanvas);
|
||||
// defineJQueryPlugin(Offcanvas)
|
||||
|
||||
export default Offcanvas;
|
||||
|
|
|
@ -93,6 +93,6 @@ class Popover extends Tooltip {
|
|||
* jQuery
|
||||
*/
|
||||
|
||||
// defineJQueryPlugin(Popover);
|
||||
// defineJQueryPlugin(Popover)
|
||||
|
||||
export default Popover;
|
||||
|
|
|
@ -294,14 +294,14 @@ class ScrollSpy extends BaseComponent {
|
|||
|
||||
// EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
|
||||
// for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {
|
||||
// ScrollSpy.getOrCreateInstance(spy);
|
||||
// ScrollSpy.getOrCreateInstance(spy)
|
||||
// }
|
||||
// });
|
||||
// })
|
||||
|
||||
/**
|
||||
* jQuery
|
||||
*/
|
||||
|
||||
// defineJQueryPlugin(ScrollSpy);
|
||||
// defineJQueryPlugin(ScrollSpy)
|
||||
|
||||
export default ScrollSpy;
|
||||
|
|
|
@ -296,28 +296,28 @@ class Tab extends BaseComponent {
|
|||
|
||||
// EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
|
||||
// if (['A', 'AREA'].includes(this.tagName)) {
|
||||
// event.preventDefault();
|
||||
// event.preventDefault()
|
||||
// }
|
||||
|
||||
// if (isDisabled(this)) {
|
||||
// return;
|
||||
// return
|
||||
// }
|
||||
|
||||
// Tab.getOrCreateInstance(this).show();
|
||||
// });
|
||||
// Tab.getOrCreateInstance(this).show()
|
||||
// })
|
||||
|
||||
/**
|
||||
* Initialize on focus
|
||||
*/
|
||||
// EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
|
||||
// for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {
|
||||
// Tab.getOrCreateInstance(element);
|
||||
// Tab.getOrCreateInstance(element)
|
||||
// }
|
||||
// });
|
||||
// })
|
||||
/**
|
||||
* jQuery
|
||||
*/
|
||||
|
||||
// defineJQueryPlugin(Tab);
|
||||
// defineJQueryPlugin(Tab)
|
||||
|
||||
export default Tab;
|
||||
|
|
|
@ -214,12 +214,12 @@ class Toast extends BaseComponent {
|
|||
* Data API implementation
|
||||
*/
|
||||
|
||||
// enableDismissTrigger(Toast);
|
||||
// enableDismissTrigger(Toast)
|
||||
|
||||
/**
|
||||
* jQuery
|
||||
*/
|
||||
|
||||
// defineJQueryPlugin(Toast);
|
||||
// defineJQueryPlugin(Toast)
|
||||
|
||||
export default Toast;
|
||||
|
|
|
@ -655,6 +655,6 @@ class Tooltip extends BaseComponent {
|
|||
* jQuery
|
||||
*/
|
||||
|
||||
// defineJQueryPlugin(Tooltip);
|
||||
// defineJQueryPlugin(Tooltip)
|
||||
|
||||
export default Tooltip;
|
||||
|
|
|
@ -17,7 +17,10 @@ export const DefaultAllowlist = {
|
|||
br: [],
|
||||
col: [],
|
||||
code: [],
|
||||
dd: [],
|
||||
div: [],
|
||||
dl: [],
|
||||
dt: [],
|
||||
em: [],
|
||||
hr: [],
|
||||
h1: [],
|
||||
|
|
|
@ -14,7 +14,7 @@ import { executeAfterTransition, getElement } from './util/index.js';
|
|||
* Constants
|
||||
*/
|
||||
|
||||
const VERSION = '5.3.2';
|
||||
const VERSION = '5.3.3';
|
||||
|
||||
/**
|
||||
* Class definition
|
||||
|
|
|
@ -26,10 +26,15 @@ const getSelector = (element) => {
|
|||
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 = {
|
||||
|
|
|
@ -17,7 +17,10 @@ export const DefaultAllowlist = {
|
|||
br: [],
|
||||
col: [],
|
||||
code: [],
|
||||
dd: [],
|
||||
div: [],
|
||||
dl: [],
|
||||
dt: [],
|
||||
em: [],
|
||||
hr: [],
|
||||
h1: [],
|
||||
|
|
|
@ -16,7 +16,6 @@ const EVENT_KEY = `.${DATA_KEY}`;
|
|||
|
||||
const Default = {
|
||||
offset: [0, 2],
|
||||
flip: true,
|
||||
boundary: 'clippingParents',
|
||||
reference: 'toggle',
|
||||
display: 'dynamic',
|
||||
|
@ -26,7 +25,6 @@ const Default = {
|
|||
|
||||
const DefaultType = {
|
||||
offset: '(array|string|function)',
|
||||
flip: 'boolean',
|
||||
boundary: '(string|element)',
|
||||
reference: '(string|element|object)',
|
||||
display: 'string',
|
||||
|
@ -121,7 +119,6 @@ class Dropdown extends BSDropdown {
|
|||
{
|
||||
name: 'preventOverflow',
|
||||
options: {
|
||||
altBoundary: this._config.flip,
|
||||
boundary: this._config.boundary,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -169,9 +169,10 @@ class Input extends BaseComponent {
|
|||
}
|
||||
|
||||
_toggleDefaultDatePlaceholder(input = this.input) {
|
||||
const isTypeDate = input.getAttribute('type') === 'date';
|
||||
const type = input.getAttribute('type');
|
||||
const typesWithPlaceholder = ['date', 'time', 'datetime-local', 'month', 'week'];
|
||||
|
||||
if (!isTypeDate) {
|
||||
if (!typesWithPlaceholder.includes(type)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -245,6 +246,11 @@ class Input extends BaseComponent {
|
|||
_activate(event) {
|
||||
onDOMContentLoaded(() => {
|
||||
this._getElements(event);
|
||||
|
||||
if (!this._element) {
|
||||
return;
|
||||
}
|
||||
|
||||
const input = event ? event.target : this.input;
|
||||
|
||||
if (input.value !== '') {
|
||||
|
@ -255,9 +261,19 @@ class Input extends BaseComponent {
|
|||
}
|
||||
|
||||
_getElements(event) {
|
||||
let initialized;
|
||||
if (event) {
|
||||
this._element = event.target.parentNode;
|
||||
this._label = SelectorEngine.findOne('label', this._element);
|
||||
|
||||
initialized = Manipulator.getDataAttribute(
|
||||
this._element,
|
||||
`${this.constructor.NAME}-initialized`
|
||||
);
|
||||
}
|
||||
|
||||
if (!initialized) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (event && this._label) {
|
||||
|
|
|
@ -1,23 +1,9 @@
|
|||
/* eslint-disable */
|
||||
|
||||
import * as CSS from '../lib/css';
|
||||
import * as DOM from '../lib/dom';
|
||||
import cls, { addScrollingClass, removeScrollingClass } from '../lib/class-names';
|
||||
import updateGeometry from '../update-geometry';
|
||||
import { toInt } from '../lib/util';
|
||||
|
||||
export default function (i) {
|
||||
bindMouseScrollHandler(i, [
|
||||
'containerWidth',
|
||||
'contentWidth',
|
||||
'pageX',
|
||||
'railXWidth',
|
||||
'scrollbarX',
|
||||
'scrollbarXWidth',
|
||||
'scrollLeft',
|
||||
'x',
|
||||
'scrollbarXRail',
|
||||
]);
|
||||
let activeSlider = null; // Variable to track the currently active slider
|
||||
|
||||
export default function setupScrollHandlers(i) {
|
||||
bindMouseScrollHandler(i, [
|
||||
'containerHeight',
|
||||
'contentHeight',
|
||||
|
@ -29,70 +15,96 @@ export default function (i) {
|
|||
'y',
|
||||
'scrollbarYRail',
|
||||
]);
|
||||
|
||||
bindMouseScrollHandler(i, [
|
||||
'containerWidth',
|
||||
'contentWidth',
|
||||
'pageX',
|
||||
'railXWidth',
|
||||
'scrollbarX',
|
||||
'scrollbarXWidth',
|
||||
'scrollLeft',
|
||||
'x',
|
||||
'scrollbarXRail',
|
||||
]);
|
||||
}
|
||||
|
||||
function bindMouseScrollHandler(
|
||||
i,
|
||||
[
|
||||
containerHeight,
|
||||
contentHeight,
|
||||
pageY,
|
||||
railYHeight,
|
||||
scrollbarY,
|
||||
scrollbarYHeight,
|
||||
scrollTop,
|
||||
y,
|
||||
scrollbarYRail,
|
||||
containerDimension,
|
||||
contentDimension,
|
||||
pageAxis,
|
||||
railDimension,
|
||||
scrollbarAxis,
|
||||
scrollbarDimension,
|
||||
scrollAxis,
|
||||
axis,
|
||||
scrollbarRail,
|
||||
]
|
||||
) {
|
||||
const element = i.element;
|
||||
|
||||
let startingScrollTop = null;
|
||||
let startingMousePageY = null;
|
||||
let startingScrollPosition = null;
|
||||
let startingMousePagePosition = null;
|
||||
let scrollBy = null;
|
||||
|
||||
function mouseMoveHandler(e) {
|
||||
function moveHandler(e) {
|
||||
if (e.touches && e.touches[0]) {
|
||||
e[pageY] = e.touches[0].pageY;
|
||||
e[pageAxis] = e.touches[0][`page${axis.toUpperCase()}`];
|
||||
}
|
||||
element[scrollTop] = startingScrollTop + scrollBy * (e[pageY] - startingMousePageY);
|
||||
addScrollingClass(i, y);
|
||||
updateGeometry(i);
|
||||
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
}
|
||||
// Only move if the active slider is the one we started with
|
||||
if (activeSlider === scrollbarAxis) {
|
||||
element[scrollAxis] =
|
||||
startingScrollPosition + scrollBy * (e[pageAxis] - startingMousePagePosition);
|
||||
addScrollingClass(i, axis);
|
||||
updateGeometry(i);
|
||||
|
||||
function mouseUpHandler() {
|
||||
removeScrollingClass(i, y);
|
||||
i[scrollbarYRail].classList.remove(cls.state.clicking);
|
||||
i.event.unbind(i.ownerDocument, 'mousemove', mouseMoveHandler);
|
||||
}
|
||||
|
||||
function bindMoves(e, touchMode) {
|
||||
startingScrollTop = element[scrollTop];
|
||||
if (touchMode && e.touches) {
|
||||
e[pageY] = e.touches[0].pageY;
|
||||
}
|
||||
startingMousePageY = e[pageY];
|
||||
scrollBy = (i[contentHeight] - i[containerHeight]) / (i[railYHeight] - i[scrollbarYHeight]);
|
||||
if (!touchMode) {
|
||||
i.event.bind(i.ownerDocument, 'mousemove', mouseMoveHandler);
|
||||
i.event.once(i.ownerDocument, 'mouseup', mouseUpHandler);
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
} else {
|
||||
i.event.bind(i.ownerDocument, 'touchmove', mouseMoveHandler);
|
||||
}
|
||||
|
||||
i[scrollbarYRail].classList.add(cls.state.clicking);
|
||||
|
||||
e.stopPropagation();
|
||||
}
|
||||
|
||||
i.event.bind(i[scrollbarY], 'mousedown', (e) => {
|
||||
bindMoves(e);
|
||||
});
|
||||
i.event.bind(i[scrollbarY], 'touchstart', (e) => {
|
||||
bindMoves(e, true);
|
||||
});
|
||||
function endHandler() {
|
||||
removeScrollingClass(i, axis);
|
||||
i[scrollbarRail].classList.remove(cls.state.clicking);
|
||||
document.removeEventListener('mousemove', moveHandler);
|
||||
document.removeEventListener('mouseup', endHandler);
|
||||
document.removeEventListener('touchmove', moveHandler);
|
||||
document.removeEventListener('touchend', endHandler);
|
||||
activeSlider = null; // Reset active slider when interaction ends
|
||||
}
|
||||
|
||||
function bindMoves(e) {
|
||||
if (activeSlider === null) {
|
||||
// Only bind if no slider is currently active
|
||||
activeSlider = scrollbarAxis; // Set current slider as active
|
||||
|
||||
startingScrollPosition = element[scrollAxis];
|
||||
if (e.touches) {
|
||||
e[pageAxis] = e.touches[0][`page${axis.toUpperCase()}`];
|
||||
}
|
||||
startingMousePagePosition = e[pageAxis];
|
||||
scrollBy =
|
||||
(i[contentDimension] - i[containerDimension]) / (i[railDimension] - i[scrollbarDimension]);
|
||||
|
||||
if (!e.touches) {
|
||||
document.addEventListener('mousemove', moveHandler);
|
||||
document.addEventListener('mouseup', endHandler);
|
||||
} else {
|
||||
document.addEventListener('touchmove', moveHandler, { passive: false });
|
||||
document.addEventListener('touchend', endHandler);
|
||||
}
|
||||
|
||||
i[scrollbarRail].classList.add(cls.state.clicking);
|
||||
}
|
||||
|
||||
e.stopPropagation();
|
||||
if (e.cancelable) {
|
||||
e.preventDefault();
|
||||
}
|
||||
}
|
||||
|
||||
i[scrollbarAxis].addEventListener('mousedown', bindMoves);
|
||||
i[scrollbarAxis].addEventListener('touchstart', bindMoves);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
/* eslint-disable */
|
||||
import updateGeometry from '../update-geometry';
|
||||
import cls from '../lib/class-names';
|
||||
import * as CSS from '../lib/css';
|
||||
|
@ -11,6 +10,13 @@ export default function (i) {
|
|||
|
||||
const element = i.element;
|
||||
|
||||
const state = {
|
||||
startOffset: {},
|
||||
startTime: 0,
|
||||
speed: {},
|
||||
easingLoop: null,
|
||||
};
|
||||
|
||||
function shouldPrevent(deltaX, deltaY) {
|
||||
const scrollTop = Math.floor(element.scrollTop);
|
||||
const scrollLeft = element.scrollLeft;
|
||||
|
@ -18,18 +24,13 @@ export default function (i) {
|
|||
const magnitudeY = Math.abs(deltaY);
|
||||
|
||||
if (magnitudeY > magnitudeX) {
|
||||
// user is perhaps trying to swipe up/down the page
|
||||
|
||||
if (
|
||||
(deltaY < 0 && scrollTop === i.contentHeight - i.containerHeight) ||
|
||||
(deltaY > 0 && scrollTop === 0)
|
||||
) {
|
||||
// set prevent for mobile Chrome refresh
|
||||
return window.scrollY === 0 && deltaY > 0 && env.isChrome;
|
||||
}
|
||||
} else if (magnitudeX > magnitudeY) {
|
||||
// user is perhaps trying to swipe left/right across the page
|
||||
|
||||
if (
|
||||
(deltaX < 0 && scrollLeft === i.contentWidth - i.containerWidth) ||
|
||||
(deltaX > 0 && scrollLeft === 0)
|
||||
|
@ -48,21 +49,18 @@ export default function (i) {
|
|||
updateGeometry(i);
|
||||
}
|
||||
|
||||
let startOffset = {};
|
||||
let startTime = 0;
|
||||
let speed = {};
|
||||
let easingLoop = null;
|
||||
|
||||
function getTouch(e) {
|
||||
if (e.targetTouches) {
|
||||
return e.targetTouches[0];
|
||||
} else {
|
||||
// Maybe IE pointer
|
||||
return e;
|
||||
}
|
||||
// Maybe IE pointer
|
||||
return e;
|
||||
}
|
||||
|
||||
function shouldHandle(e) {
|
||||
if (e.target === i.scrollbarX || e.target === i.scrollbarY) {
|
||||
return false;
|
||||
}
|
||||
if (e.pointerType && e.pointerType === 'pen' && e.buttons === 0) {
|
||||
return false;
|
||||
}
|
||||
|
@ -82,13 +80,13 @@ export default function (i) {
|
|||
|
||||
const touch = getTouch(e);
|
||||
|
||||
startOffset.pageX = touch.pageX;
|
||||
startOffset.pageY = touch.pageY;
|
||||
state.startOffset.pageX = touch.pageX;
|
||||
state.startOffset.pageY = touch.pageY;
|
||||
|
||||
startTime = new Date().getTime();
|
||||
state.startTime = new Date().getTime();
|
||||
|
||||
if (easingLoop !== null) {
|
||||
clearInterval(easingLoop);
|
||||
if (state.easingLoop !== null) {
|
||||
clearInterval(state.easingLoop);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -143,53 +141,57 @@ export default function (i) {
|
|||
|
||||
const currentOffset = { pageX: touch.pageX, pageY: touch.pageY };
|
||||
|
||||
const differenceX = currentOffset.pageX - startOffset.pageX;
|
||||
const differenceY = currentOffset.pageY - startOffset.pageY;
|
||||
const differenceX = currentOffset.pageX - state.startOffset.pageX;
|
||||
const differenceY = currentOffset.pageY - state.startOffset.pageY;
|
||||
|
||||
if (shouldBeConsumedByChild(e.target, differenceX, differenceY)) {
|
||||
return;
|
||||
}
|
||||
|
||||
applyTouchMove(differenceX, differenceY);
|
||||
startOffset = currentOffset;
|
||||
state.startOffset = currentOffset;
|
||||
|
||||
const currentTime = new Date().getTime();
|
||||
|
||||
const timeGap = currentTime - startTime;
|
||||
const timeGap = currentTime - state.startTime;
|
||||
if (timeGap > 0) {
|
||||
speed.x = differenceX / timeGap;
|
||||
speed.y = differenceY / timeGap;
|
||||
startTime = currentTime;
|
||||
state.speed.x = differenceX / timeGap;
|
||||
state.speed.y = differenceY / timeGap;
|
||||
state.startTime = currentTime;
|
||||
}
|
||||
|
||||
if (shouldPrevent(differenceX, differenceY)) {
|
||||
e.preventDefault();
|
||||
// Prevent the default behavior if the event is cancelable
|
||||
if (e.cancelable) {
|
||||
e.preventDefault();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function touchEnd() {
|
||||
if (i.settings.swipeEasing) {
|
||||
clearInterval(easingLoop);
|
||||
easingLoop = setInterval(function () {
|
||||
clearInterval(state.easingLoop);
|
||||
state.easingLoop = setInterval(() => {
|
||||
if (i.isInitialized) {
|
||||
clearInterval(easingLoop);
|
||||
clearInterval(state.easingLoop);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!speed.x && !speed.y) {
|
||||
clearInterval(easingLoop);
|
||||
if (!state.speed.x && !state.speed.y) {
|
||||
clearInterval(state.easingLoop);
|
||||
return;
|
||||
}
|
||||
|
||||
if (Math.abs(speed.x) < 0.01 && Math.abs(speed.y) < 0.01) {
|
||||
clearInterval(easingLoop);
|
||||
if (Math.abs(state.speed.x) < 0.01 && Math.abs(state.speed.y) < 0.01) {
|
||||
clearInterval(state.easingLoop);
|
||||
return;
|
||||
}
|
||||
|
||||
applyTouchMove(speed.x * 30, speed.y * 30);
|
||||
applyTouchMove(state.speed.x * 30, state.speed.y * 30);
|
||||
|
||||
speed.x *= 0.8;
|
||||
speed.y *= 0.8;
|
||||
state.speed.x *= 0.8;
|
||||
state.speed.y *= 0.8;
|
||||
}, 10);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
--#{$prefix}accordion-btn-icon-transform: #{$accordion-icon-transform};
|
||||
--#{$prefix}accordion-btn-icon-transition: #{$accordion-icon-transition};
|
||||
--#{$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-body-padding-x: #{$accordion-body-padding-x};
|
||||
--#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y};
|
||||
|
@ -75,7 +74,6 @@
|
|||
|
||||
&:focus {
|
||||
z-index: 3;
|
||||
border-color: var(--#{$prefix}accordion-btn-focus-border-color);
|
||||
outline: 0;
|
||||
box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow);
|
||||
}
|
||||
|
@ -93,7 +91,7 @@
|
|||
&:first-of-type {
|
||||
@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));
|
||||
}
|
||||
}
|
||||
|
@ -106,13 +104,13 @@
|
|||
&:last-of-type {
|
||||
@include border-bottom-radius(var(--#{$prefix}accordion-border-radius));
|
||||
|
||||
.accordion-button {
|
||||
> .accordion-header .accordion-button {
|
||||
&.collapsed {
|
||||
@include border-bottom-radius(var(--#{$prefix}accordion-inner-border-radius));
|
||||
}
|
||||
}
|
||||
|
||||
.accordion-collapse {
|
||||
> .accordion-collapse {
|
||||
@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.
|
||||
|
||||
.accordion-flush {
|
||||
.accordion-collapse {
|
||||
border-width: 0;
|
||||
}
|
||||
|
||||
.accordion-item {
|
||||
> .accordion-item {
|
||||
border-right: 0;
|
||||
border-left: 0;
|
||||
@include border-radius(0);
|
||||
|
@ -143,12 +137,18 @@
|
|||
border-bottom: 0;
|
||||
}
|
||||
|
||||
.accordion-button {
|
||||
// stylelint-disable selector-max-class
|
||||
> .accordion-header .accordion-button {
|
||||
&,
|
||||
&.collapsed {
|
||||
@include border-radius(0);
|
||||
}
|
||||
}
|
||||
// stylelint-enable selector-max-class
|
||||
|
||||
> .accordion-collapse {
|
||||
@include border-radius(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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,
|
||||
fieldset:disabled & {
|
||||
|
|
|
@ -138,19 +138,13 @@
|
|||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
/* rtl:options: {
|
||||
"autoRename": true,
|
||||
"stringMap":[ {
|
||||
"name" : "prev-next",
|
||||
"search" : "prev",
|
||||
"replace" : "next"
|
||||
} ]
|
||||
} */
|
||||
.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 {
|
||||
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
|
||||
|
|
|
@ -129,7 +129,6 @@
|
|||
display: flex;
|
||||
flex-shrink: 0;
|
||||
align-items: center;
|
||||
justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends
|
||||
padding: var(--#{$prefix}modal-header-padding);
|
||||
border-bottom: var(--#{$prefix}modal-header-border-width) solid
|
||||
var(--#{$prefix}modal-header-border-color);
|
||||
|
|
|
@ -131,15 +131,14 @@
|
|||
.offcanvas-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x);
|
||||
|
||||
.btn-close {
|
||||
padding: calc(var(--#{$prefix}offcanvas-padding-y) * 0.5)
|
||||
calc(var(--#{$prefix}offcanvas-padding-x) * 0.5);
|
||||
margin-top: calc(-0.5 * var(--#{$prefix}offcanvas-padding-y));
|
||||
margin-right: calc(-0.5 * var(--#{$prefix}offcanvas-padding-x));
|
||||
margin-bottom: calc(-0.5 * var(--#{$prefix}offcanvas-padding-y));
|
||||
margin: calc(-0.5 * var(--#{$prefix}offcanvas-padding-y))
|
||||
calc(-0.5 * var(--#{$prefix}offcanvas-padding-x))
|
||||
calc(-0.5 * var(--#{$prefix}offcanvas-padding-y)) auto;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -78,7 +78,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
/* rtl:begin:ignore */
|
||||
/*!rtl:begin:ignore*/
|
||||
.bs-popover-end {
|
||||
> .popover-arrow {
|
||||
left: calc(
|
||||
|
@ -105,7 +105,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
/* rtl:end:ignore */
|
||||
/*!rtl:end:ignore*/
|
||||
|
||||
.bs-popover-bottom {
|
||||
> .popover-arrow {
|
||||
|
@ -145,7 +145,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
/* rtl:begin:ignore */
|
||||
/*!rtl:begin:ignore*/
|
||||
.bs-popover-start {
|
||||
> .popover-arrow {
|
||||
right: calc(
|
||||
|
@ -172,7 +172,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
/* rtl:end:ignore */
|
||||
/*!rtl:end:ignore*/
|
||||
|
||||
.bs-popover-auto {
|
||||
&[data-popper-placement^='top'] {
|
||||
|
|
|
@ -84,7 +84,7 @@
|
|||
//
|
||||
// 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.
|
||||
// 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
|
||||
|
||||
.table-bordered {
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
/* rtl:begin:ignore */
|
||||
/*!rtl:begin:ignore*/
|
||||
.bs-tooltip-end .tooltip-arrow {
|
||||
left: calc(
|
||||
-1 * var(--#{$prefix}tooltip-arrow-height)
|
||||
|
@ -74,7 +74,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
/* rtl:end:ignore */
|
||||
/*!rtl:end:ignore*/
|
||||
|
||||
.bs-tooltip-bottom .tooltip-arrow {
|
||||
top: calc(
|
||||
|
@ -89,7 +89,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
/* rtl:begin:ignore */
|
||||
/*!rtl:begin:ignore*/
|
||||
.bs-tooltip-start .tooltip-arrow {
|
||||
right: calc(
|
||||
-1 * var(--#{$prefix}tooltip-arrow-height)
|
||||
|
@ -105,7 +105,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
/* rtl:end:ignore */
|
||||
/*!rtl:end:ignore*/
|
||||
|
||||
.bs-tooltip-auto {
|
||||
&[data-popper-placement^='top'] {
|
||||
|
|
|
@ -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-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-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-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-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-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='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
|
||||
|
||||
// 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
|
||||
|
||||
$pre-color: null !default;
|
||||
|
||||
@import 'variables-dark'; // TODO: can be removed safely in v6, only here to avoid breaking changes in v5.3
|
||||
|
|
|
@ -134,7 +134,7 @@
|
|||
margin-left: $form-switch-padding-start * -1;
|
||||
background-image: var(--#{$prefix}form-switch-bg);
|
||||
background-position: left center;
|
||||
@include border-radius($form-switch-border-radius);
|
||||
@include border-radius($form-switch-border-radius, 0);
|
||||
@include transition($form-switch-transition);
|
||||
|
||||
&:focus {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
@mixin bsBanner($file) {
|
||||
/*!
|
||||
* Bootstrap #{$file} v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors
|
||||
* Bootstrap #{$file} v5.3.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2024 The Bootstrap Authors
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
}
|
||||
|
|
|
@ -70,7 +70,12 @@
|
|||
|
||||
&:focus {
|
||||
border-color: $border-color;
|
||||
box-shadow: $focus-box-shadow;
|
||||
@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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -101,7 +106,12 @@
|
|||
|
||||
&:focus {
|
||||
border-color: $border-color;
|
||||
box-shadow: $focus-box-shadow;
|
||||
@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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
@for $i from 1 through ($columns - 1) {
|
||||
.g-start#{$infix}-#{$i} {
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
|
||||
@if $value != null {
|
||||
@if $is-rtl == false {
|
||||
/* rtl:begin:remove */
|
||||
/*!rtl:begin:remove*/
|
||||
}
|
||||
|
||||
@if $is-css-var {
|
||||
|
@ -105,7 +105,7 @@
|
|||
}
|
||||
|
||||
@if $is-rtl == false {
|
||||
/* rtl:end:remove */
|
||||
/*!rtl:end:remove*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
--#{$prefix}accordion-btn-icon-transform: #{$accordion-icon-transform};
|
||||
--#{$prefix}accordion-btn-icon-transition: #{$accordion-icon-transition};
|
||||
--#{$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-body-padding-x: #{$accordion-body-padding-x};
|
||||
--#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y};
|
||||
|
@ -75,7 +74,6 @@
|
|||
|
||||
&:focus {
|
||||
z-index: 3;
|
||||
border-color: var(--#{$prefix}accordion-btn-focus-border-color);
|
||||
outline: 0;
|
||||
box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow);
|
||||
}
|
||||
|
@ -93,7 +91,7 @@
|
|||
&:first-of-type {
|
||||
@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));
|
||||
}
|
||||
}
|
||||
|
@ -106,13 +104,13 @@
|
|||
&:last-of-type {
|
||||
@include border-bottom-radius(var(--#{$prefix}accordion-border-radius));
|
||||
|
||||
.accordion-button {
|
||||
> .accordion-header .accordion-button {
|
||||
&.collapsed {
|
||||
@include border-bottom-radius(var(--#{$prefix}accordion-inner-border-radius));
|
||||
}
|
||||
}
|
||||
|
||||
.accordion-collapse {
|
||||
> .accordion-collapse {
|
||||
@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.
|
||||
|
||||
.accordion-flush {
|
||||
.accordion-collapse {
|
||||
border-width: 0;
|
||||
}
|
||||
|
||||
.accordion-item {
|
||||
> .accordion-item {
|
||||
border-right: 0;
|
||||
border-left: 0;
|
||||
@include border-radius(0);
|
||||
|
@ -143,12 +137,18 @@
|
|||
border-bottom: 0;
|
||||
}
|
||||
|
||||
.accordion-button {
|
||||
// stylelint-disable selector-max-class
|
||||
> .accordion-header .accordion-button {
|
||||
&,
|
||||
&.collapsed {
|
||||
@include border-radius(0);
|
||||
}
|
||||
}
|
||||
// stylelint-enable selector-max-class
|
||||
|
||||
> .accordion-collapse {
|
||||
@include border-radius(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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,
|
||||
fieldset:disabled & {
|
||||
|
|
|
@ -138,19 +138,13 @@
|
|||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
/* rtl:options: {
|
||||
"autoRename": true,
|
||||
"stringMap":[ {
|
||||
"name" : "prev-next",
|
||||
"search" : "prev",
|
||||
"replace" : "next"
|
||||
} ]
|
||||
} */
|
||||
.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 {
|
||||
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
|
||||
|
|
|
@ -129,7 +129,6 @@
|
|||
display: flex;
|
||||
flex-shrink: 0;
|
||||
align-items: center;
|
||||
justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends
|
||||
padding: var(--#{$prefix}modal-header-padding);
|
||||
border-bottom: var(--#{$prefix}modal-header-border-width) solid
|
||||
var(--#{$prefix}modal-header-border-color);
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user