mirror of
https://github.com/Hopiu/bootstrap.git
synced 2026-03-24 16:30:23 +00:00
Release v5.2.0 (#36768)
* Bump version to 5.2.0 * Dist * Update masthead.html
This commit is contained in:
parent
f451b4161e
commit
edf9c40956
132 changed files with 1064 additions and 6544 deletions
|
|
@ -46,11 +46,11 @@ Our default branch is for development of our Bootstrap 5 release. Head to the [`
|
|||
|
||||
Several quick start options are available:
|
||||
|
||||
- [Download the latest release](https://github.com/twbs/bootstrap/archive/v5.2.0-beta1.zip)
|
||||
- [Download the latest release](https://github.com/twbs/bootstrap/archive/v5.2.0.zip)
|
||||
- Clone the repo: `git clone https://github.com/twbs/bootstrap.git`
|
||||
- Install with [npm](https://www.npmjs.com/): `npm install bootstrap@v5.2.0-beta1`
|
||||
- Install with [yarn](https://yarnpkg.com/): `yarn add bootstrap@v5.2.0-beta1`
|
||||
- Install with [Composer](https://getcomposer.org/): `composer require twbs/bootstrap:5.2.0-beta1`
|
||||
- Install with [npm](https://www.npmjs.com/): `npm install bootstrap@v5.2.0`
|
||||
- Install with [yarn](https://yarnpkg.com/): `yarn add bootstrap@v5.2.0`
|
||||
- Install with [Composer](https://getcomposer.org/): `composer require twbs/bootstrap:5.2.0`
|
||||
- Install with [NuGet](https://www.nuget.org/): CSS: `Install-Package bootstrap` Sass: `Install-Package bootstrap.sass`
|
||||
|
||||
Read the [Getting started page](https://getbootstrap.com/docs/5.2/getting-started/introduction/) for information on the framework contents, templates, examples, and more.
|
||||
|
|
|
|||
26
config.yml
26
config.yml
|
|
@ -53,8 +53,8 @@ params:
|
|||
social_image_path: /docs/5.2/assets/brand/bootstrap-social.png
|
||||
social_logo_path: /docs/5.2/assets/brand/bootstrap-social-logo.png
|
||||
|
||||
current_version: "5.2.0-beta1"
|
||||
current_ruby_version: "5.2.0-beta1"
|
||||
current_version: "5.2.0"
|
||||
current_ruby_version: "5.2.0"
|
||||
docs_version: "5.2"
|
||||
rfs_version: "v9.0.6"
|
||||
github_org: "https://github.com/twbs"
|
||||
|
|
@ -68,20 +68,20 @@ params:
|
|||
swag: "https://cottonbureau.com/people/bootstrap"
|
||||
|
||||
download:
|
||||
source: "https://github.com/twbs/bootstrap/archive/v5.2.0-beta1.zip"
|
||||
dist: "https://github.com/twbs/bootstrap/releases/download/v5.2.0-beta1/bootstrap-5.2.0-beta1-dist.zip"
|
||||
dist_examples: "https://github.com/twbs/bootstrap/releases/download/v5.2.0-beta1/bootstrap-5.2.0-beta1-examples.zip"
|
||||
source: "https://github.com/twbs/bootstrap/archive/v5.2.0.zip"
|
||||
dist: "https://github.com/twbs/bootstrap/releases/download/v5.2.0/bootstrap-5.2.0-dist.zip"
|
||||
dist_examples: "https://github.com/twbs/bootstrap/releases/download/v5.2.0/bootstrap-5.2.0-examples.zip"
|
||||
|
||||
cdn:
|
||||
# See https://www.srihash.org for info on how to generate the hashes
|
||||
css: "https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/css/bootstrap.min.css"
|
||||
css_hash: "sha384-0evHe/X+R7YkIZDRvuzKMRqM+OrBnVFBL6DOitfPri4tjfHxaWutUpFmBp4vmVor"
|
||||
css_rtl: "https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/css/bootstrap.rtl.min.css"
|
||||
css_rtl_hash: "sha384-dc2NSrAXbAkjrdm9IYrX10fQq9SDG6Vjz7nQVKdKcJl3pC+k37e7qJR5MVSCS+wR"
|
||||
js: "https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/js/bootstrap.min.js"
|
||||
js_hash: "sha384-kjU+l4N0Yf4ZOJErLsIcvOU2qSb74wXpOhqTvwVx3OElZRweTnQ6d31fXEoRD1Jy"
|
||||
js_bundle: "https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/js/bootstrap.bundle.min.js"
|
||||
js_bundle_hash: "sha384-pprn3073KE6tl6bjs2QrFaJGz5/SUsLqktiwsUTF55Jfv3qYSDhgCecCxMW52nD2"
|
||||
css: "https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css"
|
||||
css_hash: "sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx"
|
||||
css_rtl: "https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.rtl.min.css"
|
||||
css_rtl_hash: "sha384-+4j30LffJ4tgIMrq9CwHvn0NjEvmuDCOfk6Rpg2xg7zgOxWWtLtozDEEVvBPgHqE"
|
||||
js: "https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/js/bootstrap.min.js"
|
||||
js_hash: "sha384-ODmDIVzN+pFdexxHEHFBQH3/9/vQ9uori45z4JjnFsRydbmQbmL5t1tQ0culUzyK"
|
||||
js_bundle: "https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/js/bootstrap.bundle.min.js"
|
||||
js_bundle_hash: "sha384-A3rJD856KowSb7dwlZdYEkO39Gagi7vIsF0jrRAoQmDKKtQBHUuLZ9AsSv4jD4Xa"
|
||||
popper: "https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.5/dist/umd/popper.min.js"
|
||||
popper_hash: "sha384-Xe+8cL9oJa6tN/veChSP7q+mnSPaj5Bcu9mPX5F5xIGE0DVittaqT5lorf0EI7Vk"
|
||||
|
||||
|
|
|
|||
947
dist/css/bootstrap-grid.css
vendored
947
dist/css/bootstrap-grid.css
vendored
File diff suppressed because it is too large
Load diff
BIN
dist/css/bootstrap-grid.css.map
vendored
BIN
dist/css/bootstrap-grid.css.map
vendored
Binary file not shown.
4
dist/css/bootstrap-grid.min.css
vendored
4
dist/css/bootstrap-grid.min.css
vendored
File diff suppressed because one or more lines are too long
BIN
dist/css/bootstrap-grid.min.css.map
vendored
BIN
dist/css/bootstrap-grid.min.css.map
vendored
Binary file not shown.
947
dist/css/bootstrap-grid.rtl.css
vendored
947
dist/css/bootstrap-grid.rtl.css
vendored
File diff suppressed because it is too large
Load diff
BIN
dist/css/bootstrap-grid.rtl.css.map
vendored
BIN
dist/css/bootstrap-grid.rtl.css.map
vendored
Binary file not shown.
4
dist/css/bootstrap-grid.rtl.min.css
vendored
4
dist/css/bootstrap-grid.rtl.min.css
vendored
File diff suppressed because one or more lines are too long
BIN
dist/css/bootstrap-grid.rtl.min.css.map
vendored
BIN
dist/css/bootstrap-grid.rtl.min.css.map
vendored
Binary file not shown.
7
dist/css/bootstrap-reboot.css
vendored
7
dist/css/bootstrap-reboot.css
vendored
|
|
@ -1,9 +1,8 @@
|
|||
/*!
|
||||
* Bootstrap Reboot v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap Reboot v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors
|
||||
* Copyright 2011-2022 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
|
||||
*/
|
||||
:root {
|
||||
--bs-blue: #0d6efd;
|
||||
|
|
@ -68,7 +67,6 @@
|
|||
--bs-border-radius-xl: 1rem;
|
||||
--bs-border-radius-2xl: 2rem;
|
||||
--bs-border-radius-pill: 50rem;
|
||||
--bs-heading-color: ;
|
||||
--bs-link-color: #0d6efd;
|
||||
--bs-link-hover-color: #0a58ca;
|
||||
--bs-code-color: #d63384;
|
||||
|
|
@ -113,7 +111,6 @@ h6, h5, h4, h3, h2, h1 {
|
|||
margin-bottom: 0.5rem;
|
||||
font-weight: 500;
|
||||
line-height: 1.2;
|
||||
color: var(--bs-heading-color);
|
||||
}
|
||||
|
||||
h1 {
|
||||
|
|
@ -313,7 +310,7 @@ table {
|
|||
caption {
|
||||
padding-top: 0.5rem;
|
||||
padding-bottom: 0.5rem;
|
||||
color: rgba(var(--bs-body-color-rgb), 0.75);
|
||||
color: #6c757d;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
|
|
|||
BIN
dist/css/bootstrap-reboot.css.map
vendored
BIN
dist/css/bootstrap-reboot.css.map
vendored
Binary file not shown.
5
dist/css/bootstrap-reboot.min.css
vendored
5
dist/css/bootstrap-reboot.min.css
vendored
File diff suppressed because one or more lines are too long
BIN
dist/css/bootstrap-reboot.min.css.map
vendored
BIN
dist/css/bootstrap-reboot.min.css.map
vendored
Binary file not shown.
7
dist/css/bootstrap-reboot.rtl.css
vendored
7
dist/css/bootstrap-reboot.rtl.css
vendored
|
|
@ -1,9 +1,8 @@
|
|||
/*!
|
||||
* Bootstrap Reboot v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap Reboot v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors
|
||||
* Copyright 2011-2022 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
|
||||
*/
|
||||
:root {
|
||||
--bs-blue: #0d6efd;
|
||||
|
|
@ -68,7 +67,6 @@
|
|||
--bs-border-radius-xl: 1rem;
|
||||
--bs-border-radius-2xl: 2rem;
|
||||
--bs-border-radius-pill: 50rem;
|
||||
--bs-heading-color: ;
|
||||
--bs-link-color: #0d6efd;
|
||||
--bs-link-hover-color: #0a58ca;
|
||||
--bs-code-color: #d63384;
|
||||
|
|
@ -113,7 +111,6 @@ h6, h5, h4, h3, h2, h1 {
|
|||
margin-bottom: 0.5rem;
|
||||
font-weight: 500;
|
||||
line-height: 1.2;
|
||||
color: var(--bs-heading-color);
|
||||
}
|
||||
|
||||
h1 {
|
||||
|
|
@ -313,7 +310,7 @@ table {
|
|||
caption {
|
||||
padding-top: 0.5rem;
|
||||
padding-bottom: 0.5rem;
|
||||
color: rgba(var(--bs-body-color-rgb), 0.75);
|
||||
color: #6c757d;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
|
|
|
|||
BIN
dist/css/bootstrap-reboot.rtl.css.map
vendored
BIN
dist/css/bootstrap-reboot.rtl.css.map
vendored
Binary file not shown.
5
dist/css/bootstrap-reboot.rtl.min.css
vendored
5
dist/css/bootstrap-reboot.rtl.min.css
vendored
File diff suppressed because one or more lines are too long
BIN
dist/css/bootstrap-reboot.rtl.min.css.map
vendored
BIN
dist/css/bootstrap-reboot.rtl.min.css.map
vendored
Binary file not shown.
796
dist/css/bootstrap-utilities.css
vendored
796
dist/css/bootstrap-utilities.css
vendored
File diff suppressed because it is too large
Load diff
BIN
dist/css/bootstrap-utilities.css.map
vendored
BIN
dist/css/bootstrap-utilities.css.map
vendored
Binary file not shown.
4
dist/css/bootstrap-utilities.min.css
vendored
4
dist/css/bootstrap-utilities.min.css
vendored
File diff suppressed because one or more lines are too long
BIN
dist/css/bootstrap-utilities.min.css.map
vendored
BIN
dist/css/bootstrap-utilities.min.css.map
vendored
Binary file not shown.
796
dist/css/bootstrap-utilities.rtl.css
vendored
796
dist/css/bootstrap-utilities.rtl.css
vendored
File diff suppressed because it is too large
Load diff
BIN
dist/css/bootstrap-utilities.rtl.css.map
vendored
BIN
dist/css/bootstrap-utilities.rtl.css.map
vendored
Binary file not shown.
4
dist/css/bootstrap-utilities.rtl.min.css
vendored
4
dist/css/bootstrap-utilities.rtl.min.css
vendored
File diff suppressed because one or more lines are too long
BIN
dist/css/bootstrap-utilities.rtl.min.css.map
vendored
BIN
dist/css/bootstrap-utilities.rtl.min.css.map
vendored
Binary file not shown.
File diff suppressed because it is too large
Load diff
BIN
dist/css/bootstrap.css.map
vendored
BIN
dist/css/bootstrap.css.map
vendored
Binary file not shown.
4
dist/css/bootstrap.min.css
vendored
4
dist/css/bootstrap.min.css
vendored
File diff suppressed because one or more lines are too long
BIN
dist/css/bootstrap.min.css.map
vendored
BIN
dist/css/bootstrap.min.css.map
vendored
Binary file not shown.
1223
dist/css/bootstrap.rtl.css
vendored
1223
dist/css/bootstrap.rtl.css
vendored
File diff suppressed because it is too large
Load diff
BIN
dist/css/bootstrap.rtl.css.map
vendored
BIN
dist/css/bootstrap.rtl.css.map
vendored
Binary file not shown.
4
dist/css/bootstrap.rtl.min.css
vendored
4
dist/css/bootstrap.rtl.min.css
vendored
File diff suppressed because one or more lines are too long
BIN
dist/css/bootstrap.rtl.min.css.map
vendored
BIN
dist/css/bootstrap.rtl.min.css.map
vendored
Binary file not shown.
366
dist/js/bootstrap.bundle.js
vendored
366
dist/js/bootstrap.bundle.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -11,13 +11,13 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/index.js
|
||||
* Bootstrap (v5.2.0): util/index.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
const MAX_UID = 1000000;
|
||||
const MILLISECONDS_MULTIPLIER = 1000;
|
||||
const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
||||
const TRANSITION_END = 'transitionend'; // Shout-out Angus Croll (https://goo.gl/pxwQGp)
|
||||
|
||||
const toType = object => {
|
||||
if (object === null || object === undefined) {
|
||||
|
|
@ -326,7 +326,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): dom/event-handler.js
|
||||
* Bootstrap (v5.2.0): dom/event-handler.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -349,12 +349,12 @@
|
|||
* Private methods
|
||||
*/
|
||||
|
||||
function getUidEvent(element, uid) {
|
||||
function makeEventUid(element, uid) {
|
||||
return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++;
|
||||
}
|
||||
|
||||
function getEvent(element) {
|
||||
const uid = getUidEvent(element);
|
||||
function getElementEvents(element) {
|
||||
const uid = makeEventUid(element);
|
||||
element.uidEvent = uid;
|
||||
eventRegistry[uid] = eventRegistry[uid] || {};
|
||||
return eventRegistry[uid];
|
||||
|
|
@ -362,7 +362,9 @@
|
|||
|
||||
function bootstrapHandler(element, fn) {
|
||||
return function handler(event) {
|
||||
event.delegateTarget = element;
|
||||
hydrateObj(event, {
|
||||
delegateTarget: element
|
||||
});
|
||||
|
||||
if (handler.oneOff) {
|
||||
EventHandler.off(element, event.type, fn);
|
||||
|
|
@ -384,7 +386,9 @@
|
|||
continue;
|
||||
}
|
||||
|
||||
event.delegateTarget = target;
|
||||
hydrateObj(event, {
|
||||
delegateTarget: target
|
||||
});
|
||||
|
||||
if (handler.oneOff) {
|
||||
EventHandler.off(element, event.type, selector, fn);
|
||||
|
|
@ -396,20 +400,21 @@
|
|||
};
|
||||
}
|
||||
|
||||
function findHandler(events, handler, delegationSelector = null) {
|
||||
return Object.values(events).find(event => event.originalHandler === handler && event.delegationSelector === delegationSelector);
|
||||
function findHandler(events, callable, delegationSelector = null) {
|
||||
return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector);
|
||||
}
|
||||
|
||||
function normalizeParameters(originalTypeEvent, handler, delegationFunction) {
|
||||
const delegation = typeof handler === 'string';
|
||||
const originalHandler = delegation ? delegationFunction : handler;
|
||||
const isDelegated = typeof handler === 'string'; // todo: tooltip passes `false` instead of selector, so we need to check
|
||||
|
||||
const callable = isDelegated ? delegationFunction : handler || delegationFunction;
|
||||
let typeEvent = getTypeEvent(originalTypeEvent);
|
||||
|
||||
if (!nativeEvents.has(typeEvent)) {
|
||||
typeEvent = originalTypeEvent;
|
||||
}
|
||||
|
||||
return [delegation, originalHandler, typeEvent];
|
||||
return [isDelegated, callable, typeEvent];
|
||||
}
|
||||
|
||||
function addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {
|
||||
|
|
@ -417,13 +422,9 @@
|
|||
return;
|
||||
}
|
||||
|
||||
if (!handler) {
|
||||
handler = delegationFunction;
|
||||
delegationFunction = null;
|
||||
} // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position
|
||||
let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position
|
||||
// this prevents the handler from being dispatched the same way as mouseover or mouseout does
|
||||
|
||||
|
||||
if (originalTypeEvent in customEvents) {
|
||||
const wrapFunction = fn => {
|
||||
return function (event) {
|
||||
|
|
@ -433,31 +434,26 @@
|
|||
};
|
||||
};
|
||||
|
||||
if (delegationFunction) {
|
||||
delegationFunction = wrapFunction(delegationFunction);
|
||||
} else {
|
||||
handler = wrapFunction(handler);
|
||||
}
|
||||
callable = wrapFunction(callable);
|
||||
}
|
||||
|
||||
const [delegation, originalHandler, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);
|
||||
const events = getEvent(element);
|
||||
const events = getElementEvents(element);
|
||||
const handlers = events[typeEvent] || (events[typeEvent] = {});
|
||||
const previousFunction = findHandler(handlers, originalHandler, delegation ? handler : null);
|
||||
const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null);
|
||||
|
||||
if (previousFunction) {
|
||||
previousFunction.oneOff = previousFunction.oneOff && oneOff;
|
||||
return;
|
||||
}
|
||||
|
||||
const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''));
|
||||
const fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFunction) : bootstrapHandler(element, handler);
|
||||
fn.delegationSelector = delegation ? handler : null;
|
||||
fn.originalHandler = originalHandler;
|
||||
const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''));
|
||||
const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable);
|
||||
fn.delegationSelector = isDelegated ? handler : null;
|
||||
fn.callable = callable;
|
||||
fn.oneOff = oneOff;
|
||||
fn.uidEvent = uid;
|
||||
handlers[uid] = fn;
|
||||
element.addEventListener(typeEvent, fn, delegation);
|
||||
element.addEventListener(typeEvent, fn, isDelegated);
|
||||
}
|
||||
|
||||
function removeHandler(element, events, typeEvent, handler, delegationSelector) {
|
||||
|
|
@ -477,7 +473,7 @@
|
|||
for (const handlerKey of Object.keys(storeElementEvent)) {
|
||||
if (handlerKey.includes(namespace)) {
|
||||
const event = storeElementEvent[handlerKey];
|
||||
removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
|
||||
removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -502,18 +498,19 @@
|
|||
return;
|
||||
}
|
||||
|
||||
const [delegation, originalHandler, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);
|
||||
const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);
|
||||
const inNamespace = typeEvent !== originalTypeEvent;
|
||||
const events = getEvent(element);
|
||||
const events = getElementEvents(element);
|
||||
const storeElementEvent = events[typeEvent] || {};
|
||||
const isNamespace = originalTypeEvent.startsWith('.');
|
||||
|
||||
if (typeof originalHandler !== 'undefined') {
|
||||
if (typeof callable !== 'undefined') {
|
||||
// Simplest case: handler is passed, remove that listener ONLY.
|
||||
if (!events || !events[typeEvent]) {
|
||||
if (!Object.keys(storeElementEvent).length) {
|
||||
return;
|
||||
}
|
||||
|
||||
removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null);
|
||||
removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -523,14 +520,12 @@
|
|||
}
|
||||
}
|
||||
|
||||
const storeElementEvent = events[typeEvent] || {};
|
||||
|
||||
for (const keyHandlers of Object.keys(storeElementEvent)) {
|
||||
const handlerKey = keyHandlers.replace(stripUidRegex, '');
|
||||
|
||||
if (!inNamespace || originalTypeEvent.includes(handlerKey)) {
|
||||
const event = storeElementEvent[keyHandlers];
|
||||
removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
|
||||
removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -556,21 +551,11 @@
|
|||
defaultPrevented = jQueryEvent.isDefaultPrevented();
|
||||
}
|
||||
|
||||
const evt = new Event(event, {
|
||||
let evt = new Event(event, {
|
||||
bubbles,
|
||||
cancelable: true
|
||||
}); // merge custom information in our event
|
||||
|
||||
if (typeof args !== 'undefined') {
|
||||
for (const key of Object.keys(args)) {
|
||||
Object.defineProperty(evt, key, {
|
||||
get() {
|
||||
return args[key];
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
evt = hydrateObj(evt, args);
|
||||
|
||||
if (defaultPrevented) {
|
||||
evt.preventDefault();
|
||||
|
|
@ -589,9 +574,28 @@
|
|||
|
||||
};
|
||||
|
||||
function hydrateObj(obj, meta) {
|
||||
for (const [key, value] of Object.entries(meta || {})) {
|
||||
try {
|
||||
obj[key] = value;
|
||||
} catch (_unused) {
|
||||
Object.defineProperty(obj, key, {
|
||||
configurable: true,
|
||||
|
||||
get() {
|
||||
return value;
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): dom/data.js
|
||||
* Bootstrap (v5.2.0): dom/data.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -643,7 +647,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): dom/manipulator.js
|
||||
* Bootstrap (v5.2.0): dom/manipulator.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -713,7 +717,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/config.js
|
||||
* Bootstrap (v5.2.0): util/config.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -774,7 +778,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): base-component.js
|
||||
* Bootstrap (v5.2.0): base-component.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -782,7 +786,7 @@
|
|||
* Constants
|
||||
*/
|
||||
|
||||
const VERSION = '5.2.0-beta1';
|
||||
const VERSION = '5.2.0';
|
||||
/**
|
||||
* Class definition
|
||||
*/
|
||||
|
|
@ -853,7 +857,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/component-functions.js
|
||||
* Bootstrap (v5.2.0): util/component-functions.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -879,7 +883,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): alert.js
|
||||
* Bootstrap (v5.2.0): alert.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -959,7 +963,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): button.js
|
||||
* Bootstrap (v5.2.0): button.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -1021,7 +1025,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): dom/selector-engine.js
|
||||
* Bootstrap (v5.2.0): dom/selector-engine.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -1092,7 +1096,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/swipe.js
|
||||
* Bootstrap (v5.2.0): util/swipe.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -1112,14 +1116,14 @@
|
|||
const CLASS_NAME_POINTER_EVENT = 'pointer-event';
|
||||
const SWIPE_THRESHOLD = 40;
|
||||
const Default$c = {
|
||||
endCallback: null,
|
||||
leftCallback: null,
|
||||
rightCallback: null,
|
||||
endCallback: null
|
||||
rightCallback: null
|
||||
};
|
||||
const DefaultType$c = {
|
||||
endCallback: '(function|null)',
|
||||
leftCallback: '(function|null)',
|
||||
rightCallback: '(function|null)',
|
||||
endCallback: '(function|null)'
|
||||
rightCallback: '(function|null)'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -1228,7 +1232,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): carousel.js
|
||||
* Bootstrap (v5.2.0): carousel.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -1284,9 +1288,10 @@
|
|||
};
|
||||
const DefaultType$b = {
|
||||
interval: '(number|boolean)',
|
||||
// TODO:v6 remove boolean support
|
||||
keyboard: 'boolean',
|
||||
ride: '(boolean|string)',
|
||||
pause: '(string|boolean)',
|
||||
ride: '(boolean|string)',
|
||||
touch: 'boolean',
|
||||
wrap: 'boolean'
|
||||
};
|
||||
|
|
@ -1675,7 +1680,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): collapse.js
|
||||
* Bootstrap (v5.2.0): collapse.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -1703,12 +1708,12 @@
|
|||
const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
|
||||
const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]';
|
||||
const Default$a = {
|
||||
toggle: true,
|
||||
parent: null
|
||||
parent: null,
|
||||
toggle: true
|
||||
};
|
||||
const DefaultType$a = {
|
||||
toggle: 'boolean',
|
||||
parent: '(null|element)'
|
||||
parent: '(null|element)',
|
||||
toggle: 'boolean'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -3800,7 +3805,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): dropdown.js
|
||||
* Bootstrap (v5.2.0): dropdown.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -3846,20 +3851,20 @@
|
|||
const PLACEMENT_TOPCENTER = 'top';
|
||||
const PLACEMENT_BOTTOMCENTER = 'bottom';
|
||||
const Default$9 = {
|
||||
offset: [0, 2],
|
||||
autoClose: true,
|
||||
boundary: 'clippingParents',
|
||||
reference: 'toggle',
|
||||
display: 'dynamic',
|
||||
offset: [0, 2],
|
||||
popperConfig: null,
|
||||
autoClose: true
|
||||
reference: 'toggle'
|
||||
};
|
||||
const DefaultType$9 = {
|
||||
offset: '(array|string|function)',
|
||||
autoClose: '(boolean|string)',
|
||||
boundary: '(string|element)',
|
||||
reference: '(string|element|object)',
|
||||
display: 'string',
|
||||
offset: '(array|string|function)',
|
||||
popperConfig: '(null|object|function)',
|
||||
autoClose: '(boolean|string)'
|
||||
reference: '(string|element|object)'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -4230,7 +4235,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/scrollBar.js
|
||||
* Bootstrap (v5.2.0): util/scrollBar.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -4349,7 +4354,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/backdrop.js
|
||||
* Bootstrap (v5.2.0): util/backdrop.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -4363,19 +4368,19 @@
|
|||
const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`;
|
||||
const Default$8 = {
|
||||
className: 'modal-backdrop',
|
||||
clickCallback: null,
|
||||
isAnimated: false,
|
||||
isVisible: true,
|
||||
// if false, we use the backdrop helper without adding any element to the dom
|
||||
isAnimated: false,
|
||||
rootElement: 'body',
|
||||
// give the choice to place backdrop under different elements
|
||||
clickCallback: null
|
||||
rootElement: 'body' // give the choice to place backdrop under different elements
|
||||
|
||||
};
|
||||
const DefaultType$8 = {
|
||||
className: 'string',
|
||||
isVisible: 'boolean',
|
||||
clickCallback: '(function|null)',
|
||||
isAnimated: 'boolean',
|
||||
rootElement: '(element|string)',
|
||||
clickCallback: '(function|null)'
|
||||
isVisible: 'boolean',
|
||||
rootElement: '(element|string)'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -4495,7 +4500,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/focustrap.js
|
||||
* Bootstrap (v5.2.0): util/focustrap.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -4512,13 +4517,13 @@
|
|||
const TAB_NAV_FORWARD = 'forward';
|
||||
const TAB_NAV_BACKWARD = 'backward';
|
||||
const Default$7 = {
|
||||
trapElement: null,
|
||||
// The element to trap focus inside of
|
||||
autofocus: true
|
||||
autofocus: true,
|
||||
trapElement: null // The element to trap focus inside of
|
||||
|
||||
};
|
||||
const DefaultType$7 = {
|
||||
trapElement: 'element',
|
||||
autofocus: 'boolean'
|
||||
autofocus: 'boolean',
|
||||
trapElement: 'element'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -4604,7 +4609,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): modal.js
|
||||
* Bootstrap (v5.2.0): modal.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -4623,7 +4628,7 @@
|
|||
const EVENT_SHOW$4 = `show${EVENT_KEY$4}`;
|
||||
const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;
|
||||
const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;
|
||||
const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;
|
||||
const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;
|
||||
const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;
|
||||
const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;
|
||||
const CLASS_NAME_OPEN = 'modal-open';
|
||||
|
|
@ -4636,13 +4641,13 @@
|
|||
const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]';
|
||||
const Default$6 = {
|
||||
backdrop: true,
|
||||
keyboard: true,
|
||||
focus: true
|
||||
focus: true,
|
||||
keyboard: true
|
||||
};
|
||||
const DefaultType$6 = {
|
||||
backdrop: '(boolean|string)',
|
||||
keyboard: 'boolean',
|
||||
focus: 'boolean'
|
||||
focus: 'boolean',
|
||||
keyboard: 'boolean'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -4814,7 +4819,7 @@
|
|||
this._adjustDialog();
|
||||
}
|
||||
});
|
||||
EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {
|
||||
EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {
|
||||
if (event.target !== event.currentTarget) {
|
||||
// click is inside modal-dialog
|
||||
return;
|
||||
|
|
@ -4977,7 +4982,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): offcanvas.js
|
||||
* Bootstrap (v5.2.0): offcanvas.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -5075,7 +5080,7 @@
|
|||
this._element.classList.add(CLASS_NAME_SHOWING$1);
|
||||
|
||||
const completeCallBack = () => {
|
||||
if (!this._config.scroll) {
|
||||
if (!this._config.scroll || this._config.backdrop) {
|
||||
this._focustrap.activate();
|
||||
}
|
||||
|
||||
|
|
@ -5251,7 +5256,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/sanitizer.js
|
||||
* Bootstrap (v5.2.0): util/sanitizer.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -5260,14 +5265,14 @@
|
|||
/**
|
||||
* A pattern that recognizes a commonly useful subset of URLs that are safe.
|
||||
*
|
||||
* Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
|
||||
* Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
|
||||
*/
|
||||
|
||||
const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;
|
||||
/**
|
||||
* A pattern that matches safe data URLs. Only matches image, video and audio types.
|
||||
*
|
||||
* Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
|
||||
* Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
|
||||
*/
|
||||
|
||||
const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
|
||||
|
|
@ -5356,7 +5361,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/template-factory.js
|
||||
* Bootstrap (v5.2.0): util/template-factory.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -5366,27 +5371,27 @@
|
|||
|
||||
const NAME$5 = 'TemplateFactory';
|
||||
const Default$4 = {
|
||||
extraClass: '',
|
||||
template: '<div></div>',
|
||||
allowList: DefaultAllowlist,
|
||||
content: {},
|
||||
// { selector : text , selector2 : text2 , }
|
||||
extraClass: '',
|
||||
html: false,
|
||||
sanitize: true,
|
||||
sanitizeFn: null,
|
||||
allowList: DefaultAllowlist
|
||||
template: '<div></div>'
|
||||
};
|
||||
const DefaultType$4 = {
|
||||
extraClass: '(string|function)',
|
||||
template: 'string',
|
||||
allowList: 'object',
|
||||
content: 'object',
|
||||
extraClass: '(string|function)',
|
||||
html: 'boolean',
|
||||
sanitize: 'boolean',
|
||||
sanitizeFn: '(null|function)',
|
||||
allowList: 'object'
|
||||
template: 'string'
|
||||
};
|
||||
const DefaultContentType = {
|
||||
selector: '(string|element)',
|
||||
entry: '(string|element|function|null)'
|
||||
entry: '(string|element|function|null)',
|
||||
selector: '(string|element)'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -5514,7 +5519,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): tooltip.js
|
||||
* Bootstrap (v5.2.0): tooltip.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -5552,42 +5557,42 @@
|
|||
LEFT: isRTL() ? 'right' : 'left'
|
||||
};
|
||||
const Default$3 = {
|
||||
allowList: DefaultAllowlist,
|
||||
animation: true,
|
||||
template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div>' + '</div>',
|
||||
trigger: 'hover focus',
|
||||
title: '',
|
||||
delay: 0,
|
||||
html: false,
|
||||
selector: false,
|
||||
placement: 'top',
|
||||
offset: [0, 0],
|
||||
container: false,
|
||||
fallbackPlacements: ['top', 'right', 'bottom', 'left'],
|
||||
boundary: 'clippingParents',
|
||||
container: false,
|
||||
customClass: '',
|
||||
delay: 0,
|
||||
fallbackPlacements: ['top', 'right', 'bottom', 'left'],
|
||||
html: false,
|
||||
offset: [0, 0],
|
||||
placement: 'top',
|
||||
popperConfig: null,
|
||||
sanitize: true,
|
||||
sanitizeFn: null,
|
||||
allowList: DefaultAllowlist,
|
||||
popperConfig: null
|
||||
selector: false,
|
||||
template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div>' + '</div>',
|
||||
title: '',
|
||||
trigger: 'hover focus'
|
||||
};
|
||||
const DefaultType$3 = {
|
||||
allowList: 'object',
|
||||
animation: 'boolean',
|
||||
template: 'string',
|
||||
title: '(string|element|function)',
|
||||
trigger: 'string',
|
||||
delay: '(number|object)',
|
||||
html: 'boolean',
|
||||
selector: '(string|boolean)',
|
||||
placement: '(string|function)',
|
||||
offset: '(array|string|function)',
|
||||
container: '(string|element|boolean)',
|
||||
fallbackPlacements: 'array',
|
||||
boundary: '(string|element)',
|
||||
container: '(string|element|boolean)',
|
||||
customClass: '(string|function)',
|
||||
delay: '(number|object)',
|
||||
fallbackPlacements: 'array',
|
||||
html: 'boolean',
|
||||
offset: '(array|string|function)',
|
||||
placement: '(string|function)',
|
||||
popperConfig: '(null|object|function)',
|
||||
sanitize: 'boolean',
|
||||
sanitizeFn: '(null|function)',
|
||||
allowList: 'object',
|
||||
popperConfig: '(null|object|function)'
|
||||
selector: '(string|boolean)',
|
||||
template: 'string',
|
||||
title: '(string|element|function)',
|
||||
trigger: 'string'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -5606,7 +5611,8 @@
|
|||
this._isHovered = false;
|
||||
this._activeTrigger = {};
|
||||
this._popper = null;
|
||||
this._templateFactory = null; // Protected
|
||||
this._templateFactory = null;
|
||||
this._newContent = null; // Protected
|
||||
|
||||
this.tip = null;
|
||||
|
||||
|
|
@ -5696,6 +5702,12 @@
|
|||
|
||||
if (showEvent.defaultPrevented || !isInTheDom) {
|
||||
return;
|
||||
} // todo v6 remove this OR make it optional
|
||||
|
||||
|
||||
if (this.tip) {
|
||||
this.tip.remove();
|
||||
this.tip = null;
|
||||
}
|
||||
|
||||
const tip = this._getTipElement();
|
||||
|
|
@ -5714,7 +5726,7 @@
|
|||
if (this._popper) {
|
||||
this._popper.update();
|
||||
} else {
|
||||
this._createPopper(tip);
|
||||
this._popper = this._createPopper(tip);
|
||||
}
|
||||
|
||||
tip.classList.add(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we add extra
|
||||
|
|
@ -5800,7 +5812,7 @@
|
|||
|
||||
_getTipElement() {
|
||||
if (!this.tip) {
|
||||
this.tip = this._createTipElement(this._getContentForTemplate());
|
||||
this.tip = this._createTipElement(this._newContent || this._getContentForTemplate());
|
||||
}
|
||||
|
||||
return this.tip;
|
||||
|
|
@ -5828,19 +5840,11 @@
|
|||
}
|
||||
|
||||
setContent(content) {
|
||||
let isShown = false;
|
||||
this._newContent = content;
|
||||
|
||||
if (this.tip) {
|
||||
isShown = this._isShown();
|
||||
this.tip.remove();
|
||||
this.tip = null;
|
||||
}
|
||||
if (this._isShown()) {
|
||||
this._disposePopper();
|
||||
|
||||
this._disposePopper();
|
||||
|
||||
this.tip = this._createTipElement(content);
|
||||
|
||||
if (isShown) {
|
||||
this.show();
|
||||
}
|
||||
}
|
||||
|
|
@ -5867,7 +5871,7 @@
|
|||
}
|
||||
|
||||
_getTitle() {
|
||||
return this._config.title;
|
||||
return this._resolvePossibleFunction(this._config.title) || this._config.originalTitle;
|
||||
} // Private
|
||||
|
||||
|
||||
|
|
@ -5886,7 +5890,7 @@
|
|||
_createPopper(tip) {
|
||||
const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement;
|
||||
const attachment = AttachmentMap[placement.toUpperCase()];
|
||||
this._popper = createPopper(this._element, tip, this._getPopperConfig(attachment));
|
||||
return createPopper(this._element, tip, this._getPopperConfig(attachment));
|
||||
}
|
||||
|
||||
_getOffset() {
|
||||
|
|
@ -5999,7 +6003,7 @@
|
|||
return;
|
||||
}
|
||||
|
||||
if (!this._element.getAttribute('aria-label') && !this._element.textContent) {
|
||||
if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {
|
||||
this._element.setAttribute('aria-label', title);
|
||||
}
|
||||
|
||||
|
|
@ -6075,7 +6079,6 @@
|
|||
}
|
||||
|
||||
config.originalTitle = this._element.getAttribute('title') || '';
|
||||
config.title = this._resolvePossibleFunction(config.title) || config.originalTitle;
|
||||
|
||||
if (typeof config.title === 'number') {
|
||||
config.title = config.title.toString();
|
||||
|
|
@ -6138,7 +6141,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): popover.js
|
||||
* Bootstrap (v5.2.0): popover.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -6150,11 +6153,11 @@
|
|||
const SELECTOR_TITLE = '.popover-header';
|
||||
const SELECTOR_CONTENT = '.popover-body';
|
||||
const Default$2 = { ...Tooltip.Default,
|
||||
placement: 'right',
|
||||
offset: [0, 8],
|
||||
trigger: 'click',
|
||||
content: '',
|
||||
template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>'
|
||||
offset: [0, 8],
|
||||
placement: 'right',
|
||||
template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>',
|
||||
trigger: 'click'
|
||||
};
|
||||
const DefaultType$2 = { ...Tooltip.DefaultType,
|
||||
content: '(null|string|element|function)'
|
||||
|
|
@ -6221,7 +6224,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): scrollspy.js
|
||||
* Bootstrap (v5.2.0): scrollspy.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -6341,7 +6344,8 @@
|
|||
|
||||
if (root.scrollTo) {
|
||||
root.scrollTo({
|
||||
top: height
|
||||
top: height,
|
||||
behavior: 'smooth'
|
||||
});
|
||||
return;
|
||||
} // Chrome 60 doesn't support `scrollTo`
|
||||
|
|
@ -6507,7 +6511,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): tab.js
|
||||
* Bootstrap (v5.2.0): tab.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -6608,15 +6612,9 @@
|
|||
this._activate(getElementFromSelector(element)); // Search and activate/show the proper section
|
||||
|
||||
|
||||
const isAnimated = element.classList.contains(CLASS_NAME_FADE$1);
|
||||
|
||||
const complete = () => {
|
||||
if (isAnimated) {
|
||||
// todo: maybe is redundant
|
||||
element.classList.add(CLASS_NAME_SHOW$1);
|
||||
}
|
||||
|
||||
if (element.getAttribute('role') !== 'tab') {
|
||||
element.classList.add(CLASS_NAME_SHOW$1);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -6631,7 +6629,7 @@
|
|||
});
|
||||
};
|
||||
|
||||
this._queueCallback(complete, element, isAnimated);
|
||||
this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1));
|
||||
}
|
||||
|
||||
_deactivate(element, relatedElem) {
|
||||
|
|
@ -6645,15 +6643,9 @@
|
|||
this._deactivate(getElementFromSelector(element)); // Search and deactivate the shown section too
|
||||
|
||||
|
||||
const isAnimated = element.classList.contains(CLASS_NAME_FADE$1);
|
||||
|
||||
const complete = () => {
|
||||
if (isAnimated) {
|
||||
// todo maybe is redundant
|
||||
element.classList.remove(CLASS_NAME_SHOW$1);
|
||||
}
|
||||
|
||||
if (element.getAttribute('role') !== 'tab') {
|
||||
element.classList.remove(CLASS_NAME_SHOW$1);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -6667,7 +6659,7 @@
|
|||
});
|
||||
};
|
||||
|
||||
this._queueCallback(complete, element, isAnimated);
|
||||
this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1));
|
||||
}
|
||||
|
||||
_keydown(event) {
|
||||
|
|
@ -6832,7 +6824,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): toast.js
|
||||
* Bootstrap (v5.2.0): toast.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -7049,7 +7041,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): index.umd.js
|
||||
* Bootstrap (v5.2.0): index.umd.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
|
|||
BIN
dist/js/bootstrap.bundle.js.map
vendored
BIN
dist/js/bootstrap.bundle.js.map
vendored
Binary file not shown.
4
dist/js/bootstrap.bundle.min.js
vendored
4
dist/js/bootstrap.bundle.min.js
vendored
File diff suppressed because one or more lines are too long
BIN
dist/js/bootstrap.bundle.min.js.map
vendored
BIN
dist/js/bootstrap.bundle.min.js.map
vendored
Binary file not shown.
364
dist/js/bootstrap.esm.js
vendored
364
dist/js/bootstrap.esm.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -7,13 +7,13 @@ import * as Popper from '@popperjs/core';
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/index.js
|
||||
* Bootstrap (v5.2.0): util/index.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
const MAX_UID = 1000000;
|
||||
const MILLISECONDS_MULTIPLIER = 1000;
|
||||
const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
||||
const TRANSITION_END = 'transitionend'; // Shout-out Angus Croll (https://goo.gl/pxwQGp)
|
||||
|
||||
const toType = object => {
|
||||
if (object === null || object === undefined) {
|
||||
|
|
@ -322,7 +322,7 @@ const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): dom/event-handler.js
|
||||
* Bootstrap (v5.2.0): dom/event-handler.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -345,12 +345,12 @@ const nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'cont
|
|||
* Private methods
|
||||
*/
|
||||
|
||||
function getUidEvent(element, uid) {
|
||||
function makeEventUid(element, uid) {
|
||||
return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++;
|
||||
}
|
||||
|
||||
function getEvent(element) {
|
||||
const uid = getUidEvent(element);
|
||||
function getElementEvents(element) {
|
||||
const uid = makeEventUid(element);
|
||||
element.uidEvent = uid;
|
||||
eventRegistry[uid] = eventRegistry[uid] || {};
|
||||
return eventRegistry[uid];
|
||||
|
|
@ -358,7 +358,9 @@ function getEvent(element) {
|
|||
|
||||
function bootstrapHandler(element, fn) {
|
||||
return function handler(event) {
|
||||
event.delegateTarget = element;
|
||||
hydrateObj(event, {
|
||||
delegateTarget: element
|
||||
});
|
||||
|
||||
if (handler.oneOff) {
|
||||
EventHandler.off(element, event.type, fn);
|
||||
|
|
@ -380,7 +382,9 @@ function bootstrapDelegationHandler(element, selector, fn) {
|
|||
continue;
|
||||
}
|
||||
|
||||
event.delegateTarget = target;
|
||||
hydrateObj(event, {
|
||||
delegateTarget: target
|
||||
});
|
||||
|
||||
if (handler.oneOff) {
|
||||
EventHandler.off(element, event.type, selector, fn);
|
||||
|
|
@ -392,20 +396,21 @@ function bootstrapDelegationHandler(element, selector, fn) {
|
|||
};
|
||||
}
|
||||
|
||||
function findHandler(events, handler, delegationSelector = null) {
|
||||
return Object.values(events).find(event => event.originalHandler === handler && event.delegationSelector === delegationSelector);
|
||||
function findHandler(events, callable, delegationSelector = null) {
|
||||
return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector);
|
||||
}
|
||||
|
||||
function normalizeParameters(originalTypeEvent, handler, delegationFunction) {
|
||||
const delegation = typeof handler === 'string';
|
||||
const originalHandler = delegation ? delegationFunction : handler;
|
||||
const isDelegated = typeof handler === 'string'; // todo: tooltip passes `false` instead of selector, so we need to check
|
||||
|
||||
const callable = isDelegated ? delegationFunction : handler || delegationFunction;
|
||||
let typeEvent = getTypeEvent(originalTypeEvent);
|
||||
|
||||
if (!nativeEvents.has(typeEvent)) {
|
||||
typeEvent = originalTypeEvent;
|
||||
}
|
||||
|
||||
return [delegation, originalHandler, typeEvent];
|
||||
return [isDelegated, callable, typeEvent];
|
||||
}
|
||||
|
||||
function addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {
|
||||
|
|
@ -413,13 +418,9 @@ function addHandler(element, originalTypeEvent, handler, delegationFunction, one
|
|||
return;
|
||||
}
|
||||
|
||||
if (!handler) {
|
||||
handler = delegationFunction;
|
||||
delegationFunction = null;
|
||||
} // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position
|
||||
let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position
|
||||
// this prevents the handler from being dispatched the same way as mouseover or mouseout does
|
||||
|
||||
|
||||
if (originalTypeEvent in customEvents) {
|
||||
const wrapFunction = fn => {
|
||||
return function (event) {
|
||||
|
|
@ -429,31 +430,26 @@ function addHandler(element, originalTypeEvent, handler, delegationFunction, one
|
|||
};
|
||||
};
|
||||
|
||||
if (delegationFunction) {
|
||||
delegationFunction = wrapFunction(delegationFunction);
|
||||
} else {
|
||||
handler = wrapFunction(handler);
|
||||
}
|
||||
callable = wrapFunction(callable);
|
||||
}
|
||||
|
||||
const [delegation, originalHandler, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);
|
||||
const events = getEvent(element);
|
||||
const events = getElementEvents(element);
|
||||
const handlers = events[typeEvent] || (events[typeEvent] = {});
|
||||
const previousFunction = findHandler(handlers, originalHandler, delegation ? handler : null);
|
||||
const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null);
|
||||
|
||||
if (previousFunction) {
|
||||
previousFunction.oneOff = previousFunction.oneOff && oneOff;
|
||||
return;
|
||||
}
|
||||
|
||||
const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''));
|
||||
const fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFunction) : bootstrapHandler(element, handler);
|
||||
fn.delegationSelector = delegation ? handler : null;
|
||||
fn.originalHandler = originalHandler;
|
||||
const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''));
|
||||
const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable);
|
||||
fn.delegationSelector = isDelegated ? handler : null;
|
||||
fn.callable = callable;
|
||||
fn.oneOff = oneOff;
|
||||
fn.uidEvent = uid;
|
||||
handlers[uid] = fn;
|
||||
element.addEventListener(typeEvent, fn, delegation);
|
||||
element.addEventListener(typeEvent, fn, isDelegated);
|
||||
}
|
||||
|
||||
function removeHandler(element, events, typeEvent, handler, delegationSelector) {
|
||||
|
|
@ -473,7 +469,7 @@ function removeNamespacedHandlers(element, events, typeEvent, namespace) {
|
|||
for (const handlerKey of Object.keys(storeElementEvent)) {
|
||||
if (handlerKey.includes(namespace)) {
|
||||
const event = storeElementEvent[handlerKey];
|
||||
removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
|
||||
removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -498,18 +494,19 @@ const EventHandler = {
|
|||
return;
|
||||
}
|
||||
|
||||
const [delegation, originalHandler, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);
|
||||
const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);
|
||||
const inNamespace = typeEvent !== originalTypeEvent;
|
||||
const events = getEvent(element);
|
||||
const events = getElementEvents(element);
|
||||
const storeElementEvent = events[typeEvent] || {};
|
||||
const isNamespace = originalTypeEvent.startsWith('.');
|
||||
|
||||
if (typeof originalHandler !== 'undefined') {
|
||||
if (typeof callable !== 'undefined') {
|
||||
// Simplest case: handler is passed, remove that listener ONLY.
|
||||
if (!events || !events[typeEvent]) {
|
||||
if (!Object.keys(storeElementEvent).length) {
|
||||
return;
|
||||
}
|
||||
|
||||
removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null);
|
||||
removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -519,14 +516,12 @@ const EventHandler = {
|
|||
}
|
||||
}
|
||||
|
||||
const storeElementEvent = events[typeEvent] || {};
|
||||
|
||||
for (const keyHandlers of Object.keys(storeElementEvent)) {
|
||||
const handlerKey = keyHandlers.replace(stripUidRegex, '');
|
||||
|
||||
if (!inNamespace || originalTypeEvent.includes(handlerKey)) {
|
||||
const event = storeElementEvent[keyHandlers];
|
||||
removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
|
||||
removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -552,21 +547,11 @@ const EventHandler = {
|
|||
defaultPrevented = jQueryEvent.isDefaultPrevented();
|
||||
}
|
||||
|
||||
const evt = new Event(event, {
|
||||
let evt = new Event(event, {
|
||||
bubbles,
|
||||
cancelable: true
|
||||
}); // merge custom information in our event
|
||||
|
||||
if (typeof args !== 'undefined') {
|
||||
for (const key of Object.keys(args)) {
|
||||
Object.defineProperty(evt, key, {
|
||||
get() {
|
||||
return args[key];
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
evt = hydrateObj(evt, args);
|
||||
|
||||
if (defaultPrevented) {
|
||||
evt.preventDefault();
|
||||
|
|
@ -585,9 +570,28 @@ const EventHandler = {
|
|||
|
||||
};
|
||||
|
||||
function hydrateObj(obj, meta) {
|
||||
for (const [key, value] of Object.entries(meta || {})) {
|
||||
try {
|
||||
obj[key] = value;
|
||||
} catch (_unused) {
|
||||
Object.defineProperty(obj, key, {
|
||||
configurable: true,
|
||||
|
||||
get() {
|
||||
return value;
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): dom/data.js
|
||||
* Bootstrap (v5.2.0): dom/data.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -639,7 +643,7 @@ const Data = {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): dom/manipulator.js
|
||||
* Bootstrap (v5.2.0): dom/manipulator.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -709,7 +713,7 @@ const Manipulator = {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/config.js
|
||||
* Bootstrap (v5.2.0): util/config.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -770,7 +774,7 @@ class Config {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): base-component.js
|
||||
* Bootstrap (v5.2.0): base-component.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -778,7 +782,7 @@ class Config {
|
|||
* Constants
|
||||
*/
|
||||
|
||||
const VERSION = '5.2.0-beta1';
|
||||
const VERSION = '5.2.0';
|
||||
/**
|
||||
* Class definition
|
||||
*/
|
||||
|
|
@ -849,7 +853,7 @@ class BaseComponent extends Config {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/component-functions.js
|
||||
* Bootstrap (v5.2.0): util/component-functions.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -875,7 +879,7 @@ const enableDismissTrigger = (component, method = 'hide') => {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): alert.js
|
||||
* Bootstrap (v5.2.0): alert.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -955,7 +959,7 @@ defineJQueryPlugin(Alert);
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): button.js
|
||||
* Bootstrap (v5.2.0): button.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -1017,7 +1021,7 @@ defineJQueryPlugin(Button);
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): dom/selector-engine.js
|
||||
* Bootstrap (v5.2.0): dom/selector-engine.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -1088,7 +1092,7 @@ const SelectorEngine = {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/swipe.js
|
||||
* Bootstrap (v5.2.0): util/swipe.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -1108,14 +1112,14 @@ const POINTER_TYPE_PEN = 'pen';
|
|||
const CLASS_NAME_POINTER_EVENT = 'pointer-event';
|
||||
const SWIPE_THRESHOLD = 40;
|
||||
const Default$c = {
|
||||
endCallback: null,
|
||||
leftCallback: null,
|
||||
rightCallback: null,
|
||||
endCallback: null
|
||||
rightCallback: null
|
||||
};
|
||||
const DefaultType$c = {
|
||||
endCallback: '(function|null)',
|
||||
leftCallback: '(function|null)',
|
||||
rightCallback: '(function|null)',
|
||||
endCallback: '(function|null)'
|
||||
rightCallback: '(function|null)'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -1224,7 +1228,7 @@ class Swipe extends Config {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): carousel.js
|
||||
* Bootstrap (v5.2.0): carousel.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -1280,9 +1284,10 @@ const Default$b = {
|
|||
};
|
||||
const DefaultType$b = {
|
||||
interval: '(number|boolean)',
|
||||
// TODO:v6 remove boolean support
|
||||
keyboard: 'boolean',
|
||||
ride: '(boolean|string)',
|
||||
pause: '(string|boolean)',
|
||||
ride: '(boolean|string)',
|
||||
touch: 'boolean',
|
||||
wrap: 'boolean'
|
||||
};
|
||||
|
|
@ -1671,7 +1676,7 @@ defineJQueryPlugin(Carousel);
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): collapse.js
|
||||
* Bootstrap (v5.2.0): collapse.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -1699,12 +1704,12 @@ const HEIGHT = 'height';
|
|||
const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
|
||||
const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]';
|
||||
const Default$a = {
|
||||
toggle: true,
|
||||
parent: null
|
||||
parent: null,
|
||||
toggle: true
|
||||
};
|
||||
const DefaultType$a = {
|
||||
toggle: 'boolean',
|
||||
parent: '(null|element)'
|
||||
parent: '(null|element)',
|
||||
toggle: 'boolean'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -1961,7 +1966,7 @@ defineJQueryPlugin(Collapse);
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): dropdown.js
|
||||
* Bootstrap (v5.2.0): dropdown.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -2007,20 +2012,20 @@ const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
|
|||
const PLACEMENT_TOPCENTER = 'top';
|
||||
const PLACEMENT_BOTTOMCENTER = 'bottom';
|
||||
const Default$9 = {
|
||||
offset: [0, 2],
|
||||
autoClose: true,
|
||||
boundary: 'clippingParents',
|
||||
reference: 'toggle',
|
||||
display: 'dynamic',
|
||||
offset: [0, 2],
|
||||
popperConfig: null,
|
||||
autoClose: true
|
||||
reference: 'toggle'
|
||||
};
|
||||
const DefaultType$9 = {
|
||||
offset: '(array|string|function)',
|
||||
autoClose: '(boolean|string)',
|
||||
boundary: '(string|element)',
|
||||
reference: '(string|element|object)',
|
||||
display: 'string',
|
||||
offset: '(array|string|function)',
|
||||
popperConfig: '(null|object|function)',
|
||||
autoClose: '(boolean|string)'
|
||||
reference: '(string|element|object)'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -2391,7 +2396,7 @@ defineJQueryPlugin(Dropdown);
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/scrollBar.js
|
||||
* Bootstrap (v5.2.0): util/scrollBar.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -2510,7 +2515,7 @@ class ScrollBarHelper {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/backdrop.js
|
||||
* Bootstrap (v5.2.0): util/backdrop.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -2524,19 +2529,19 @@ const CLASS_NAME_SHOW$5 = 'show';
|
|||
const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`;
|
||||
const Default$8 = {
|
||||
className: 'modal-backdrop',
|
||||
clickCallback: null,
|
||||
isAnimated: false,
|
||||
isVisible: true,
|
||||
// if false, we use the backdrop helper without adding any element to the dom
|
||||
isAnimated: false,
|
||||
rootElement: 'body',
|
||||
// give the choice to place backdrop under different elements
|
||||
clickCallback: null
|
||||
rootElement: 'body' // give the choice to place backdrop under different elements
|
||||
|
||||
};
|
||||
const DefaultType$8 = {
|
||||
className: 'string',
|
||||
isVisible: 'boolean',
|
||||
clickCallback: '(function|null)',
|
||||
isAnimated: 'boolean',
|
||||
rootElement: '(element|string)',
|
||||
clickCallback: '(function|null)'
|
||||
isVisible: 'boolean',
|
||||
rootElement: '(element|string)'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -2656,7 +2661,7 @@ class Backdrop extends Config {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/focustrap.js
|
||||
* Bootstrap (v5.2.0): util/focustrap.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -2673,13 +2678,13 @@ const TAB_KEY = 'Tab';
|
|||
const TAB_NAV_FORWARD = 'forward';
|
||||
const TAB_NAV_BACKWARD = 'backward';
|
||||
const Default$7 = {
|
||||
trapElement: null,
|
||||
// The element to trap focus inside of
|
||||
autofocus: true
|
||||
autofocus: true,
|
||||
trapElement: null // The element to trap focus inside of
|
||||
|
||||
};
|
||||
const DefaultType$7 = {
|
||||
trapElement: 'element',
|
||||
autofocus: 'boolean'
|
||||
autofocus: 'boolean',
|
||||
trapElement: 'element'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -2765,7 +2770,7 @@ class FocusTrap extends Config {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): modal.js
|
||||
* Bootstrap (v5.2.0): modal.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -2784,7 +2789,7 @@ const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`;
|
|||
const EVENT_SHOW$4 = `show${EVENT_KEY$4}`;
|
||||
const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;
|
||||
const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;
|
||||
const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;
|
||||
const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;
|
||||
const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;
|
||||
const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;
|
||||
const CLASS_NAME_OPEN = 'modal-open';
|
||||
|
|
@ -2797,13 +2802,13 @@ const SELECTOR_MODAL_BODY = '.modal-body';
|
|||
const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]';
|
||||
const Default$6 = {
|
||||
backdrop: true,
|
||||
keyboard: true,
|
||||
focus: true
|
||||
focus: true,
|
||||
keyboard: true
|
||||
};
|
||||
const DefaultType$6 = {
|
||||
backdrop: '(boolean|string)',
|
||||
keyboard: 'boolean',
|
||||
focus: 'boolean'
|
||||
focus: 'boolean',
|
||||
keyboard: 'boolean'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -2975,7 +2980,7 @@ class Modal extends BaseComponent {
|
|||
this._adjustDialog();
|
||||
}
|
||||
});
|
||||
EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {
|
||||
EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {
|
||||
if (event.target !== event.currentTarget) {
|
||||
// click is inside modal-dialog
|
||||
return;
|
||||
|
|
@ -3138,7 +3143,7 @@ defineJQueryPlugin(Modal);
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): offcanvas.js
|
||||
* Bootstrap (v5.2.0): offcanvas.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -3236,7 +3241,7 @@ class Offcanvas extends BaseComponent {
|
|||
this._element.classList.add(CLASS_NAME_SHOWING$1);
|
||||
|
||||
const completeCallBack = () => {
|
||||
if (!this._config.scroll) {
|
||||
if (!this._config.scroll || this._config.backdrop) {
|
||||
this._focustrap.activate();
|
||||
}
|
||||
|
||||
|
|
@ -3412,7 +3417,7 @@ defineJQueryPlugin(Offcanvas);
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/sanitizer.js
|
||||
* Bootstrap (v5.2.0): util/sanitizer.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -3421,14 +3426,14 @@ const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i;
|
|||
/**
|
||||
* A pattern that recognizes a commonly useful subset of URLs that are safe.
|
||||
*
|
||||
* Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
|
||||
* Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
|
||||
*/
|
||||
|
||||
const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;
|
||||
/**
|
||||
* A pattern that matches safe data URLs. Only matches image, video and audio types.
|
||||
*
|
||||
* Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
|
||||
* Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
|
||||
*/
|
||||
|
||||
const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
|
||||
|
|
@ -3517,7 +3522,7 @@ function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/template-factory.js
|
||||
* Bootstrap (v5.2.0): util/template-factory.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -3527,27 +3532,27 @@ function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {
|
|||
|
||||
const NAME$5 = 'TemplateFactory';
|
||||
const Default$4 = {
|
||||
extraClass: '',
|
||||
template: '<div></div>',
|
||||
allowList: DefaultAllowlist,
|
||||
content: {},
|
||||
// { selector : text , selector2 : text2 , }
|
||||
extraClass: '',
|
||||
html: false,
|
||||
sanitize: true,
|
||||
sanitizeFn: null,
|
||||
allowList: DefaultAllowlist
|
||||
template: '<div></div>'
|
||||
};
|
||||
const DefaultType$4 = {
|
||||
extraClass: '(string|function)',
|
||||
template: 'string',
|
||||
allowList: 'object',
|
||||
content: 'object',
|
||||
extraClass: '(string|function)',
|
||||
html: 'boolean',
|
||||
sanitize: 'boolean',
|
||||
sanitizeFn: '(null|function)',
|
||||
allowList: 'object'
|
||||
template: 'string'
|
||||
};
|
||||
const DefaultContentType = {
|
||||
selector: '(string|element)',
|
||||
entry: '(string|element|function|null)'
|
||||
entry: '(string|element|function|null)',
|
||||
selector: '(string|element)'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -3675,7 +3680,7 @@ class TemplateFactory extends Config {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): tooltip.js
|
||||
* Bootstrap (v5.2.0): tooltip.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -3713,42 +3718,42 @@ const AttachmentMap = {
|
|||
LEFT: isRTL() ? 'right' : 'left'
|
||||
};
|
||||
const Default$3 = {
|
||||
allowList: DefaultAllowlist,
|
||||
animation: true,
|
||||
template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div>' + '</div>',
|
||||
trigger: 'hover focus',
|
||||
title: '',
|
||||
delay: 0,
|
||||
html: false,
|
||||
selector: false,
|
||||
placement: 'top',
|
||||
offset: [0, 0],
|
||||
container: false,
|
||||
fallbackPlacements: ['top', 'right', 'bottom', 'left'],
|
||||
boundary: 'clippingParents',
|
||||
container: false,
|
||||
customClass: '',
|
||||
delay: 0,
|
||||
fallbackPlacements: ['top', 'right', 'bottom', 'left'],
|
||||
html: false,
|
||||
offset: [0, 0],
|
||||
placement: 'top',
|
||||
popperConfig: null,
|
||||
sanitize: true,
|
||||
sanitizeFn: null,
|
||||
allowList: DefaultAllowlist,
|
||||
popperConfig: null
|
||||
selector: false,
|
||||
template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div>' + '</div>',
|
||||
title: '',
|
||||
trigger: 'hover focus'
|
||||
};
|
||||
const DefaultType$3 = {
|
||||
allowList: 'object',
|
||||
animation: 'boolean',
|
||||
template: 'string',
|
||||
title: '(string|element|function)',
|
||||
trigger: 'string',
|
||||
delay: '(number|object)',
|
||||
html: 'boolean',
|
||||
selector: '(string|boolean)',
|
||||
placement: '(string|function)',
|
||||
offset: '(array|string|function)',
|
||||
container: '(string|element|boolean)',
|
||||
fallbackPlacements: 'array',
|
||||
boundary: '(string|element)',
|
||||
container: '(string|element|boolean)',
|
||||
customClass: '(string|function)',
|
||||
delay: '(number|object)',
|
||||
fallbackPlacements: 'array',
|
||||
html: 'boolean',
|
||||
offset: '(array|string|function)',
|
||||
placement: '(string|function)',
|
||||
popperConfig: '(null|object|function)',
|
||||
sanitize: 'boolean',
|
||||
sanitizeFn: '(null|function)',
|
||||
allowList: 'object',
|
||||
popperConfig: '(null|object|function)'
|
||||
selector: '(string|boolean)',
|
||||
template: 'string',
|
||||
title: '(string|element|function)',
|
||||
trigger: 'string'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -3767,7 +3772,8 @@ class Tooltip extends BaseComponent {
|
|||
this._isHovered = false;
|
||||
this._activeTrigger = {};
|
||||
this._popper = null;
|
||||
this._templateFactory = null; // Protected
|
||||
this._templateFactory = null;
|
||||
this._newContent = null; // Protected
|
||||
|
||||
this.tip = null;
|
||||
|
||||
|
|
@ -3857,6 +3863,12 @@ class Tooltip extends BaseComponent {
|
|||
|
||||
if (showEvent.defaultPrevented || !isInTheDom) {
|
||||
return;
|
||||
} // todo v6 remove this OR make it optional
|
||||
|
||||
|
||||
if (this.tip) {
|
||||
this.tip.remove();
|
||||
this.tip = null;
|
||||
}
|
||||
|
||||
const tip = this._getTipElement();
|
||||
|
|
@ -3875,7 +3887,7 @@ class Tooltip extends BaseComponent {
|
|||
if (this._popper) {
|
||||
this._popper.update();
|
||||
} else {
|
||||
this._createPopper(tip);
|
||||
this._popper = this._createPopper(tip);
|
||||
}
|
||||
|
||||
tip.classList.add(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we add extra
|
||||
|
|
@ -3961,7 +3973,7 @@ class Tooltip extends BaseComponent {
|
|||
|
||||
_getTipElement() {
|
||||
if (!this.tip) {
|
||||
this.tip = this._createTipElement(this._getContentForTemplate());
|
||||
this.tip = this._createTipElement(this._newContent || this._getContentForTemplate());
|
||||
}
|
||||
|
||||
return this.tip;
|
||||
|
|
@ -3989,19 +4001,11 @@ class Tooltip extends BaseComponent {
|
|||
}
|
||||
|
||||
setContent(content) {
|
||||
let isShown = false;
|
||||
this._newContent = content;
|
||||
|
||||
if (this.tip) {
|
||||
isShown = this._isShown();
|
||||
this.tip.remove();
|
||||
this.tip = null;
|
||||
}
|
||||
if (this._isShown()) {
|
||||
this._disposePopper();
|
||||
|
||||
this._disposePopper();
|
||||
|
||||
this.tip = this._createTipElement(content);
|
||||
|
||||
if (isShown) {
|
||||
this.show();
|
||||
}
|
||||
}
|
||||
|
|
@ -4028,7 +4032,7 @@ class Tooltip extends BaseComponent {
|
|||
}
|
||||
|
||||
_getTitle() {
|
||||
return this._config.title;
|
||||
return this._resolvePossibleFunction(this._config.title) || this._config.originalTitle;
|
||||
} // Private
|
||||
|
||||
|
||||
|
|
@ -4047,7 +4051,7 @@ class Tooltip extends BaseComponent {
|
|||
_createPopper(tip) {
|
||||
const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement;
|
||||
const attachment = AttachmentMap[placement.toUpperCase()];
|
||||
this._popper = Popper.createPopper(this._element, tip, this._getPopperConfig(attachment));
|
||||
return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment));
|
||||
}
|
||||
|
||||
_getOffset() {
|
||||
|
|
@ -4160,7 +4164,7 @@ class Tooltip extends BaseComponent {
|
|||
return;
|
||||
}
|
||||
|
||||
if (!this._element.getAttribute('aria-label') && !this._element.textContent) {
|
||||
if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {
|
||||
this._element.setAttribute('aria-label', title);
|
||||
}
|
||||
|
||||
|
|
@ -4236,7 +4240,6 @@ class Tooltip extends BaseComponent {
|
|||
}
|
||||
|
||||
config.originalTitle = this._element.getAttribute('title') || '';
|
||||
config.title = this._resolvePossibleFunction(config.title) || config.originalTitle;
|
||||
|
||||
if (typeof config.title === 'number') {
|
||||
config.title = config.title.toString();
|
||||
|
|
@ -4299,7 +4302,7 @@ defineJQueryPlugin(Tooltip);
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): popover.js
|
||||
* Bootstrap (v5.2.0): popover.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -4311,11 +4314,11 @@ const NAME$3 = 'popover';
|
|||
const SELECTOR_TITLE = '.popover-header';
|
||||
const SELECTOR_CONTENT = '.popover-body';
|
||||
const Default$2 = { ...Tooltip.Default,
|
||||
placement: 'right',
|
||||
offset: [0, 8],
|
||||
trigger: 'click',
|
||||
content: '',
|
||||
template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>'
|
||||
offset: [0, 8],
|
||||
placement: 'right',
|
||||
template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>',
|
||||
trigger: 'click'
|
||||
};
|
||||
const DefaultType$2 = { ...Tooltip.DefaultType,
|
||||
content: '(null|string|element|function)'
|
||||
|
|
@ -4382,7 +4385,7 @@ defineJQueryPlugin(Popover);
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): scrollspy.js
|
||||
* Bootstrap (v5.2.0): scrollspy.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -4502,7 +4505,8 @@ class ScrollSpy extends BaseComponent {
|
|||
|
||||
if (root.scrollTo) {
|
||||
root.scrollTo({
|
||||
top: height
|
||||
top: height,
|
||||
behavior: 'smooth'
|
||||
});
|
||||
return;
|
||||
} // Chrome 60 doesn't support `scrollTo`
|
||||
|
|
@ -4668,7 +4672,7 @@ defineJQueryPlugin(ScrollSpy);
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): tab.js
|
||||
* Bootstrap (v5.2.0): tab.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -4769,15 +4773,9 @@ class Tab extends BaseComponent {
|
|||
this._activate(getElementFromSelector(element)); // Search and activate/show the proper section
|
||||
|
||||
|
||||
const isAnimated = element.classList.contains(CLASS_NAME_FADE$1);
|
||||
|
||||
const complete = () => {
|
||||
if (isAnimated) {
|
||||
// todo: maybe is redundant
|
||||
element.classList.add(CLASS_NAME_SHOW$1);
|
||||
}
|
||||
|
||||
if (element.getAttribute('role') !== 'tab') {
|
||||
element.classList.add(CLASS_NAME_SHOW$1);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -4792,7 +4790,7 @@ class Tab extends BaseComponent {
|
|||
});
|
||||
};
|
||||
|
||||
this._queueCallback(complete, element, isAnimated);
|
||||
this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1));
|
||||
}
|
||||
|
||||
_deactivate(element, relatedElem) {
|
||||
|
|
@ -4806,15 +4804,9 @@ class Tab extends BaseComponent {
|
|||
this._deactivate(getElementFromSelector(element)); // Search and deactivate the shown section too
|
||||
|
||||
|
||||
const isAnimated = element.classList.contains(CLASS_NAME_FADE$1);
|
||||
|
||||
const complete = () => {
|
||||
if (isAnimated) {
|
||||
// todo maybe is redundant
|
||||
element.classList.remove(CLASS_NAME_SHOW$1);
|
||||
}
|
||||
|
||||
if (element.getAttribute('role') !== 'tab') {
|
||||
element.classList.remove(CLASS_NAME_SHOW$1);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -4828,7 +4820,7 @@ class Tab extends BaseComponent {
|
|||
});
|
||||
};
|
||||
|
||||
this._queueCallback(complete, element, isAnimated);
|
||||
this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1));
|
||||
}
|
||||
|
||||
_keydown(event) {
|
||||
|
|
@ -4993,7 +4985,7 @@ defineJQueryPlugin(Tab);
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): toast.js
|
||||
* Bootstrap (v5.2.0): toast.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
|
|||
BIN
dist/js/bootstrap.esm.js.map
vendored
BIN
dist/js/bootstrap.esm.js.map
vendored
Binary file not shown.
4
dist/js/bootstrap.esm.min.js
vendored
4
dist/js/bootstrap.esm.min.js
vendored
File diff suppressed because one or more lines are too long
BIN
dist/js/bootstrap.esm.min.js.map
vendored
BIN
dist/js/bootstrap.esm.min.js.map
vendored
Binary file not shown.
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -31,13 +31,13 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/index.js
|
||||
* Bootstrap (v5.2.0): util/index.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
const MAX_UID = 1000000;
|
||||
const MILLISECONDS_MULTIPLIER = 1000;
|
||||
const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
||||
const TRANSITION_END = 'transitionend'; // Shout-out Angus Croll (https://goo.gl/pxwQGp)
|
||||
|
||||
const toType = object => {
|
||||
if (object === null || object === undefined) {
|
||||
|
|
@ -346,7 +346,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): dom/event-handler.js
|
||||
* Bootstrap (v5.2.0): dom/event-handler.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -369,12 +369,12 @@
|
|||
* Private methods
|
||||
*/
|
||||
|
||||
function getUidEvent(element, uid) {
|
||||
function makeEventUid(element, uid) {
|
||||
return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++;
|
||||
}
|
||||
|
||||
function getEvent(element) {
|
||||
const uid = getUidEvent(element);
|
||||
function getElementEvents(element) {
|
||||
const uid = makeEventUid(element);
|
||||
element.uidEvent = uid;
|
||||
eventRegistry[uid] = eventRegistry[uid] || {};
|
||||
return eventRegistry[uid];
|
||||
|
|
@ -382,7 +382,9 @@
|
|||
|
||||
function bootstrapHandler(element, fn) {
|
||||
return function handler(event) {
|
||||
event.delegateTarget = element;
|
||||
hydrateObj(event, {
|
||||
delegateTarget: element
|
||||
});
|
||||
|
||||
if (handler.oneOff) {
|
||||
EventHandler.off(element, event.type, fn);
|
||||
|
|
@ -404,7 +406,9 @@
|
|||
continue;
|
||||
}
|
||||
|
||||
event.delegateTarget = target;
|
||||
hydrateObj(event, {
|
||||
delegateTarget: target
|
||||
});
|
||||
|
||||
if (handler.oneOff) {
|
||||
EventHandler.off(element, event.type, selector, fn);
|
||||
|
|
@ -416,20 +420,21 @@
|
|||
};
|
||||
}
|
||||
|
||||
function findHandler(events, handler, delegationSelector = null) {
|
||||
return Object.values(events).find(event => event.originalHandler === handler && event.delegationSelector === delegationSelector);
|
||||
function findHandler(events, callable, delegationSelector = null) {
|
||||
return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector);
|
||||
}
|
||||
|
||||
function normalizeParameters(originalTypeEvent, handler, delegationFunction) {
|
||||
const delegation = typeof handler === 'string';
|
||||
const originalHandler = delegation ? delegationFunction : handler;
|
||||
const isDelegated = typeof handler === 'string'; // todo: tooltip passes `false` instead of selector, so we need to check
|
||||
|
||||
const callable = isDelegated ? delegationFunction : handler || delegationFunction;
|
||||
let typeEvent = getTypeEvent(originalTypeEvent);
|
||||
|
||||
if (!nativeEvents.has(typeEvent)) {
|
||||
typeEvent = originalTypeEvent;
|
||||
}
|
||||
|
||||
return [delegation, originalHandler, typeEvent];
|
||||
return [isDelegated, callable, typeEvent];
|
||||
}
|
||||
|
||||
function addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {
|
||||
|
|
@ -437,13 +442,9 @@
|
|||
return;
|
||||
}
|
||||
|
||||
if (!handler) {
|
||||
handler = delegationFunction;
|
||||
delegationFunction = null;
|
||||
} // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position
|
||||
let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position
|
||||
// this prevents the handler from being dispatched the same way as mouseover or mouseout does
|
||||
|
||||
|
||||
if (originalTypeEvent in customEvents) {
|
||||
const wrapFunction = fn => {
|
||||
return function (event) {
|
||||
|
|
@ -453,31 +454,26 @@
|
|||
};
|
||||
};
|
||||
|
||||
if (delegationFunction) {
|
||||
delegationFunction = wrapFunction(delegationFunction);
|
||||
} else {
|
||||
handler = wrapFunction(handler);
|
||||
}
|
||||
callable = wrapFunction(callable);
|
||||
}
|
||||
|
||||
const [delegation, originalHandler, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);
|
||||
const events = getEvent(element);
|
||||
const events = getElementEvents(element);
|
||||
const handlers = events[typeEvent] || (events[typeEvent] = {});
|
||||
const previousFunction = findHandler(handlers, originalHandler, delegation ? handler : null);
|
||||
const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null);
|
||||
|
||||
if (previousFunction) {
|
||||
previousFunction.oneOff = previousFunction.oneOff && oneOff;
|
||||
return;
|
||||
}
|
||||
|
||||
const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''));
|
||||
const fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFunction) : bootstrapHandler(element, handler);
|
||||
fn.delegationSelector = delegation ? handler : null;
|
||||
fn.originalHandler = originalHandler;
|
||||
const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''));
|
||||
const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable);
|
||||
fn.delegationSelector = isDelegated ? handler : null;
|
||||
fn.callable = callable;
|
||||
fn.oneOff = oneOff;
|
||||
fn.uidEvent = uid;
|
||||
handlers[uid] = fn;
|
||||
element.addEventListener(typeEvent, fn, delegation);
|
||||
element.addEventListener(typeEvent, fn, isDelegated);
|
||||
}
|
||||
|
||||
function removeHandler(element, events, typeEvent, handler, delegationSelector) {
|
||||
|
|
@ -497,7 +493,7 @@
|
|||
for (const handlerKey of Object.keys(storeElementEvent)) {
|
||||
if (handlerKey.includes(namespace)) {
|
||||
const event = storeElementEvent[handlerKey];
|
||||
removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
|
||||
removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -522,18 +518,19 @@
|
|||
return;
|
||||
}
|
||||
|
||||
const [delegation, originalHandler, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);
|
||||
const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);
|
||||
const inNamespace = typeEvent !== originalTypeEvent;
|
||||
const events = getEvent(element);
|
||||
const events = getElementEvents(element);
|
||||
const storeElementEvent = events[typeEvent] || {};
|
||||
const isNamespace = originalTypeEvent.startsWith('.');
|
||||
|
||||
if (typeof originalHandler !== 'undefined') {
|
||||
if (typeof callable !== 'undefined') {
|
||||
// Simplest case: handler is passed, remove that listener ONLY.
|
||||
if (!events || !events[typeEvent]) {
|
||||
if (!Object.keys(storeElementEvent).length) {
|
||||
return;
|
||||
}
|
||||
|
||||
removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null);
|
||||
removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -543,14 +540,12 @@
|
|||
}
|
||||
}
|
||||
|
||||
const storeElementEvent = events[typeEvent] || {};
|
||||
|
||||
for (const keyHandlers of Object.keys(storeElementEvent)) {
|
||||
const handlerKey = keyHandlers.replace(stripUidRegex, '');
|
||||
|
||||
if (!inNamespace || originalTypeEvent.includes(handlerKey)) {
|
||||
const event = storeElementEvent[keyHandlers];
|
||||
removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
|
||||
removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -576,21 +571,11 @@
|
|||
defaultPrevented = jQueryEvent.isDefaultPrevented();
|
||||
}
|
||||
|
||||
const evt = new Event(event, {
|
||||
let evt = new Event(event, {
|
||||
bubbles,
|
||||
cancelable: true
|
||||
}); // merge custom information in our event
|
||||
|
||||
if (typeof args !== 'undefined') {
|
||||
for (const key of Object.keys(args)) {
|
||||
Object.defineProperty(evt, key, {
|
||||
get() {
|
||||
return args[key];
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
evt = hydrateObj(evt, args);
|
||||
|
||||
if (defaultPrevented) {
|
||||
evt.preventDefault();
|
||||
|
|
@ -609,9 +594,28 @@
|
|||
|
||||
};
|
||||
|
||||
function hydrateObj(obj, meta) {
|
||||
for (const [key, value] of Object.entries(meta || {})) {
|
||||
try {
|
||||
obj[key] = value;
|
||||
} catch (_unused) {
|
||||
Object.defineProperty(obj, key, {
|
||||
configurable: true,
|
||||
|
||||
get() {
|
||||
return value;
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): dom/data.js
|
||||
* Bootstrap (v5.2.0): dom/data.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -663,7 +667,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): dom/manipulator.js
|
||||
* Bootstrap (v5.2.0): dom/manipulator.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -733,7 +737,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/config.js
|
||||
* Bootstrap (v5.2.0): util/config.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -794,7 +798,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): base-component.js
|
||||
* Bootstrap (v5.2.0): base-component.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -802,7 +806,7 @@
|
|||
* Constants
|
||||
*/
|
||||
|
||||
const VERSION = '5.2.0-beta1';
|
||||
const VERSION = '5.2.0';
|
||||
/**
|
||||
* Class definition
|
||||
*/
|
||||
|
|
@ -873,7 +877,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/component-functions.js
|
||||
* Bootstrap (v5.2.0): util/component-functions.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -899,7 +903,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): alert.js
|
||||
* Bootstrap (v5.2.0): alert.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -979,7 +983,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): button.js
|
||||
* Bootstrap (v5.2.0): button.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -1041,7 +1045,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): dom/selector-engine.js
|
||||
* Bootstrap (v5.2.0): dom/selector-engine.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -1112,7 +1116,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/swipe.js
|
||||
* Bootstrap (v5.2.0): util/swipe.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -1132,14 +1136,14 @@
|
|||
const CLASS_NAME_POINTER_EVENT = 'pointer-event';
|
||||
const SWIPE_THRESHOLD = 40;
|
||||
const Default$c = {
|
||||
endCallback: null,
|
||||
leftCallback: null,
|
||||
rightCallback: null,
|
||||
endCallback: null
|
||||
rightCallback: null
|
||||
};
|
||||
const DefaultType$c = {
|
||||
endCallback: '(function|null)',
|
||||
leftCallback: '(function|null)',
|
||||
rightCallback: '(function|null)',
|
||||
endCallback: '(function|null)'
|
||||
rightCallback: '(function|null)'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -1248,7 +1252,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): carousel.js
|
||||
* Bootstrap (v5.2.0): carousel.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -1304,9 +1308,10 @@
|
|||
};
|
||||
const DefaultType$b = {
|
||||
interval: '(number|boolean)',
|
||||
// TODO:v6 remove boolean support
|
||||
keyboard: 'boolean',
|
||||
ride: '(boolean|string)',
|
||||
pause: '(string|boolean)',
|
||||
ride: '(boolean|string)',
|
||||
touch: 'boolean',
|
||||
wrap: 'boolean'
|
||||
};
|
||||
|
|
@ -1695,7 +1700,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): collapse.js
|
||||
* Bootstrap (v5.2.0): collapse.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -1723,12 +1728,12 @@
|
|||
const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
|
||||
const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]';
|
||||
const Default$a = {
|
||||
toggle: true,
|
||||
parent: null
|
||||
parent: null,
|
||||
toggle: true
|
||||
};
|
||||
const DefaultType$a = {
|
||||
toggle: 'boolean',
|
||||
parent: '(null|element)'
|
||||
parent: '(null|element)',
|
||||
toggle: 'boolean'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -1985,7 +1990,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): dropdown.js
|
||||
* Bootstrap (v5.2.0): dropdown.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -2031,20 +2036,20 @@
|
|||
const PLACEMENT_TOPCENTER = 'top';
|
||||
const PLACEMENT_BOTTOMCENTER = 'bottom';
|
||||
const Default$9 = {
|
||||
offset: [0, 2],
|
||||
autoClose: true,
|
||||
boundary: 'clippingParents',
|
||||
reference: 'toggle',
|
||||
display: 'dynamic',
|
||||
offset: [0, 2],
|
||||
popperConfig: null,
|
||||
autoClose: true
|
||||
reference: 'toggle'
|
||||
};
|
||||
const DefaultType$9 = {
|
||||
offset: '(array|string|function)',
|
||||
autoClose: '(boolean|string)',
|
||||
boundary: '(string|element)',
|
||||
reference: '(string|element|object)',
|
||||
display: 'string',
|
||||
offset: '(array|string|function)',
|
||||
popperConfig: '(null|object|function)',
|
||||
autoClose: '(boolean|string)'
|
||||
reference: '(string|element|object)'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -2415,7 +2420,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/scrollBar.js
|
||||
* Bootstrap (v5.2.0): util/scrollBar.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -2534,7 +2539,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/backdrop.js
|
||||
* Bootstrap (v5.2.0): util/backdrop.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -2548,19 +2553,19 @@
|
|||
const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`;
|
||||
const Default$8 = {
|
||||
className: 'modal-backdrop',
|
||||
clickCallback: null,
|
||||
isAnimated: false,
|
||||
isVisible: true,
|
||||
// if false, we use the backdrop helper without adding any element to the dom
|
||||
isAnimated: false,
|
||||
rootElement: 'body',
|
||||
// give the choice to place backdrop under different elements
|
||||
clickCallback: null
|
||||
rootElement: 'body' // give the choice to place backdrop under different elements
|
||||
|
||||
};
|
||||
const DefaultType$8 = {
|
||||
className: 'string',
|
||||
isVisible: 'boolean',
|
||||
clickCallback: '(function|null)',
|
||||
isAnimated: 'boolean',
|
||||
rootElement: '(element|string)',
|
||||
clickCallback: '(function|null)'
|
||||
isVisible: 'boolean',
|
||||
rootElement: '(element|string)'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -2680,7 +2685,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/focustrap.js
|
||||
* Bootstrap (v5.2.0): util/focustrap.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -2697,13 +2702,13 @@
|
|||
const TAB_NAV_FORWARD = 'forward';
|
||||
const TAB_NAV_BACKWARD = 'backward';
|
||||
const Default$7 = {
|
||||
trapElement: null,
|
||||
// The element to trap focus inside of
|
||||
autofocus: true
|
||||
autofocus: true,
|
||||
trapElement: null // The element to trap focus inside of
|
||||
|
||||
};
|
||||
const DefaultType$7 = {
|
||||
trapElement: 'element',
|
||||
autofocus: 'boolean'
|
||||
autofocus: 'boolean',
|
||||
trapElement: 'element'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -2789,7 +2794,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): modal.js
|
||||
* Bootstrap (v5.2.0): modal.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -2808,7 +2813,7 @@
|
|||
const EVENT_SHOW$4 = `show${EVENT_KEY$4}`;
|
||||
const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;
|
||||
const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;
|
||||
const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;
|
||||
const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;
|
||||
const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;
|
||||
const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;
|
||||
const CLASS_NAME_OPEN = 'modal-open';
|
||||
|
|
@ -2821,13 +2826,13 @@
|
|||
const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]';
|
||||
const Default$6 = {
|
||||
backdrop: true,
|
||||
keyboard: true,
|
||||
focus: true
|
||||
focus: true,
|
||||
keyboard: true
|
||||
};
|
||||
const DefaultType$6 = {
|
||||
backdrop: '(boolean|string)',
|
||||
keyboard: 'boolean',
|
||||
focus: 'boolean'
|
||||
focus: 'boolean',
|
||||
keyboard: 'boolean'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -2999,7 +3004,7 @@
|
|||
this._adjustDialog();
|
||||
}
|
||||
});
|
||||
EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {
|
||||
EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {
|
||||
if (event.target !== event.currentTarget) {
|
||||
// click is inside modal-dialog
|
||||
return;
|
||||
|
|
@ -3162,7 +3167,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): offcanvas.js
|
||||
* Bootstrap (v5.2.0): offcanvas.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -3260,7 +3265,7 @@
|
|||
this._element.classList.add(CLASS_NAME_SHOWING$1);
|
||||
|
||||
const completeCallBack = () => {
|
||||
if (!this._config.scroll) {
|
||||
if (!this._config.scroll || this._config.backdrop) {
|
||||
this._focustrap.activate();
|
||||
}
|
||||
|
||||
|
|
@ -3436,7 +3441,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/sanitizer.js
|
||||
* Bootstrap (v5.2.0): util/sanitizer.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -3445,14 +3450,14 @@
|
|||
/**
|
||||
* A pattern that recognizes a commonly useful subset of URLs that are safe.
|
||||
*
|
||||
* Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
|
||||
* Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
|
||||
*/
|
||||
|
||||
const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;
|
||||
/**
|
||||
* A pattern that matches safe data URLs. Only matches image, video and audio types.
|
||||
*
|
||||
* Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
|
||||
* Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
|
||||
*/
|
||||
|
||||
const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
|
||||
|
|
@ -3541,7 +3546,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/template-factory.js
|
||||
* Bootstrap (v5.2.0): util/template-factory.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -3551,27 +3556,27 @@
|
|||
|
||||
const NAME$5 = 'TemplateFactory';
|
||||
const Default$4 = {
|
||||
extraClass: '',
|
||||
template: '<div></div>',
|
||||
allowList: DefaultAllowlist,
|
||||
content: {},
|
||||
// { selector : text , selector2 : text2 , }
|
||||
extraClass: '',
|
||||
html: false,
|
||||
sanitize: true,
|
||||
sanitizeFn: null,
|
||||
allowList: DefaultAllowlist
|
||||
template: '<div></div>'
|
||||
};
|
||||
const DefaultType$4 = {
|
||||
extraClass: '(string|function)',
|
||||
template: 'string',
|
||||
allowList: 'object',
|
||||
content: 'object',
|
||||
extraClass: '(string|function)',
|
||||
html: 'boolean',
|
||||
sanitize: 'boolean',
|
||||
sanitizeFn: '(null|function)',
|
||||
allowList: 'object'
|
||||
template: 'string'
|
||||
};
|
||||
const DefaultContentType = {
|
||||
selector: '(string|element)',
|
||||
entry: '(string|element|function|null)'
|
||||
entry: '(string|element|function|null)',
|
||||
selector: '(string|element)'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -3699,7 +3704,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): tooltip.js
|
||||
* Bootstrap (v5.2.0): tooltip.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -3737,42 +3742,42 @@
|
|||
LEFT: isRTL() ? 'right' : 'left'
|
||||
};
|
||||
const Default$3 = {
|
||||
allowList: DefaultAllowlist,
|
||||
animation: true,
|
||||
template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div>' + '</div>',
|
||||
trigger: 'hover focus',
|
||||
title: '',
|
||||
delay: 0,
|
||||
html: false,
|
||||
selector: false,
|
||||
placement: 'top',
|
||||
offset: [0, 0],
|
||||
container: false,
|
||||
fallbackPlacements: ['top', 'right', 'bottom', 'left'],
|
||||
boundary: 'clippingParents',
|
||||
container: false,
|
||||
customClass: '',
|
||||
delay: 0,
|
||||
fallbackPlacements: ['top', 'right', 'bottom', 'left'],
|
||||
html: false,
|
||||
offset: [0, 0],
|
||||
placement: 'top',
|
||||
popperConfig: null,
|
||||
sanitize: true,
|
||||
sanitizeFn: null,
|
||||
allowList: DefaultAllowlist,
|
||||
popperConfig: null
|
||||
selector: false,
|
||||
template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div>' + '</div>',
|
||||
title: '',
|
||||
trigger: 'hover focus'
|
||||
};
|
||||
const DefaultType$3 = {
|
||||
allowList: 'object',
|
||||
animation: 'boolean',
|
||||
template: 'string',
|
||||
title: '(string|element|function)',
|
||||
trigger: 'string',
|
||||
delay: '(number|object)',
|
||||
html: 'boolean',
|
||||
selector: '(string|boolean)',
|
||||
placement: '(string|function)',
|
||||
offset: '(array|string|function)',
|
||||
container: '(string|element|boolean)',
|
||||
fallbackPlacements: 'array',
|
||||
boundary: '(string|element)',
|
||||
container: '(string|element|boolean)',
|
||||
customClass: '(string|function)',
|
||||
delay: '(number|object)',
|
||||
fallbackPlacements: 'array',
|
||||
html: 'boolean',
|
||||
offset: '(array|string|function)',
|
||||
placement: '(string|function)',
|
||||
popperConfig: '(null|object|function)',
|
||||
sanitize: 'boolean',
|
||||
sanitizeFn: '(null|function)',
|
||||
allowList: 'object',
|
||||
popperConfig: '(null|object|function)'
|
||||
selector: '(string|boolean)',
|
||||
template: 'string',
|
||||
title: '(string|element|function)',
|
||||
trigger: 'string'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -3791,7 +3796,8 @@
|
|||
this._isHovered = false;
|
||||
this._activeTrigger = {};
|
||||
this._popper = null;
|
||||
this._templateFactory = null; // Protected
|
||||
this._templateFactory = null;
|
||||
this._newContent = null; // Protected
|
||||
|
||||
this.tip = null;
|
||||
|
||||
|
|
@ -3881,6 +3887,12 @@
|
|||
|
||||
if (showEvent.defaultPrevented || !isInTheDom) {
|
||||
return;
|
||||
} // todo v6 remove this OR make it optional
|
||||
|
||||
|
||||
if (this.tip) {
|
||||
this.tip.remove();
|
||||
this.tip = null;
|
||||
}
|
||||
|
||||
const tip = this._getTipElement();
|
||||
|
|
@ -3899,7 +3911,7 @@
|
|||
if (this._popper) {
|
||||
this._popper.update();
|
||||
} else {
|
||||
this._createPopper(tip);
|
||||
this._popper = this._createPopper(tip);
|
||||
}
|
||||
|
||||
tip.classList.add(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we add extra
|
||||
|
|
@ -3985,7 +3997,7 @@
|
|||
|
||||
_getTipElement() {
|
||||
if (!this.tip) {
|
||||
this.tip = this._createTipElement(this._getContentForTemplate());
|
||||
this.tip = this._createTipElement(this._newContent || this._getContentForTemplate());
|
||||
}
|
||||
|
||||
return this.tip;
|
||||
|
|
@ -4013,19 +4025,11 @@
|
|||
}
|
||||
|
||||
setContent(content) {
|
||||
let isShown = false;
|
||||
this._newContent = content;
|
||||
|
||||
if (this.tip) {
|
||||
isShown = this._isShown();
|
||||
this.tip.remove();
|
||||
this.tip = null;
|
||||
}
|
||||
if (this._isShown()) {
|
||||
this._disposePopper();
|
||||
|
||||
this._disposePopper();
|
||||
|
||||
this.tip = this._createTipElement(content);
|
||||
|
||||
if (isShown) {
|
||||
this.show();
|
||||
}
|
||||
}
|
||||
|
|
@ -4052,7 +4056,7 @@
|
|||
}
|
||||
|
||||
_getTitle() {
|
||||
return this._config.title;
|
||||
return this._resolvePossibleFunction(this._config.title) || this._config.originalTitle;
|
||||
} // Private
|
||||
|
||||
|
||||
|
|
@ -4071,7 +4075,7 @@
|
|||
_createPopper(tip) {
|
||||
const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement;
|
||||
const attachment = AttachmentMap[placement.toUpperCase()];
|
||||
this._popper = Popper__namespace.createPopper(this._element, tip, this._getPopperConfig(attachment));
|
||||
return Popper__namespace.createPopper(this._element, tip, this._getPopperConfig(attachment));
|
||||
}
|
||||
|
||||
_getOffset() {
|
||||
|
|
@ -4184,7 +4188,7 @@
|
|||
return;
|
||||
}
|
||||
|
||||
if (!this._element.getAttribute('aria-label') && !this._element.textContent) {
|
||||
if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {
|
||||
this._element.setAttribute('aria-label', title);
|
||||
}
|
||||
|
||||
|
|
@ -4260,7 +4264,6 @@
|
|||
}
|
||||
|
||||
config.originalTitle = this._element.getAttribute('title') || '';
|
||||
config.title = this._resolvePossibleFunction(config.title) || config.originalTitle;
|
||||
|
||||
if (typeof config.title === 'number') {
|
||||
config.title = config.title.toString();
|
||||
|
|
@ -4323,7 +4326,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): popover.js
|
||||
* Bootstrap (v5.2.0): popover.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -4335,11 +4338,11 @@
|
|||
const SELECTOR_TITLE = '.popover-header';
|
||||
const SELECTOR_CONTENT = '.popover-body';
|
||||
const Default$2 = { ...Tooltip.Default,
|
||||
placement: 'right',
|
||||
offset: [0, 8],
|
||||
trigger: 'click',
|
||||
content: '',
|
||||
template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>'
|
||||
offset: [0, 8],
|
||||
placement: 'right',
|
||||
template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>',
|
||||
trigger: 'click'
|
||||
};
|
||||
const DefaultType$2 = { ...Tooltip.DefaultType,
|
||||
content: '(null|string|element|function)'
|
||||
|
|
@ -4406,7 +4409,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): scrollspy.js
|
||||
* Bootstrap (v5.2.0): scrollspy.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -4526,7 +4529,8 @@
|
|||
|
||||
if (root.scrollTo) {
|
||||
root.scrollTo({
|
||||
top: height
|
||||
top: height,
|
||||
behavior: 'smooth'
|
||||
});
|
||||
return;
|
||||
} // Chrome 60 doesn't support `scrollTo`
|
||||
|
|
@ -4692,7 +4696,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): tab.js
|
||||
* Bootstrap (v5.2.0): tab.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -4793,15 +4797,9 @@
|
|||
this._activate(getElementFromSelector(element)); // Search and activate/show the proper section
|
||||
|
||||
|
||||
const isAnimated = element.classList.contains(CLASS_NAME_FADE$1);
|
||||
|
||||
const complete = () => {
|
||||
if (isAnimated) {
|
||||
// todo: maybe is redundant
|
||||
element.classList.add(CLASS_NAME_SHOW$1);
|
||||
}
|
||||
|
||||
if (element.getAttribute('role') !== 'tab') {
|
||||
element.classList.add(CLASS_NAME_SHOW$1);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -4816,7 +4814,7 @@
|
|||
});
|
||||
};
|
||||
|
||||
this._queueCallback(complete, element, isAnimated);
|
||||
this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1));
|
||||
}
|
||||
|
||||
_deactivate(element, relatedElem) {
|
||||
|
|
@ -4830,15 +4828,9 @@
|
|||
this._deactivate(getElementFromSelector(element)); // Search and deactivate the shown section too
|
||||
|
||||
|
||||
const isAnimated = element.classList.contains(CLASS_NAME_FADE$1);
|
||||
|
||||
const complete = () => {
|
||||
if (isAnimated) {
|
||||
// todo maybe is redundant
|
||||
element.classList.remove(CLASS_NAME_SHOW$1);
|
||||
}
|
||||
|
||||
if (element.getAttribute('role') !== 'tab') {
|
||||
element.classList.remove(CLASS_NAME_SHOW$1);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -4852,7 +4844,7 @@
|
|||
});
|
||||
};
|
||||
|
||||
this._queueCallback(complete, element, isAnimated);
|
||||
this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1));
|
||||
}
|
||||
|
||||
_keydown(event) {
|
||||
|
|
@ -5017,7 +5009,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): toast.js
|
||||
* Bootstrap (v5.2.0): toast.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -5234,7 +5226,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): index.umd.js
|
||||
* Bootstrap (v5.2.0): index.umd.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
|
|||
BIN
dist/js/bootstrap.js.map
vendored
BIN
dist/js/bootstrap.js.map
vendored
Binary file not shown.
4
dist/js/bootstrap.min.js
vendored
4
dist/js/bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
BIN
dist/js/bootstrap.min.js.map
vendored
BIN
dist/js/bootstrap.min.js.map
vendored
Binary file not shown.
4
js/dist/alert.js
vendored
4
js/dist/alert.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap alert.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap alert.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): alert.js
|
||||
* Bootstrap (v5.2.0): alert.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
|
|||
BIN
js/dist/alert.js.map
vendored
BIN
js/dist/alert.js.map
vendored
Binary file not shown.
6
js/dist/base-component.js
vendored
6
js/dist/base-component.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap base-component.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap base-component.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): base-component.js
|
||||
* Bootstrap (v5.2.0): base-component.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -25,7 +25,7 @@
|
|||
* Constants
|
||||
*/
|
||||
|
||||
const VERSION = '5.2.0-beta1';
|
||||
const VERSION = '5.2.0';
|
||||
/**
|
||||
* Class definition
|
||||
*/
|
||||
|
|
|
|||
BIN
js/dist/base-component.js.map
vendored
BIN
js/dist/base-component.js.map
vendored
Binary file not shown.
4
js/dist/button.js
vendored
4
js/dist/button.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap button.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap button.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): button.js
|
||||
* Bootstrap (v5.2.0): button.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
|
|||
BIN
js/dist/button.js.map
vendored
BIN
js/dist/button.js.map
vendored
Binary file not shown.
7
js/dist/carousel.js
vendored
7
js/dist/carousel.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap carousel.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap carousel.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): carousel.js
|
||||
* Bootstrap (v5.2.0): carousel.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -75,9 +75,10 @@
|
|||
};
|
||||
const DefaultType = {
|
||||
interval: '(number|boolean)',
|
||||
// TODO:v6 remove boolean support
|
||||
keyboard: 'boolean',
|
||||
ride: '(boolean|string)',
|
||||
pause: '(string|boolean)',
|
||||
ride: '(boolean|string)',
|
||||
touch: 'boolean',
|
||||
wrap: 'boolean'
|
||||
};
|
||||
|
|
|
|||
BIN
js/dist/carousel.js.map
vendored
BIN
js/dist/carousel.js.map
vendored
Binary file not shown.
12
js/dist/collapse.js
vendored
12
js/dist/collapse.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap collapse.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap collapse.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): collapse.js
|
||||
* Bootstrap (v5.2.0): collapse.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -45,12 +45,12 @@
|
|||
const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
|
||||
const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="collapse"]';
|
||||
const Default = {
|
||||
toggle: true,
|
||||
parent: null
|
||||
parent: null,
|
||||
toggle: true
|
||||
};
|
||||
const DefaultType = {
|
||||
toggle: 'boolean',
|
||||
parent: '(null|element)'
|
||||
parent: '(null|element)',
|
||||
toggle: 'boolean'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
|
|||
BIN
js/dist/collapse.js.map
vendored
BIN
js/dist/collapse.js.map
vendored
Binary file not shown.
4
js/dist/dom/data.js
vendored
4
js/dist/dom/data.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap data.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap data.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): dom/data.js
|
||||
* Bootstrap (v5.2.0): dom/data.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
|
|||
BIN
js/dist/dom/data.js.map
vendored
BIN
js/dist/dom/data.js.map
vendored
Binary file not shown.
108
js/dist/dom/event-handler.js
vendored
108
js/dist/dom/event-handler.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap event-handler.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap event-handler.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): dom/event-handler.js
|
||||
* Bootstrap (v5.2.0): dom/event-handler.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -34,12 +34,12 @@
|
|||
* Private methods
|
||||
*/
|
||||
|
||||
function getUidEvent(element, uid) {
|
||||
function makeEventUid(element, uid) {
|
||||
return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++;
|
||||
}
|
||||
|
||||
function getEvent(element) {
|
||||
const uid = getUidEvent(element);
|
||||
function getElementEvents(element) {
|
||||
const uid = makeEventUid(element);
|
||||
element.uidEvent = uid;
|
||||
eventRegistry[uid] = eventRegistry[uid] || {};
|
||||
return eventRegistry[uid];
|
||||
|
|
@ -47,7 +47,9 @@
|
|||
|
||||
function bootstrapHandler(element, fn) {
|
||||
return function handler(event) {
|
||||
event.delegateTarget = element;
|
||||
hydrateObj(event, {
|
||||
delegateTarget: element
|
||||
});
|
||||
|
||||
if (handler.oneOff) {
|
||||
EventHandler.off(element, event.type, fn);
|
||||
|
|
@ -69,7 +71,9 @@
|
|||
continue;
|
||||
}
|
||||
|
||||
event.delegateTarget = target;
|
||||
hydrateObj(event, {
|
||||
delegateTarget: target
|
||||
});
|
||||
|
||||
if (handler.oneOff) {
|
||||
EventHandler.off(element, event.type, selector, fn);
|
||||
|
|
@ -81,20 +85,21 @@
|
|||
};
|
||||
}
|
||||
|
||||
function findHandler(events, handler, delegationSelector = null) {
|
||||
return Object.values(events).find(event => event.originalHandler === handler && event.delegationSelector === delegationSelector);
|
||||
function findHandler(events, callable, delegationSelector = null) {
|
||||
return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector);
|
||||
}
|
||||
|
||||
function normalizeParameters(originalTypeEvent, handler, delegationFunction) {
|
||||
const delegation = typeof handler === 'string';
|
||||
const originalHandler = delegation ? delegationFunction : handler;
|
||||
const isDelegated = typeof handler === 'string'; // todo: tooltip passes `false` instead of selector, so we need to check
|
||||
|
||||
const callable = isDelegated ? delegationFunction : handler || delegationFunction;
|
||||
let typeEvent = getTypeEvent(originalTypeEvent);
|
||||
|
||||
if (!nativeEvents.has(typeEvent)) {
|
||||
typeEvent = originalTypeEvent;
|
||||
}
|
||||
|
||||
return [delegation, originalHandler, typeEvent];
|
||||
return [isDelegated, callable, typeEvent];
|
||||
}
|
||||
|
||||
function addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {
|
||||
|
|
@ -102,13 +107,9 @@
|
|||
return;
|
||||
}
|
||||
|
||||
if (!handler) {
|
||||
handler = delegationFunction;
|
||||
delegationFunction = null;
|
||||
} // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position
|
||||
let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position
|
||||
// this prevents the handler from being dispatched the same way as mouseover or mouseout does
|
||||
|
||||
|
||||
if (originalTypeEvent in customEvents) {
|
||||
const wrapFunction = fn => {
|
||||
return function (event) {
|
||||
|
|
@ -118,31 +119,26 @@
|
|||
};
|
||||
};
|
||||
|
||||
if (delegationFunction) {
|
||||
delegationFunction = wrapFunction(delegationFunction);
|
||||
} else {
|
||||
handler = wrapFunction(handler);
|
||||
}
|
||||
callable = wrapFunction(callable);
|
||||
}
|
||||
|
||||
const [delegation, originalHandler, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);
|
||||
const events = getEvent(element);
|
||||
const events = getElementEvents(element);
|
||||
const handlers = events[typeEvent] || (events[typeEvent] = {});
|
||||
const previousFunction = findHandler(handlers, originalHandler, delegation ? handler : null);
|
||||
const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null);
|
||||
|
||||
if (previousFunction) {
|
||||
previousFunction.oneOff = previousFunction.oneOff && oneOff;
|
||||
return;
|
||||
}
|
||||
|
||||
const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''));
|
||||
const fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFunction) : bootstrapHandler(element, handler);
|
||||
fn.delegationSelector = delegation ? handler : null;
|
||||
fn.originalHandler = originalHandler;
|
||||
const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''));
|
||||
const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable);
|
||||
fn.delegationSelector = isDelegated ? handler : null;
|
||||
fn.callable = callable;
|
||||
fn.oneOff = oneOff;
|
||||
fn.uidEvent = uid;
|
||||
handlers[uid] = fn;
|
||||
element.addEventListener(typeEvent, fn, delegation);
|
||||
element.addEventListener(typeEvent, fn, isDelegated);
|
||||
}
|
||||
|
||||
function removeHandler(element, events, typeEvent, handler, delegationSelector) {
|
||||
|
|
@ -162,7 +158,7 @@
|
|||
for (const handlerKey of Object.keys(storeElementEvent)) {
|
||||
if (handlerKey.includes(namespace)) {
|
||||
const event = storeElementEvent[handlerKey];
|
||||
removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
|
||||
removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -187,18 +183,19 @@
|
|||
return;
|
||||
}
|
||||
|
||||
const [delegation, originalHandler, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);
|
||||
const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);
|
||||
const inNamespace = typeEvent !== originalTypeEvent;
|
||||
const events = getEvent(element);
|
||||
const events = getElementEvents(element);
|
||||
const storeElementEvent = events[typeEvent] || {};
|
||||
const isNamespace = originalTypeEvent.startsWith('.');
|
||||
|
||||
if (typeof originalHandler !== 'undefined') {
|
||||
if (typeof callable !== 'undefined') {
|
||||
// Simplest case: handler is passed, remove that listener ONLY.
|
||||
if (!events || !events[typeEvent]) {
|
||||
if (!Object.keys(storeElementEvent).length) {
|
||||
return;
|
||||
}
|
||||
|
||||
removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null);
|
||||
removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -208,14 +205,12 @@
|
|||
}
|
||||
}
|
||||
|
||||
const storeElementEvent = events[typeEvent] || {};
|
||||
|
||||
for (const keyHandlers of Object.keys(storeElementEvent)) {
|
||||
const handlerKey = keyHandlers.replace(stripUidRegex, '');
|
||||
|
||||
if (!inNamespace || originalTypeEvent.includes(handlerKey)) {
|
||||
const event = storeElementEvent[keyHandlers];
|
||||
removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
|
||||
removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -241,21 +236,11 @@
|
|||
defaultPrevented = jQueryEvent.isDefaultPrevented();
|
||||
}
|
||||
|
||||
const evt = new Event(event, {
|
||||
let evt = new Event(event, {
|
||||
bubbles,
|
||||
cancelable: true
|
||||
}); // merge custom information in our event
|
||||
|
||||
if (typeof args !== 'undefined') {
|
||||
for (const key of Object.keys(args)) {
|
||||
Object.defineProperty(evt, key, {
|
||||
get() {
|
||||
return args[key];
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
evt = hydrateObj(evt, args);
|
||||
|
||||
if (defaultPrevented) {
|
||||
evt.preventDefault();
|
||||
|
|
@ -274,6 +259,25 @@
|
|||
|
||||
};
|
||||
|
||||
function hydrateObj(obj, meta) {
|
||||
for (const [key, value] of Object.entries(meta || {})) {
|
||||
try {
|
||||
obj[key] = value;
|
||||
} catch (_unused) {
|
||||
Object.defineProperty(obj, key, {
|
||||
configurable: true,
|
||||
|
||||
get() {
|
||||
return value;
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
return EventHandler;
|
||||
|
||||
}));
|
||||
|
|
|
|||
BIN
js/dist/dom/event-handler.js.map
vendored
BIN
js/dist/dom/event-handler.js.map
vendored
Binary file not shown.
4
js/dist/dom/manipulator.js
vendored
4
js/dist/dom/manipulator.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap manipulator.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap manipulator.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): dom/manipulator.js
|
||||
* Bootstrap (v5.2.0): dom/manipulator.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
|
|||
BIN
js/dist/dom/manipulator.js.map
vendored
BIN
js/dist/dom/manipulator.js.map
vendored
Binary file not shown.
4
js/dist/dom/selector-engine.js
vendored
4
js/dist/dom/selector-engine.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap selector-engine.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap selector-engine.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): dom/selector-engine.js
|
||||
* Bootstrap (v5.2.0): dom/selector-engine.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
|
|||
BIN
js/dist/dom/selector-engine.js.map
vendored
BIN
js/dist/dom/selector-engine.js.map
vendored
Binary file not shown.
16
js/dist/dropdown.js
vendored
16
js/dist/dropdown.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap dropdown.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap dropdown.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): dropdown.js
|
||||
* Bootstrap (v5.2.0): dropdown.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -83,20 +83,20 @@
|
|||
const PLACEMENT_TOPCENTER = 'top';
|
||||
const PLACEMENT_BOTTOMCENTER = 'bottom';
|
||||
const Default = {
|
||||
offset: [0, 2],
|
||||
autoClose: true,
|
||||
boundary: 'clippingParents',
|
||||
reference: 'toggle',
|
||||
display: 'dynamic',
|
||||
offset: [0, 2],
|
||||
popperConfig: null,
|
||||
autoClose: true
|
||||
reference: 'toggle'
|
||||
};
|
||||
const DefaultType = {
|
||||
offset: '(array|string|function)',
|
||||
autoClose: '(boolean|string)',
|
||||
boundary: '(string|element)',
|
||||
reference: '(string|element|object)',
|
||||
display: 'string',
|
||||
offset: '(array|string|function)',
|
||||
popperConfig: '(null|object|function)',
|
||||
autoClose: '(boolean|string)'
|
||||
reference: '(string|element|object)'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
|
|||
BIN
js/dist/dropdown.js.map
vendored
BIN
js/dist/dropdown.js.map
vendored
Binary file not shown.
16
js/dist/modal.js
vendored
16
js/dist/modal.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap modal.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap modal.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): modal.js
|
||||
* Bootstrap (v5.2.0): modal.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -39,7 +39,7 @@
|
|||
const EVENT_SHOW = `show${EVENT_KEY}`;
|
||||
const EVENT_SHOWN = `shown${EVENT_KEY}`;
|
||||
const EVENT_RESIZE = `resize${EVENT_KEY}`;
|
||||
const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`;
|
||||
const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`;
|
||||
const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`;
|
||||
const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;
|
||||
const CLASS_NAME_OPEN = 'modal-open';
|
||||
|
|
@ -52,13 +52,13 @@
|
|||
const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="modal"]';
|
||||
const Default = {
|
||||
backdrop: true,
|
||||
keyboard: true,
|
||||
focus: true
|
||||
focus: true,
|
||||
keyboard: true
|
||||
};
|
||||
const DefaultType = {
|
||||
backdrop: '(boolean|string)',
|
||||
keyboard: 'boolean',
|
||||
focus: 'boolean'
|
||||
focus: 'boolean',
|
||||
keyboard: 'boolean'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -230,7 +230,7 @@
|
|||
this._adjustDialog();
|
||||
}
|
||||
});
|
||||
EventHandler__default.default.on(this._element, EVENT_CLICK_DISMISS, event => {
|
||||
EventHandler__default.default.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {
|
||||
if (event.target !== event.currentTarget) {
|
||||
// click is inside modal-dialog
|
||||
return;
|
||||
|
|
|
|||
BIN
js/dist/modal.js.map
vendored
BIN
js/dist/modal.js.map
vendored
Binary file not shown.
6
js/dist/offcanvas.js
vendored
6
js/dist/offcanvas.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap offcanvas.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap offcanvas.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): offcanvas.js
|
||||
* Bootstrap (v5.2.0): offcanvas.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -118,7 +118,7 @@
|
|||
this._element.classList.add(CLASS_NAME_SHOWING);
|
||||
|
||||
const completeCallBack = () => {
|
||||
if (!this._config.scroll) {
|
||||
if (!this._config.scroll || this._config.backdrop) {
|
||||
this._focustrap.activate();
|
||||
}
|
||||
|
||||
|
|
|
|||
BIN
js/dist/offcanvas.js.map
vendored
BIN
js/dist/offcanvas.js.map
vendored
Binary file not shown.
12
js/dist/popover.js
vendored
12
js/dist/popover.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap popover.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap popover.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): popover.js
|
||||
* Bootstrap (v5.2.0): popover.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -27,11 +27,11 @@
|
|||
const SELECTOR_TITLE = '.popover-header';
|
||||
const SELECTOR_CONTENT = '.popover-body';
|
||||
const Default = { ...Tooltip__default.default.Default,
|
||||
placement: 'right',
|
||||
offset: [0, 8],
|
||||
trigger: 'click',
|
||||
content: '',
|
||||
template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>'
|
||||
offset: [0, 8],
|
||||
placement: 'right',
|
||||
template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>',
|
||||
trigger: 'click'
|
||||
};
|
||||
const DefaultType = { ...Tooltip__default.default.DefaultType,
|
||||
content: '(null|string|element|function)'
|
||||
|
|
|
|||
BIN
js/dist/popover.js.map
vendored
BIN
js/dist/popover.js.map
vendored
Binary file not shown.
7
js/dist/scrollspy.js
vendored
7
js/dist/scrollspy.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap scrollspy.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap scrollspy.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): scrollspy.js
|
||||
* Bootstrap (v5.2.0): scrollspy.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -137,7 +137,8 @@
|
|||
|
||||
if (root.scrollTo) {
|
||||
root.scrollTo({
|
||||
top: height
|
||||
top: height,
|
||||
behavior: 'smooth'
|
||||
});
|
||||
return;
|
||||
} // Chrome 60 doesn't support `scrollTo`
|
||||
|
|
|
|||
BIN
js/dist/scrollspy.js.map
vendored
BIN
js/dist/scrollspy.js.map
vendored
Binary file not shown.
24
js/dist/tab.js
vendored
24
js/dist/tab.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap tab.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap tab.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): tab.js
|
||||
* Bootstrap (v5.2.0): tab.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -118,15 +118,9 @@
|
|||
this._activate(index.getElementFromSelector(element)); // Search and activate/show the proper section
|
||||
|
||||
|
||||
const isAnimated = element.classList.contains(CLASS_NAME_FADE);
|
||||
|
||||
const complete = () => {
|
||||
if (isAnimated) {
|
||||
// todo: maybe is redundant
|
||||
element.classList.add(CLASS_NAME_SHOW);
|
||||
}
|
||||
|
||||
if (element.getAttribute('role') !== 'tab') {
|
||||
element.classList.add(CLASS_NAME_SHOW);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -141,7 +135,7 @@
|
|||
});
|
||||
};
|
||||
|
||||
this._queueCallback(complete, element, isAnimated);
|
||||
this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE));
|
||||
}
|
||||
|
||||
_deactivate(element, relatedElem) {
|
||||
|
|
@ -155,15 +149,9 @@
|
|||
this._deactivate(index.getElementFromSelector(element)); // Search and deactivate the shown section too
|
||||
|
||||
|
||||
const isAnimated = element.classList.contains(CLASS_NAME_FADE);
|
||||
|
||||
const complete = () => {
|
||||
if (isAnimated) {
|
||||
// todo maybe is redundant
|
||||
element.classList.remove(CLASS_NAME_SHOW);
|
||||
}
|
||||
|
||||
if (element.getAttribute('role') !== 'tab') {
|
||||
element.classList.remove(CLASS_NAME_SHOW);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -177,7 +165,7 @@
|
|||
});
|
||||
};
|
||||
|
||||
this._queueCallback(complete, element, isAnimated);
|
||||
this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE));
|
||||
}
|
||||
|
||||
_keydown(event) {
|
||||
|
|
|
|||
BIN
js/dist/tab.js.map
vendored
BIN
js/dist/tab.js.map
vendored
Binary file not shown.
4
js/dist/toast.js
vendored
4
js/dist/toast.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap toast.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap toast.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): toast.js
|
||||
* Bootstrap (v5.2.0): toast.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
|
|||
BIN
js/dist/toast.js.map
vendored
BIN
js/dist/toast.js.map
vendored
Binary file not shown.
86
js/dist/tooltip.js
vendored
86
js/dist/tooltip.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap tooltip.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap tooltip.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): tooltip.js
|
||||
* Bootstrap (v5.2.0): tooltip.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -75,42 +75,42 @@
|
|||
LEFT: index.isRTL() ? 'right' : 'left'
|
||||
};
|
||||
const Default = {
|
||||
allowList: sanitizer.DefaultAllowlist,
|
||||
animation: true,
|
||||
template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div>' + '</div>',
|
||||
trigger: 'hover focus',
|
||||
title: '',
|
||||
delay: 0,
|
||||
html: false,
|
||||
selector: false,
|
||||
placement: 'top',
|
||||
offset: [0, 0],
|
||||
container: false,
|
||||
fallbackPlacements: ['top', 'right', 'bottom', 'left'],
|
||||
boundary: 'clippingParents',
|
||||
container: false,
|
||||
customClass: '',
|
||||
delay: 0,
|
||||
fallbackPlacements: ['top', 'right', 'bottom', 'left'],
|
||||
html: false,
|
||||
offset: [0, 0],
|
||||
placement: 'top',
|
||||
popperConfig: null,
|
||||
sanitize: true,
|
||||
sanitizeFn: null,
|
||||
allowList: sanitizer.DefaultAllowlist,
|
||||
popperConfig: null
|
||||
selector: false,
|
||||
template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div>' + '</div>',
|
||||
title: '',
|
||||
trigger: 'hover focus'
|
||||
};
|
||||
const DefaultType = {
|
||||
allowList: 'object',
|
||||
animation: 'boolean',
|
||||
template: 'string',
|
||||
title: '(string|element|function)',
|
||||
trigger: 'string',
|
||||
delay: '(number|object)',
|
||||
html: 'boolean',
|
||||
selector: '(string|boolean)',
|
||||
placement: '(string|function)',
|
||||
offset: '(array|string|function)',
|
||||
container: '(string|element|boolean)',
|
||||
fallbackPlacements: 'array',
|
||||
boundary: '(string|element)',
|
||||
container: '(string|element|boolean)',
|
||||
customClass: '(string|function)',
|
||||
delay: '(number|object)',
|
||||
fallbackPlacements: 'array',
|
||||
html: 'boolean',
|
||||
offset: '(array|string|function)',
|
||||
placement: '(string|function)',
|
||||
popperConfig: '(null|object|function)',
|
||||
sanitize: 'boolean',
|
||||
sanitizeFn: '(null|function)',
|
||||
allowList: 'object',
|
||||
popperConfig: '(null|object|function)'
|
||||
selector: '(string|boolean)',
|
||||
template: 'string',
|
||||
title: '(string|element|function)',
|
||||
trigger: 'string'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
@ -129,7 +129,8 @@
|
|||
this._isHovered = false;
|
||||
this._activeTrigger = {};
|
||||
this._popper = null;
|
||||
this._templateFactory = null; // Protected
|
||||
this._templateFactory = null;
|
||||
this._newContent = null; // Protected
|
||||
|
||||
this.tip = null;
|
||||
|
||||
|
|
@ -219,6 +220,12 @@
|
|||
|
||||
if (showEvent.defaultPrevented || !isInTheDom) {
|
||||
return;
|
||||
} // todo v6 remove this OR make it optional
|
||||
|
||||
|
||||
if (this.tip) {
|
||||
this.tip.remove();
|
||||
this.tip = null;
|
||||
}
|
||||
|
||||
const tip = this._getTipElement();
|
||||
|
|
@ -237,7 +244,7 @@
|
|||
if (this._popper) {
|
||||
this._popper.update();
|
||||
} else {
|
||||
this._createPopper(tip);
|
||||
this._popper = this._createPopper(tip);
|
||||
}
|
||||
|
||||
tip.classList.add(CLASS_NAME_SHOW); // If this is a touch-enabled device we add extra
|
||||
|
|
@ -323,7 +330,7 @@
|
|||
|
||||
_getTipElement() {
|
||||
if (!this.tip) {
|
||||
this.tip = this._createTipElement(this._getContentForTemplate());
|
||||
this.tip = this._createTipElement(this._newContent || this._getContentForTemplate());
|
||||
}
|
||||
|
||||
return this.tip;
|
||||
|
|
@ -351,19 +358,11 @@
|
|||
}
|
||||
|
||||
setContent(content) {
|
||||
let isShown = false;
|
||||
this._newContent = content;
|
||||
|
||||
if (this.tip) {
|
||||
isShown = this._isShown();
|
||||
this.tip.remove();
|
||||
this.tip = null;
|
||||
}
|
||||
if (this._isShown()) {
|
||||
this._disposePopper();
|
||||
|
||||
this._disposePopper();
|
||||
|
||||
this.tip = this._createTipElement(content);
|
||||
|
||||
if (isShown) {
|
||||
this.show();
|
||||
}
|
||||
}
|
||||
|
|
@ -390,7 +389,7 @@
|
|||
}
|
||||
|
||||
_getTitle() {
|
||||
return this._config.title;
|
||||
return this._resolvePossibleFunction(this._config.title) || this._config.originalTitle;
|
||||
} // Private
|
||||
|
||||
|
||||
|
|
@ -409,7 +408,7 @@
|
|||
_createPopper(tip) {
|
||||
const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement;
|
||||
const attachment = AttachmentMap[placement.toUpperCase()];
|
||||
this._popper = Popper__namespace.createPopper(this._element, tip, this._getPopperConfig(attachment));
|
||||
return Popper__namespace.createPopper(this._element, tip, this._getPopperConfig(attachment));
|
||||
}
|
||||
|
||||
_getOffset() {
|
||||
|
|
@ -522,7 +521,7 @@
|
|||
return;
|
||||
}
|
||||
|
||||
if (!this._element.getAttribute('aria-label') && !this._element.textContent) {
|
||||
if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {
|
||||
this._element.setAttribute('aria-label', title);
|
||||
}
|
||||
|
||||
|
|
@ -598,7 +597,6 @@
|
|||
}
|
||||
|
||||
config.originalTitle = this._element.getAttribute('title') || '';
|
||||
config.title = this._resolvePossibleFunction(config.title) || config.originalTitle;
|
||||
|
||||
if (typeof config.title === 'number') {
|
||||
config.title = config.title.toString();
|
||||
|
|
|
|||
BIN
js/dist/tooltip.js.map
vendored
BIN
js/dist/tooltip.js.map
vendored
Binary file not shown.
18
js/dist/util/backdrop.js
vendored
18
js/dist/util/backdrop.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap backdrop.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap backdrop.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/backdrop.js
|
||||
* Bootstrap (v5.2.0): util/backdrop.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -30,19 +30,19 @@
|
|||
const EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`;
|
||||
const Default = {
|
||||
className: 'modal-backdrop',
|
||||
clickCallback: null,
|
||||
isAnimated: false,
|
||||
isVisible: true,
|
||||
// if false, we use the backdrop helper without adding any element to the dom
|
||||
isAnimated: false,
|
||||
rootElement: 'body',
|
||||
// give the choice to place backdrop under different elements
|
||||
clickCallback: null
|
||||
rootElement: 'body' // give the choice to place backdrop under different elements
|
||||
|
||||
};
|
||||
const DefaultType = {
|
||||
className: 'string',
|
||||
isVisible: 'boolean',
|
||||
clickCallback: '(function|null)',
|
||||
isAnimated: 'boolean',
|
||||
rootElement: '(element|string)',
|
||||
clickCallback: '(function|null)'
|
||||
isVisible: 'boolean',
|
||||
rootElement: '(element|string)'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
|
|||
BIN
js/dist/util/backdrop.js.map
vendored
BIN
js/dist/util/backdrop.js.map
vendored
Binary file not shown.
4
js/dist/util/component-functions.js
vendored
4
js/dist/util/component-functions.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap component-functions.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap component-functions.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/component-functions.js
|
||||
* Bootstrap (v5.2.0): util/component-functions.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
|
|||
BIN
js/dist/util/component-functions.js.map
vendored
BIN
js/dist/util/component-functions.js.map
vendored
Binary file not shown.
4
js/dist/util/config.js
vendored
4
js/dist/util/config.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap config.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap config.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/config.js
|
||||
* Bootstrap (v5.2.0): util/config.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
|
|||
BIN
js/dist/util/config.js.map
vendored
BIN
js/dist/util/config.js.map
vendored
Binary file not shown.
14
js/dist/util/focustrap.js
vendored
14
js/dist/util/focustrap.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap focustrap.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap focustrap.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/focustrap.js
|
||||
* Bootstrap (v5.2.0): util/focustrap.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -34,13 +34,13 @@
|
|||
const TAB_NAV_FORWARD = 'forward';
|
||||
const TAB_NAV_BACKWARD = 'backward';
|
||||
const Default = {
|
||||
trapElement: null,
|
||||
// The element to trap focus inside of
|
||||
autofocus: true
|
||||
autofocus: true,
|
||||
trapElement: null // The element to trap focus inside of
|
||||
|
||||
};
|
||||
const DefaultType = {
|
||||
trapElement: 'element',
|
||||
autofocus: 'boolean'
|
||||
autofocus: 'boolean',
|
||||
trapElement: 'element'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
|
|||
BIN
js/dist/util/focustrap.js.map
vendored
BIN
js/dist/util/focustrap.js.map
vendored
Binary file not shown.
6
js/dist/util/index.js
vendored
6
js/dist/util/index.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap index.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap index.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -11,13 +11,13 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/index.js
|
||||
* Bootstrap (v5.2.0): util/index.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
const MAX_UID = 1000000;
|
||||
const MILLISECONDS_MULTIPLIER = 1000;
|
||||
const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
||||
const TRANSITION_END = 'transitionend'; // Shout-out Angus Croll (https://goo.gl/pxwQGp)
|
||||
|
||||
const toType = object => {
|
||||
if (object === null || object === undefined) {
|
||||
|
|
|
|||
BIN
js/dist/util/index.js.map
vendored
BIN
js/dist/util/index.js.map
vendored
Binary file not shown.
8
js/dist/util/sanitizer.js
vendored
8
js/dist/util/sanitizer.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap sanitizer.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap sanitizer.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/sanitizer.js
|
||||
* Bootstrap (v5.2.0): util/sanitizer.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -20,14 +20,14 @@
|
|||
/**
|
||||
* A pattern that recognizes a commonly useful subset of URLs that are safe.
|
||||
*
|
||||
* Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
|
||||
* Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
|
||||
*/
|
||||
|
||||
const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;
|
||||
/**
|
||||
* A pattern that matches safe data URLs. Only matches image, video and audio types.
|
||||
*
|
||||
* Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
|
||||
* Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
|
||||
*/
|
||||
|
||||
const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
|
||||
|
|
|
|||
BIN
js/dist/util/sanitizer.js.map
vendored
BIN
js/dist/util/sanitizer.js.map
vendored
Binary file not shown.
4
js/dist/util/scrollbar.js
vendored
4
js/dist/util/scrollbar.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap scrollbar.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap scrollbar.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/scrollBar.js
|
||||
* Bootstrap (v5.2.0): util/scrollBar.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
|
|||
BIN
js/dist/util/scrollbar.js.map
vendored
BIN
js/dist/util/scrollbar.js.map
vendored
Binary file not shown.
12
js/dist/util/swipe.js
vendored
12
js/dist/util/swipe.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap swipe.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap swipe.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/swipe.js
|
||||
* Bootstrap (v5.2.0): util/swipe.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -36,14 +36,14 @@
|
|||
const CLASS_NAME_POINTER_EVENT = 'pointer-event';
|
||||
const SWIPE_THRESHOLD = 40;
|
||||
const Default = {
|
||||
endCallback: null,
|
||||
leftCallback: null,
|
||||
rightCallback: null,
|
||||
endCallback: null
|
||||
rightCallback: null
|
||||
};
|
||||
const DefaultType = {
|
||||
endCallback: '(function|null)',
|
||||
leftCallback: '(function|null)',
|
||||
rightCallback: '(function|null)',
|
||||
endCallback: '(function|null)'
|
||||
rightCallback: '(function|null)'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
|
|||
BIN
js/dist/util/swipe.js.map
vendored
BIN
js/dist/util/swipe.js.map
vendored
Binary file not shown.
20
js/dist/util/template-factory.js
vendored
20
js/dist/util/template-factory.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap template-factory.js v5.2.0-beta1 (https://getbootstrap.com/)
|
||||
* Bootstrap template-factory.js v5.2.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): util/template-factory.js
|
||||
* Bootstrap (v5.2.0): util/template-factory.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -26,27 +26,27 @@
|
|||
|
||||
const NAME = 'TemplateFactory';
|
||||
const Default = {
|
||||
extraClass: '',
|
||||
template: '<div></div>',
|
||||
allowList: sanitizer.DefaultAllowlist,
|
||||
content: {},
|
||||
// { selector : text , selector2 : text2 , }
|
||||
extraClass: '',
|
||||
html: false,
|
||||
sanitize: true,
|
||||
sanitizeFn: null,
|
||||
allowList: sanitizer.DefaultAllowlist
|
||||
template: '<div></div>'
|
||||
};
|
||||
const DefaultType = {
|
||||
extraClass: '(string|function)',
|
||||
template: 'string',
|
||||
allowList: 'object',
|
||||
content: 'object',
|
||||
extraClass: '(string|function)',
|
||||
html: 'boolean',
|
||||
sanitize: 'boolean',
|
||||
sanitizeFn: '(null|function)',
|
||||
allowList: 'object'
|
||||
template: 'string'
|
||||
};
|
||||
const DefaultContentType = {
|
||||
selector: '(string|element)',
|
||||
entry: '(string|element|function|null)'
|
||||
entry: '(string|element|function|null)',
|
||||
selector: '(string|element)'
|
||||
};
|
||||
/**
|
||||
* Class definition
|
||||
|
|
|
|||
BIN
js/dist/util/template-factory.js.map
vendored
BIN
js/dist/util/template-factory.js.map
vendored
Binary file not shown.
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): index.esm.js
|
||||
* Bootstrap (v5.2.0): index.esm.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v5.2.0-beta1): index.umd.js
|
||||
* Bootstrap (v5.2.0): index.umd.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue