@openeuropa/bcl-theme-joinup 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/css/oe-bcl-joinup.css +12 -165
- package/css/oe-bcl-joinup.css.map +1 -1
- package/css/oe-bcl-joinup.min.css +1 -1
- package/css/oe-bcl-joinup.min.css.map +1 -1
- package/icons/bcl-default-icons.svg +1 -1
- package/icons/bootstrap-icons.svg +1 -1
- package/icons/icons-flag.svg +1 -1
- package/js/oe-bcl-joinup.bundle.js +470 -201
- package/js/oe-bcl-joinup.bundle.js.map +1 -1
- package/js/oe-bcl-joinup.bundle.min.js +1 -1
- package/js/oe-bcl-joinup.bundle.min.js.map +1 -1
- package/js/oe-bcl-joinup.esm.js +467 -198
- package/js/oe-bcl-joinup.esm.js.map +1 -1
- package/js/oe-bcl-joinup.esm.min.js +1 -1
- package/js/oe-bcl-joinup.esm.min.js.map +1 -1
- package/js/oe-bcl-joinup.umd.js +470 -201
- package/js/oe-bcl-joinup.umd.js.map +1 -1
- package/js/oe-bcl-joinup.umd.min.js +1 -1
- package/js/oe-bcl-joinup.umd.min.js.map +1 -1
- package/package.json +13 -13
- package/src/js/index.esm.js +3 -1
- package/src/js/index.umd.js +3 -1
- package/templates/bcl-badge/badge.html.twig +2 -1
- package/templates/bcl-offcanvas/offcanvas.html.twig +1 -0
package/js/oe-bcl-joinup.umd.js
CHANGED
|
@@ -551,7 +551,7 @@
|
|
|
551
551
|
* --------------------------------------------------------------------------
|
|
552
552
|
*/
|
|
553
553
|
|
|
554
|
-
function normalizeData(value) {
|
|
554
|
+
function normalizeData$1(value) {
|
|
555
555
|
if (value === 'true') {
|
|
556
556
|
return true;
|
|
557
557
|
}
|
|
@@ -573,15 +573,15 @@
|
|
|
573
573
|
return value;
|
|
574
574
|
}
|
|
575
575
|
}
|
|
576
|
-
function normalizeDataKey(key) {
|
|
576
|
+
function normalizeDataKey$1(key) {
|
|
577
577
|
return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`);
|
|
578
578
|
}
|
|
579
|
-
const Manipulator = {
|
|
579
|
+
const Manipulator$1 = {
|
|
580
580
|
setDataAttribute(element, key, value) {
|
|
581
|
-
element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value);
|
|
581
|
+
element.setAttribute(`data-bs-${normalizeDataKey$1(key)}`, value);
|
|
582
582
|
},
|
|
583
583
|
removeDataAttribute(element, key) {
|
|
584
|
-
element.removeAttribute(`data-bs-${normalizeDataKey(key)}`);
|
|
584
|
+
element.removeAttribute(`data-bs-${normalizeDataKey$1(key)}`);
|
|
585
585
|
},
|
|
586
586
|
getDataAttributes(element) {
|
|
587
587
|
if (!element) {
|
|
@@ -592,12 +592,12 @@
|
|
|
592
592
|
for (const key of bsKeys) {
|
|
593
593
|
let pureKey = key.replace(/^bs/, '');
|
|
594
594
|
pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);
|
|
595
|
-
attributes[pureKey] = normalizeData(element.dataset[key]);
|
|
595
|
+
attributes[pureKey] = normalizeData$1(element.dataset[key]);
|
|
596
596
|
}
|
|
597
597
|
return attributes;
|
|
598
598
|
},
|
|
599
599
|
getDataAttribute(element, key) {
|
|
600
|
-
return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`));
|
|
600
|
+
return normalizeData$1(element.getAttribute(`data-bs-${normalizeDataKey$1(key)}`));
|
|
601
601
|
}
|
|
602
602
|
};
|
|
603
603
|
|
|
@@ -633,12 +633,12 @@
|
|
|
633
633
|
return config;
|
|
634
634
|
}
|
|
635
635
|
_mergeConfigObj(config, element) {
|
|
636
|
-
const jsonConfig = isElement$1(element) ? Manipulator.getDataAttribute(element, 'config') : {}; // try to parse
|
|
636
|
+
const jsonConfig = isElement$1(element) ? Manipulator$1.getDataAttribute(element, 'config') : {}; // try to parse
|
|
637
637
|
|
|
638
638
|
return {
|
|
639
639
|
...this.constructor.Default,
|
|
640
640
|
...(typeof jsonConfig === 'object' ? jsonConfig : {}),
|
|
641
|
-
...(isElement$1(element) ? Manipulator.getDataAttributes(element) : {}),
|
|
641
|
+
...(isElement$1(element) ? Manipulator$1.getDataAttributes(element) : {}),
|
|
642
642
|
...(typeof config === 'object' ? config : {})
|
|
643
643
|
};
|
|
644
644
|
}
|
|
@@ -757,11 +757,11 @@
|
|
|
757
757
|
* Constants
|
|
758
758
|
*/
|
|
759
759
|
|
|
760
|
-
const NAME$
|
|
761
|
-
const DATA_KEY$
|
|
762
|
-
const EVENT_KEY$
|
|
763
|
-
const EVENT_CLOSE = `close${EVENT_KEY$
|
|
764
|
-
const EVENT_CLOSED = `closed${EVENT_KEY$
|
|
760
|
+
const NAME$h = 'alert';
|
|
761
|
+
const DATA_KEY$c = 'bs.alert';
|
|
762
|
+
const EVENT_KEY$d = `.${DATA_KEY$c}`;
|
|
763
|
+
const EVENT_CLOSE = `close${EVENT_KEY$d}`;
|
|
764
|
+
const EVENT_CLOSED = `closed${EVENT_KEY$d}`;
|
|
765
765
|
const CLASS_NAME_FADE$5 = 'fade';
|
|
766
766
|
const CLASS_NAME_SHOW$8 = 'show';
|
|
767
767
|
|
|
@@ -772,7 +772,7 @@
|
|
|
772
772
|
class Alert extends BaseComponent {
|
|
773
773
|
// Getters
|
|
774
774
|
static get NAME() {
|
|
775
|
-
return NAME$
|
|
775
|
+
return NAME$h;
|
|
776
776
|
}
|
|
777
777
|
|
|
778
778
|
// Public
|
|
@@ -831,13 +831,13 @@
|
|
|
831
831
|
* Constants
|
|
832
832
|
*/
|
|
833
833
|
|
|
834
|
-
const NAME$
|
|
835
|
-
const DATA_KEY$
|
|
836
|
-
const EVENT_KEY$
|
|
837
|
-
const DATA_API_KEY$
|
|
838
|
-
const CLASS_NAME_ACTIVE$
|
|
834
|
+
const NAME$g = 'button';
|
|
835
|
+
const DATA_KEY$b = 'bs.button';
|
|
836
|
+
const EVENT_KEY$c = `.${DATA_KEY$b}`;
|
|
837
|
+
const DATA_API_KEY$8 = '.data-api';
|
|
838
|
+
const CLASS_NAME_ACTIVE$4 = 'active';
|
|
839
839
|
const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="button"]';
|
|
840
|
-
const EVENT_CLICK_DATA_API$7 = `click${EVENT_KEY$
|
|
840
|
+
const EVENT_CLICK_DATA_API$7 = `click${EVENT_KEY$c}${DATA_API_KEY$8}`;
|
|
841
841
|
|
|
842
842
|
/**
|
|
843
843
|
* Class definition
|
|
@@ -846,13 +846,13 @@
|
|
|
846
846
|
class Button extends BaseComponent {
|
|
847
847
|
// Getters
|
|
848
848
|
static get NAME() {
|
|
849
|
-
return NAME$
|
|
849
|
+
return NAME$g;
|
|
850
850
|
}
|
|
851
851
|
|
|
852
852
|
// Public
|
|
853
853
|
toggle() {
|
|
854
854
|
// Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method
|
|
855
|
-
this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$
|
|
855
|
+
this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$4));
|
|
856
856
|
}
|
|
857
857
|
|
|
858
858
|
// Static
|
|
@@ -951,18 +951,18 @@
|
|
|
951
951
|
* Constants
|
|
952
952
|
*/
|
|
953
953
|
|
|
954
|
-
const NAME$
|
|
955
|
-
const EVENT_KEY$
|
|
956
|
-
const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$
|
|
957
|
-
const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$
|
|
958
|
-
const EVENT_TOUCHEND = `touchend${EVENT_KEY$
|
|
959
|
-
const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$
|
|
960
|
-
const EVENT_POINTERUP = `pointerup${EVENT_KEY$
|
|
954
|
+
const NAME$f = 'swipe';
|
|
955
|
+
const EVENT_KEY$b = '.bs.swipe';
|
|
956
|
+
const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$b}`;
|
|
957
|
+
const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$b}`;
|
|
958
|
+
const EVENT_TOUCHEND = `touchend${EVENT_KEY$b}`;
|
|
959
|
+
const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$b}`;
|
|
960
|
+
const EVENT_POINTERUP = `pointerup${EVENT_KEY$b}`;
|
|
961
961
|
const POINTER_TYPE_TOUCH = 'touch';
|
|
962
962
|
const POINTER_TYPE_PEN = 'pen';
|
|
963
963
|
const CLASS_NAME_POINTER_EVENT = 'pointer-event';
|
|
964
964
|
const SWIPE_THRESHOLD = 40;
|
|
965
|
-
const Default$
|
|
965
|
+
const Default$e = {
|
|
966
966
|
endCallback: null,
|
|
967
967
|
leftCallback: null,
|
|
968
968
|
rightCallback: null
|
|
@@ -992,18 +992,18 @@
|
|
|
992
992
|
|
|
993
993
|
// Getters
|
|
994
994
|
static get Default() {
|
|
995
|
-
return Default$
|
|
995
|
+
return Default$e;
|
|
996
996
|
}
|
|
997
997
|
static get DefaultType() {
|
|
998
998
|
return DefaultType$c;
|
|
999
999
|
}
|
|
1000
1000
|
static get NAME() {
|
|
1001
|
-
return NAME$
|
|
1001
|
+
return NAME$f;
|
|
1002
1002
|
}
|
|
1003
1003
|
|
|
1004
1004
|
// Public
|
|
1005
1005
|
dispose() {
|
|
1006
|
-
EventHandler.off(this._element, EVENT_KEY$
|
|
1006
|
+
EventHandler.off(this._element, EVENT_KEY$b);
|
|
1007
1007
|
}
|
|
1008
1008
|
|
|
1009
1009
|
// Private
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
* Constants
|
|
1071
1071
|
*/
|
|
1072
1072
|
|
|
1073
|
-
const NAME$
|
|
1074
|
-
const DATA_KEY$
|
|
1075
|
-
const EVENT_KEY$
|
|
1076
|
-
const DATA_API_KEY$
|
|
1073
|
+
const NAME$e = 'carousel';
|
|
1074
|
+
const DATA_KEY$a = 'bs.carousel';
|
|
1075
|
+
const EVENT_KEY$a = `.${DATA_KEY$a}`;
|
|
1076
|
+
const DATA_API_KEY$7 = '.data-api';
|
|
1077
1077
|
const ARROW_LEFT_KEY$1 = 'ArrowLeft';
|
|
1078
1078
|
const ARROW_RIGHT_KEY$1 = 'ArrowRight';
|
|
1079
1079
|
const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
|
|
@@ -1082,16 +1082,16 @@
|
|
|
1082
1082
|
const ORDER_PREV = 'prev';
|
|
1083
1083
|
const DIRECTION_LEFT = 'left';
|
|
1084
1084
|
const DIRECTION_RIGHT = 'right';
|
|
1085
|
-
const EVENT_SLIDE = `slide${EVENT_KEY$
|
|
1086
|
-
const EVENT_SLID = `slid${EVENT_KEY$
|
|
1087
|
-
const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$
|
|
1088
|
-
const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$
|
|
1089
|
-
const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$
|
|
1090
|
-
const EVENT_DRAG_START = `dragstart${EVENT_KEY$
|
|
1091
|
-
const EVENT_LOAD_DATA_API$
|
|
1092
|
-
const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$
|
|
1085
|
+
const EVENT_SLIDE = `slide${EVENT_KEY$a}`;
|
|
1086
|
+
const EVENT_SLID = `slid${EVENT_KEY$a}`;
|
|
1087
|
+
const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$a}`;
|
|
1088
|
+
const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$a}`;
|
|
1089
|
+
const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$a}`;
|
|
1090
|
+
const EVENT_DRAG_START = `dragstart${EVENT_KEY$a}`;
|
|
1091
|
+
const EVENT_LOAD_DATA_API$4 = `load${EVENT_KEY$a}${DATA_API_KEY$7}`;
|
|
1092
|
+
const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$7}`;
|
|
1093
1093
|
const CLASS_NAME_CAROUSEL = 'carousel';
|
|
1094
|
-
const CLASS_NAME_ACTIVE$
|
|
1094
|
+
const CLASS_NAME_ACTIVE$3 = 'active';
|
|
1095
1095
|
const CLASS_NAME_SLIDE = 'slide';
|
|
1096
1096
|
const CLASS_NAME_END = 'carousel-item-end';
|
|
1097
1097
|
const CLASS_NAME_START = 'carousel-item-start';
|
|
@@ -1108,7 +1108,7 @@
|
|
|
1108
1108
|
[ARROW_LEFT_KEY$1]: DIRECTION_RIGHT,
|
|
1109
1109
|
[ARROW_RIGHT_KEY$1]: DIRECTION_LEFT
|
|
1110
1110
|
};
|
|
1111
|
-
const Default$
|
|
1111
|
+
const Default$d = {
|
|
1112
1112
|
interval: 5000,
|
|
1113
1113
|
keyboard: true,
|
|
1114
1114
|
pause: 'hover',
|
|
@@ -1147,13 +1147,13 @@
|
|
|
1147
1147
|
|
|
1148
1148
|
// Getters
|
|
1149
1149
|
static get Default() {
|
|
1150
|
-
return Default$
|
|
1150
|
+
return Default$d;
|
|
1151
1151
|
}
|
|
1152
1152
|
static get DefaultType() {
|
|
1153
1153
|
return DefaultType$b;
|
|
1154
1154
|
}
|
|
1155
1155
|
static get NAME() {
|
|
1156
|
-
return NAME$
|
|
1156
|
+
return NAME$e;
|
|
1157
1157
|
}
|
|
1158
1158
|
|
|
1159
1159
|
// Public
|
|
@@ -1280,11 +1280,11 @@
|
|
|
1280
1280
|
return;
|
|
1281
1281
|
}
|
|
1282
1282
|
const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement);
|
|
1283
|
-
activeIndicator.classList.remove(CLASS_NAME_ACTIVE$
|
|
1283
|
+
activeIndicator.classList.remove(CLASS_NAME_ACTIVE$3);
|
|
1284
1284
|
activeIndicator.removeAttribute('aria-current');
|
|
1285
1285
|
const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to="${index}"]`, this._indicatorsElement);
|
|
1286
1286
|
if (newActiveIndicator) {
|
|
1287
|
-
newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$
|
|
1287
|
+
newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$3);
|
|
1288
1288
|
newActiveIndicator.setAttribute('aria-current', 'true');
|
|
1289
1289
|
}
|
|
1290
1290
|
}
|
|
@@ -1337,8 +1337,8 @@
|
|
|
1337
1337
|
nextElement.classList.add(directionalClassName);
|
|
1338
1338
|
const completeCallBack = () => {
|
|
1339
1339
|
nextElement.classList.remove(directionalClassName, orderClassName);
|
|
1340
|
-
nextElement.classList.add(CLASS_NAME_ACTIVE$
|
|
1341
|
-
activeElement.classList.remove(CLASS_NAME_ACTIVE$
|
|
1340
|
+
nextElement.classList.add(CLASS_NAME_ACTIVE$3);
|
|
1341
|
+
activeElement.classList.remove(CLASS_NAME_ACTIVE$3, orderClassName, directionalClassName);
|
|
1342
1342
|
this._isSliding = false;
|
|
1343
1343
|
triggerEvent(EVENT_SLID);
|
|
1344
1344
|
};
|
|
@@ -1410,7 +1410,7 @@
|
|
|
1410
1410
|
carousel._maybeEnableCycle();
|
|
1411
1411
|
return;
|
|
1412
1412
|
}
|
|
1413
|
-
if (Manipulator.getDataAttribute(this, 'slide') === 'next') {
|
|
1413
|
+
if (Manipulator$1.getDataAttribute(this, 'slide') === 'next') {
|
|
1414
1414
|
carousel.next();
|
|
1415
1415
|
carousel._maybeEnableCycle();
|
|
1416
1416
|
return;
|
|
@@ -1418,7 +1418,7 @@
|
|
|
1418
1418
|
carousel.prev();
|
|
1419
1419
|
carousel._maybeEnableCycle();
|
|
1420
1420
|
});
|
|
1421
|
-
EventHandler.on(window, EVENT_LOAD_DATA_API$
|
|
1421
|
+
EventHandler.on(window, EVENT_LOAD_DATA_API$4, () => {
|
|
1422
1422
|
const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);
|
|
1423
1423
|
for (const carousel of carousels) {
|
|
1424
1424
|
Carousel.getOrCreateInstance(carousel);
|
|
@@ -1442,15 +1442,15 @@
|
|
|
1442
1442
|
* Constants
|
|
1443
1443
|
*/
|
|
1444
1444
|
|
|
1445
|
-
const NAME$
|
|
1446
|
-
const DATA_KEY$
|
|
1447
|
-
const EVENT_KEY$
|
|
1448
|
-
const DATA_API_KEY$
|
|
1449
|
-
const EVENT_SHOW$6 = `show${EVENT_KEY$
|
|
1450
|
-
const EVENT_SHOWN$6 = `shown${EVENT_KEY$
|
|
1451
|
-
const EVENT_HIDE$6 = `hide${EVENT_KEY$
|
|
1452
|
-
const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$
|
|
1453
|
-
const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$
|
|
1445
|
+
const NAME$d = 'collapse';
|
|
1446
|
+
const DATA_KEY$9 = 'bs.collapse';
|
|
1447
|
+
const EVENT_KEY$9 = `.${DATA_KEY$9}`;
|
|
1448
|
+
const DATA_API_KEY$6 = '.data-api';
|
|
1449
|
+
const EVENT_SHOW$6 = `show${EVENT_KEY$9}`;
|
|
1450
|
+
const EVENT_SHOWN$6 = `shown${EVENT_KEY$9}`;
|
|
1451
|
+
const EVENT_HIDE$6 = `hide${EVENT_KEY$9}`;
|
|
1452
|
+
const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$9}`;
|
|
1453
|
+
const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$9}${DATA_API_KEY$6}`;
|
|
1454
1454
|
const CLASS_NAME_SHOW$7 = 'show';
|
|
1455
1455
|
const CLASS_NAME_COLLAPSE = 'collapse';
|
|
1456
1456
|
const CLASS_NAME_COLLAPSING = 'collapsing';
|
|
@@ -1461,7 +1461,7 @@
|
|
|
1461
1461
|
const HEIGHT = 'height';
|
|
1462
1462
|
const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
|
|
1463
1463
|
const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]';
|
|
1464
|
-
const Default$
|
|
1464
|
+
const Default$c = {
|
|
1465
1465
|
parent: null,
|
|
1466
1466
|
toggle: true
|
|
1467
1467
|
};
|
|
@@ -1498,13 +1498,13 @@
|
|
|
1498
1498
|
|
|
1499
1499
|
// Getters
|
|
1500
1500
|
static get Default() {
|
|
1501
|
-
return Default$
|
|
1501
|
+
return Default$c;
|
|
1502
1502
|
}
|
|
1503
1503
|
static get DefaultType() {
|
|
1504
1504
|
return DefaultType$a;
|
|
1505
1505
|
}
|
|
1506
1506
|
static get NAME() {
|
|
1507
|
-
return NAME$
|
|
1507
|
+
return NAME$d;
|
|
1508
1508
|
}
|
|
1509
1509
|
|
|
1510
1510
|
// Public
|
|
@@ -1816,7 +1816,7 @@
|
|
|
1816
1816
|
|
|
1817
1817
|
function getUAString() {
|
|
1818
1818
|
var uaData = navigator.userAgentData;
|
|
1819
|
-
if (uaData != null && uaData.brands) {
|
|
1819
|
+
if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {
|
|
1820
1820
|
return uaData.brands.map(function (item) {
|
|
1821
1821
|
return item.brand + "/" + item.version;
|
|
1822
1822
|
}).join(' ');
|
|
@@ -2111,10 +2111,9 @@
|
|
|
2111
2111
|
// Zooming can change the DPR, but it seems to report a value that will
|
|
2112
2112
|
// cleanly divide the values into the appropriate subpixels.
|
|
2113
2113
|
|
|
2114
|
-
function roundOffsetsByDPR(_ref) {
|
|
2114
|
+
function roundOffsetsByDPR(_ref, win) {
|
|
2115
2115
|
var x = _ref.x,
|
|
2116
2116
|
y = _ref.y;
|
|
2117
|
-
var win = window;
|
|
2118
2117
|
var dpr = win.devicePixelRatio || 1;
|
|
2119
2118
|
return {
|
|
2120
2119
|
x: round(x * dpr) / dpr || 0,
|
|
@@ -2187,7 +2186,7 @@
|
|
|
2187
2186
|
var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
|
|
2188
2187
|
x: x,
|
|
2189
2188
|
y: y
|
|
2190
|
-
}) : {
|
|
2189
|
+
}, getWindow(popper)) : {
|
|
2191
2190
|
x: x,
|
|
2192
2191
|
y: y
|
|
2193
2192
|
};
|
|
@@ -3492,23 +3491,23 @@
|
|
|
3492
3491
|
* Constants
|
|
3493
3492
|
*/
|
|
3494
3493
|
|
|
3495
|
-
const NAME$
|
|
3496
|
-
const DATA_KEY$
|
|
3497
|
-
const EVENT_KEY$
|
|
3498
|
-
const DATA_API_KEY$
|
|
3494
|
+
const NAME$c = 'dropdown';
|
|
3495
|
+
const DATA_KEY$8 = 'bs.dropdown';
|
|
3496
|
+
const EVENT_KEY$8 = `.${DATA_KEY$8}`;
|
|
3497
|
+
const DATA_API_KEY$5 = '.data-api';
|
|
3499
3498
|
const ESCAPE_KEY$2 = 'Escape';
|
|
3500
3499
|
const TAB_KEY$1 = 'Tab';
|
|
3501
3500
|
const ARROW_UP_KEY$1 = 'ArrowUp';
|
|
3502
3501
|
const ARROW_DOWN_KEY$1 = 'ArrowDown';
|
|
3503
3502
|
const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
|
|
3504
3503
|
|
|
3505
|
-
const EVENT_HIDE$5 = `hide${EVENT_KEY$
|
|
3506
|
-
const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$
|
|
3507
|
-
const EVENT_SHOW$5 = `show${EVENT_KEY$
|
|
3508
|
-
const EVENT_SHOWN$5 = `shown${EVENT_KEY$
|
|
3509
|
-
const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$
|
|
3510
|
-
const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$
|
|
3511
|
-
const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$
|
|
3504
|
+
const EVENT_HIDE$5 = `hide${EVENT_KEY$8}`;
|
|
3505
|
+
const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$8}`;
|
|
3506
|
+
const EVENT_SHOW$5 = `show${EVENT_KEY$8}`;
|
|
3507
|
+
const EVENT_SHOWN$5 = `shown${EVENT_KEY$8}`;
|
|
3508
|
+
const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
|
|
3509
|
+
const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$8}${DATA_API_KEY$5}`;
|
|
3510
|
+
const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$8}${DATA_API_KEY$5}`;
|
|
3512
3511
|
const CLASS_NAME_SHOW$6 = 'show';
|
|
3513
3512
|
const CLASS_NAME_DROPUP = 'dropup';
|
|
3514
3513
|
const CLASS_NAME_DROPEND = 'dropend';
|
|
@@ -3529,7 +3528,7 @@
|
|
|
3529
3528
|
const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
|
|
3530
3529
|
const PLACEMENT_TOPCENTER = 'top';
|
|
3531
3530
|
const PLACEMENT_BOTTOMCENTER = 'bottom';
|
|
3532
|
-
const Default$
|
|
3531
|
+
const Default$b = {
|
|
3533
3532
|
autoClose: true,
|
|
3534
3533
|
boundary: 'clippingParents',
|
|
3535
3534
|
display: 'dynamic',
|
|
@@ -3562,13 +3561,13 @@
|
|
|
3562
3561
|
|
|
3563
3562
|
// Getters
|
|
3564
3563
|
static get Default() {
|
|
3565
|
-
return Default$
|
|
3564
|
+
return Default$b;
|
|
3566
3565
|
}
|
|
3567
3566
|
static get DefaultType() {
|
|
3568
3567
|
return DefaultType$9;
|
|
3569
3568
|
}
|
|
3570
3569
|
static get NAME() {
|
|
3571
|
-
return NAME$
|
|
3570
|
+
return NAME$c;
|
|
3572
3571
|
}
|
|
3573
3572
|
|
|
3574
3573
|
// Public
|
|
@@ -3645,14 +3644,14 @@
|
|
|
3645
3644
|
this._menu.classList.remove(CLASS_NAME_SHOW$6);
|
|
3646
3645
|
this._element.classList.remove(CLASS_NAME_SHOW$6);
|
|
3647
3646
|
this._element.setAttribute('aria-expanded', 'false');
|
|
3648
|
-
Manipulator.removeDataAttribute(this._menu, 'popper');
|
|
3647
|
+
Manipulator$1.removeDataAttribute(this._menu, 'popper');
|
|
3649
3648
|
EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);
|
|
3650
3649
|
}
|
|
3651
3650
|
_getConfig(config) {
|
|
3652
3651
|
config = super._getConfig(config);
|
|
3653
3652
|
if (typeof config.reference === 'object' && !isElement$1(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
|
|
3654
3653
|
// Popper virtual elements require a getBoundingClientRect method
|
|
3655
|
-
throw new TypeError(`${NAME$
|
|
3654
|
+
throw new TypeError(`${NAME$c.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
|
|
3656
3655
|
}
|
|
3657
3656
|
return config;
|
|
3658
3657
|
}
|
|
@@ -3729,7 +3728,7 @@
|
|
|
3729
3728
|
|
|
3730
3729
|
// Disable Popper if we have a static display or Dropdown is in Navbar
|
|
3731
3730
|
if (this._inNavbar || this._config.display === 'static') {
|
|
3732
|
-
Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove
|
|
3731
|
+
Manipulator$1.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove
|
|
3733
3732
|
defaultBsPopperConfig.modifiers = [{
|
|
3734
3733
|
name: 'applyStyles',
|
|
3735
3734
|
enabled: false
|
|
@@ -3861,11 +3860,11 @@
|
|
|
3861
3860
|
* ------------------------------------------------------------------------
|
|
3862
3861
|
*/
|
|
3863
3862
|
|
|
3864
|
-
const Default$
|
|
3865
|
-
const NAME$
|
|
3866
|
-
const DATA_KEY$
|
|
3867
|
-
const EVENT_KEY$
|
|
3868
|
-
const DATA_API_KEY$
|
|
3863
|
+
const Default$a = {};
|
|
3864
|
+
const NAME$b = 'gallery';
|
|
3865
|
+
const DATA_KEY$7 = 'bs.gallery';
|
|
3866
|
+
const EVENT_KEY$7 = `.${DATA_KEY$7}`;
|
|
3867
|
+
const DATA_API_KEY$4 = '.data-api';
|
|
3869
3868
|
const CAROUSEL_SELECTOR = '.carousel';
|
|
3870
3869
|
const CAROUSEL_PAGER_SELECTOR = '.carousel-pager span';
|
|
3871
3870
|
const CAROUSEL_ACTIVE_SELECTOR = '.carousel-item.active';
|
|
@@ -3874,7 +3873,7 @@
|
|
|
3874
3873
|
const MODAL_SELECTOR = '.modal';
|
|
3875
3874
|
const EVENT_MODAL_HIDE$1 = 'hide.bs.modal';
|
|
3876
3875
|
const CAROUSEL_EVENT = 'slide.bs.carousel';
|
|
3877
|
-
const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$
|
|
3876
|
+
const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;
|
|
3878
3877
|
|
|
3879
3878
|
/**
|
|
3880
3879
|
* ------------------------------------------------------------------------
|
|
@@ -3885,19 +3884,20 @@
|
|
|
3885
3884
|
class Gallery extends BaseComponent {
|
|
3886
3885
|
constructor(element, config) {
|
|
3887
3886
|
super(element, config);
|
|
3888
|
-
|
|
3889
|
-
this.
|
|
3887
|
+
/* eslint no-underscore-dangle: ["error", { "allow": ["_element"] }] */
|
|
3888
|
+
this.carousel = SelectorEngine.findOne(CAROUSEL_SELECTOR, this._element);
|
|
3889
|
+
this.carouselPager = SelectorEngine.findOne(CAROUSEL_PAGER_SELECTOR, this._element);
|
|
3890
3890
|
this.carouselStartIndex = element.getAttribute('data-gallery-start');
|
|
3891
3891
|
this.carouselActiveItem = SelectorEngine.find(CAROUSEL_ITEM_SELECTOR, this.carousel)[this.carouselStartIndex];
|
|
3892
3892
|
this.carouselPager.textContent = Number(this.carouselStartIndex) + 1;
|
|
3893
|
-
this.modal = SelectorEngine.findOne(MODAL_SELECTOR, this.
|
|
3893
|
+
this.modal = SelectorEngine.findOne(MODAL_SELECTOR, this._element);
|
|
3894
3894
|
this.addEventListeners();
|
|
3895
3895
|
this.carouselLazyLoad(this.carouselActiveItem);
|
|
3896
3896
|
}
|
|
3897
3897
|
|
|
3898
3898
|
// Getters
|
|
3899
3899
|
static get NAME() {
|
|
3900
|
-
return NAME$
|
|
3900
|
+
return NAME$b;
|
|
3901
3901
|
}
|
|
3902
3902
|
|
|
3903
3903
|
// Public
|
|
@@ -3939,7 +3939,7 @@
|
|
|
3939
3939
|
|
|
3940
3940
|
// Static
|
|
3941
3941
|
static get Default() {
|
|
3942
|
-
return Default$
|
|
3942
|
+
return Default$a;
|
|
3943
3943
|
}
|
|
3944
3944
|
static jQueryInterface(config) {
|
|
3945
3945
|
return this.each(function jInterface() {
|
|
@@ -4047,18 +4047,18 @@
|
|
|
4047
4047
|
_saveInitialAttribute(element, styleProperty) {
|
|
4048
4048
|
const actualValue = element.style.getPropertyValue(styleProperty);
|
|
4049
4049
|
if (actualValue) {
|
|
4050
|
-
Manipulator.setDataAttribute(element, styleProperty, actualValue);
|
|
4050
|
+
Manipulator$1.setDataAttribute(element, styleProperty, actualValue);
|
|
4051
4051
|
}
|
|
4052
4052
|
}
|
|
4053
4053
|
_resetElementAttributes(selector, styleProperty) {
|
|
4054
4054
|
const manipulationCallBack = element => {
|
|
4055
|
-
const value = Manipulator.getDataAttribute(element, styleProperty);
|
|
4055
|
+
const value = Manipulator$1.getDataAttribute(element, styleProperty);
|
|
4056
4056
|
// We only want to remove the property if the value is `null`; the value can also be zero
|
|
4057
4057
|
if (value === null) {
|
|
4058
4058
|
element.style.removeProperty(styleProperty);
|
|
4059
4059
|
return;
|
|
4060
4060
|
}
|
|
4061
|
-
Manipulator.removeDataAttribute(element, styleProperty);
|
|
4061
|
+
Manipulator$1.removeDataAttribute(element, styleProperty);
|
|
4062
4062
|
element.style.setProperty(styleProperty, value);
|
|
4063
4063
|
};
|
|
4064
4064
|
this._applyManipulationCallback(selector, manipulationCallBack);
|
|
@@ -4085,11 +4085,11 @@
|
|
|
4085
4085
|
* Constants
|
|
4086
4086
|
*/
|
|
4087
4087
|
|
|
4088
|
-
const NAME$
|
|
4088
|
+
const NAME$a = 'backdrop';
|
|
4089
4089
|
const CLASS_NAME_FADE$4 = 'fade';
|
|
4090
4090
|
const CLASS_NAME_SHOW$5 = 'show';
|
|
4091
|
-
const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$
|
|
4092
|
-
const Default$
|
|
4091
|
+
const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$a}`;
|
|
4092
|
+
const Default$9 = {
|
|
4093
4093
|
className: 'modal-backdrop',
|
|
4094
4094
|
clickCallback: null,
|
|
4095
4095
|
isAnimated: false,
|
|
@@ -4120,13 +4120,13 @@
|
|
|
4120
4120
|
|
|
4121
4121
|
// Getters
|
|
4122
4122
|
static get Default() {
|
|
4123
|
-
return Default$
|
|
4123
|
+
return Default$9;
|
|
4124
4124
|
}
|
|
4125
4125
|
static get DefaultType() {
|
|
4126
4126
|
return DefaultType$8;
|
|
4127
4127
|
}
|
|
4128
4128
|
static get NAME() {
|
|
4129
|
-
return NAME$
|
|
4129
|
+
return NAME$a;
|
|
4130
4130
|
}
|
|
4131
4131
|
|
|
4132
4132
|
// Public
|
|
@@ -4209,15 +4209,15 @@
|
|
|
4209
4209
|
* Constants
|
|
4210
4210
|
*/
|
|
4211
4211
|
|
|
4212
|
-
const NAME$
|
|
4213
|
-
const DATA_KEY$
|
|
4214
|
-
const EVENT_KEY$
|
|
4215
|
-
const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$
|
|
4216
|
-
const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$
|
|
4212
|
+
const NAME$9 = 'focustrap';
|
|
4213
|
+
const DATA_KEY$6 = 'bs.focustrap';
|
|
4214
|
+
const EVENT_KEY$6 = `.${DATA_KEY$6}`;
|
|
4215
|
+
const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$6}`;
|
|
4216
|
+
const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$6}`;
|
|
4217
4217
|
const TAB_KEY = 'Tab';
|
|
4218
4218
|
const TAB_NAV_FORWARD = 'forward';
|
|
4219
4219
|
const TAB_NAV_BACKWARD = 'backward';
|
|
4220
|
-
const Default$
|
|
4220
|
+
const Default$8 = {
|
|
4221
4221
|
autofocus: true,
|
|
4222
4222
|
trapElement: null // The element to trap focus inside of
|
|
4223
4223
|
};
|
|
@@ -4241,13 +4241,13 @@
|
|
|
4241
4241
|
|
|
4242
4242
|
// Getters
|
|
4243
4243
|
static get Default() {
|
|
4244
|
-
return Default$
|
|
4244
|
+
return Default$8;
|
|
4245
4245
|
}
|
|
4246
4246
|
static get DefaultType() {
|
|
4247
4247
|
return DefaultType$7;
|
|
4248
4248
|
}
|
|
4249
4249
|
static get NAME() {
|
|
4250
|
-
return NAME$
|
|
4250
|
+
return NAME$9;
|
|
4251
4251
|
}
|
|
4252
4252
|
|
|
4253
4253
|
// Public
|
|
@@ -4258,7 +4258,7 @@
|
|
|
4258
4258
|
if (this._config.autofocus) {
|
|
4259
4259
|
this._config.trapElement.focus();
|
|
4260
4260
|
}
|
|
4261
|
-
EventHandler.off(document, EVENT_KEY$
|
|
4261
|
+
EventHandler.off(document, EVENT_KEY$6); // guard against infinite focus loop
|
|
4262
4262
|
EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));
|
|
4263
4263
|
EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));
|
|
4264
4264
|
this._isActive = true;
|
|
@@ -4268,7 +4268,7 @@
|
|
|
4268
4268
|
return;
|
|
4269
4269
|
}
|
|
4270
4270
|
this._isActive = false;
|
|
4271
|
-
EventHandler.off(document, EVENT_KEY$
|
|
4271
|
+
EventHandler.off(document, EVENT_KEY$6);
|
|
4272
4272
|
}
|
|
4273
4273
|
|
|
4274
4274
|
// Private
|
|
@@ -4307,21 +4307,21 @@
|
|
|
4307
4307
|
* Constants
|
|
4308
4308
|
*/
|
|
4309
4309
|
|
|
4310
|
-
const NAME$
|
|
4311
|
-
const DATA_KEY$
|
|
4312
|
-
const EVENT_KEY$
|
|
4313
|
-
const DATA_API_KEY$
|
|
4310
|
+
const NAME$8 = 'modal';
|
|
4311
|
+
const DATA_KEY$5 = 'bs.modal';
|
|
4312
|
+
const EVENT_KEY$5 = `.${DATA_KEY$5}`;
|
|
4313
|
+
const DATA_API_KEY$3 = '.data-api';
|
|
4314
4314
|
const ESCAPE_KEY$1 = 'Escape';
|
|
4315
|
-
const EVENT_HIDE$4 = `hide${EVENT_KEY$
|
|
4316
|
-
const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$
|
|
4317
|
-
const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$
|
|
4318
|
-
const EVENT_SHOW$4 = `show${EVENT_KEY$
|
|
4319
|
-
const EVENT_SHOWN$4 = `shown${EVENT_KEY$
|
|
4320
|
-
const EVENT_RESIZE$1 = `resize${EVENT_KEY$
|
|
4321
|
-
const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$
|
|
4322
|
-
const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$
|
|
4323
|
-
const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$
|
|
4324
|
-
const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$
|
|
4315
|
+
const EVENT_HIDE$4 = `hide${EVENT_KEY$5}`;
|
|
4316
|
+
const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$5}`;
|
|
4317
|
+
const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$5}`;
|
|
4318
|
+
const EVENT_SHOW$4 = `show${EVENT_KEY$5}`;
|
|
4319
|
+
const EVENT_SHOWN$4 = `shown${EVENT_KEY$5}`;
|
|
4320
|
+
const EVENT_RESIZE$1 = `resize${EVENT_KEY$5}`;
|
|
4321
|
+
const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$5}`;
|
|
4322
|
+
const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$5}`;
|
|
4323
|
+
const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$5}`;
|
|
4324
|
+
const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$5}${DATA_API_KEY$3}`;
|
|
4325
4325
|
const CLASS_NAME_OPEN = 'modal-open';
|
|
4326
4326
|
const CLASS_NAME_FADE$3 = 'fade';
|
|
4327
4327
|
const CLASS_NAME_SHOW$4 = 'show';
|
|
@@ -4330,7 +4330,7 @@
|
|
|
4330
4330
|
const SELECTOR_DIALOG = '.modal-dialog';
|
|
4331
4331
|
const SELECTOR_MODAL_BODY = '.modal-body';
|
|
4332
4332
|
const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]';
|
|
4333
|
-
const Default$
|
|
4333
|
+
const Default$7 = {
|
|
4334
4334
|
backdrop: true,
|
|
4335
4335
|
focus: true,
|
|
4336
4336
|
keyboard: true
|
|
@@ -4359,13 +4359,13 @@
|
|
|
4359
4359
|
|
|
4360
4360
|
// Getters
|
|
4361
4361
|
static get Default() {
|
|
4362
|
-
return Default$
|
|
4362
|
+
return Default$7;
|
|
4363
4363
|
}
|
|
4364
4364
|
static get DefaultType() {
|
|
4365
4365
|
return DefaultType$6;
|
|
4366
4366
|
}
|
|
4367
4367
|
static get NAME() {
|
|
4368
|
-
return NAME$
|
|
4368
|
+
return NAME$8;
|
|
4369
4369
|
}
|
|
4370
4370
|
|
|
4371
4371
|
// Public
|
|
@@ -4405,7 +4405,7 @@
|
|
|
4405
4405
|
}
|
|
4406
4406
|
dispose() {
|
|
4407
4407
|
for (const htmlElement of [window, this._dialog]) {
|
|
4408
|
-
EventHandler.off(htmlElement, EVENT_KEY$
|
|
4408
|
+
EventHandler.off(htmlElement, EVENT_KEY$5);
|
|
4409
4409
|
}
|
|
4410
4410
|
this._backdrop.dispose();
|
|
4411
4411
|
this._focustrap.deactivate();
|
|
@@ -4613,27 +4613,27 @@
|
|
|
4613
4613
|
* Constants
|
|
4614
4614
|
*/
|
|
4615
4615
|
|
|
4616
|
-
const NAME$
|
|
4617
|
-
const DATA_KEY$
|
|
4618
|
-
const EVENT_KEY$
|
|
4619
|
-
const DATA_API_KEY$
|
|
4620
|
-
const EVENT_LOAD_DATA_API$
|
|
4616
|
+
const NAME$7 = 'offcanvas';
|
|
4617
|
+
const DATA_KEY$4 = 'bs.offcanvas';
|
|
4618
|
+
const EVENT_KEY$4 = `.${DATA_KEY$4}`;
|
|
4619
|
+
const DATA_API_KEY$2 = '.data-api';
|
|
4620
|
+
const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$4}${DATA_API_KEY$2}`;
|
|
4621
4621
|
const ESCAPE_KEY = 'Escape';
|
|
4622
4622
|
const CLASS_NAME_SHOW$3 = 'show';
|
|
4623
4623
|
const CLASS_NAME_SHOWING$1 = 'showing';
|
|
4624
4624
|
const CLASS_NAME_HIDING = 'hiding';
|
|
4625
4625
|
const CLASS_NAME_BACKDROP = 'offcanvas-backdrop';
|
|
4626
4626
|
const OPEN_SELECTOR = '.offcanvas.show';
|
|
4627
|
-
const EVENT_SHOW$3 = `show${EVENT_KEY$
|
|
4628
|
-
const EVENT_SHOWN$3 = `shown${EVENT_KEY$
|
|
4629
|
-
const EVENT_HIDE$3 = `hide${EVENT_KEY$
|
|
4630
|
-
const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$
|
|
4631
|
-
const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$
|
|
4632
|
-
const EVENT_RESIZE = `resize${EVENT_KEY$
|
|
4633
|
-
const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$
|
|
4634
|
-
const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$
|
|
4627
|
+
const EVENT_SHOW$3 = `show${EVENT_KEY$4}`;
|
|
4628
|
+
const EVENT_SHOWN$3 = `shown${EVENT_KEY$4}`;
|
|
4629
|
+
const EVENT_HIDE$3 = `hide${EVENT_KEY$4}`;
|
|
4630
|
+
const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$4}`;
|
|
4631
|
+
const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$4}`;
|
|
4632
|
+
const EVENT_RESIZE = `resize${EVENT_KEY$4}`;
|
|
4633
|
+
const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;
|
|
4634
|
+
const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$4}`;
|
|
4635
4635
|
const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="offcanvas"]';
|
|
4636
|
-
const Default$
|
|
4636
|
+
const Default$6 = {
|
|
4637
4637
|
backdrop: true,
|
|
4638
4638
|
keyboard: true,
|
|
4639
4639
|
scroll: false
|
|
@@ -4659,13 +4659,13 @@
|
|
|
4659
4659
|
|
|
4660
4660
|
// Getters
|
|
4661
4661
|
static get Default() {
|
|
4662
|
-
return Default$
|
|
4662
|
+
return Default$6;
|
|
4663
4663
|
}
|
|
4664
4664
|
static get DefaultType() {
|
|
4665
4665
|
return DefaultType$5;
|
|
4666
4666
|
}
|
|
4667
4667
|
static get NAME() {
|
|
4668
|
-
return NAME$
|
|
4668
|
+
return NAME$7;
|
|
4669
4669
|
}
|
|
4670
4670
|
|
|
4671
4671
|
// Public
|
|
@@ -4812,7 +4812,7 @@
|
|
|
4812
4812
|
const data = Offcanvas.getOrCreateInstance(target);
|
|
4813
4813
|
data.toggle(this);
|
|
4814
4814
|
});
|
|
4815
|
-
EventHandler.on(window, EVENT_LOAD_DATA_API$
|
|
4815
|
+
EventHandler.on(window, EVENT_LOAD_DATA_API$3, () => {
|
|
4816
4816
|
for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {
|
|
4817
4817
|
Offcanvas.getOrCreateInstance(selector).show();
|
|
4818
4818
|
}
|
|
@@ -4938,8 +4938,8 @@
|
|
|
4938
4938
|
* Constants
|
|
4939
4939
|
*/
|
|
4940
4940
|
|
|
4941
|
-
const NAME$
|
|
4942
|
-
const Default$
|
|
4941
|
+
const NAME$6 = 'TemplateFactory';
|
|
4942
|
+
const Default$5 = {
|
|
4943
4943
|
allowList: DefaultAllowlist,
|
|
4944
4944
|
content: {},
|
|
4945
4945
|
// { selector : text , selector2 : text2 , }
|
|
@@ -4975,13 +4975,13 @@
|
|
|
4975
4975
|
|
|
4976
4976
|
// Getters
|
|
4977
4977
|
static get Default() {
|
|
4978
|
-
return Default$
|
|
4978
|
+
return Default$5;
|
|
4979
4979
|
}
|
|
4980
4980
|
static get DefaultType() {
|
|
4981
4981
|
return DefaultType$4;
|
|
4982
4982
|
}
|
|
4983
4983
|
static get NAME() {
|
|
4984
|
-
return NAME$
|
|
4984
|
+
return NAME$6;
|
|
4985
4985
|
}
|
|
4986
4986
|
|
|
4987
4987
|
// Public
|
|
@@ -5073,7 +5073,7 @@
|
|
|
5073
5073
|
* Constants
|
|
5074
5074
|
*/
|
|
5075
5075
|
|
|
5076
|
-
const NAME$
|
|
5076
|
+
const NAME$5 = 'tooltip';
|
|
5077
5077
|
const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);
|
|
5078
5078
|
const CLASS_NAME_FADE$2 = 'fade';
|
|
5079
5079
|
const CLASS_NAME_MODAL = 'modal';
|
|
@@ -5102,7 +5102,7 @@
|
|
|
5102
5102
|
BOTTOM: 'bottom',
|
|
5103
5103
|
LEFT: isRTL() ? 'right' : 'left'
|
|
5104
5104
|
};
|
|
5105
|
-
const Default$
|
|
5105
|
+
const Default$4 = {
|
|
5106
5106
|
allowList: DefaultAllowlist,
|
|
5107
5107
|
animation: true,
|
|
5108
5108
|
boundary: 'clippingParents',
|
|
@@ -5171,13 +5171,13 @@
|
|
|
5171
5171
|
|
|
5172
5172
|
// Getters
|
|
5173
5173
|
static get Default() {
|
|
5174
|
-
return Default$
|
|
5174
|
+
return Default$4;
|
|
5175
5175
|
}
|
|
5176
5176
|
static get DefaultType() {
|
|
5177
5177
|
return DefaultType$3;
|
|
5178
5178
|
}
|
|
5179
5179
|
static get NAME() {
|
|
5180
|
-
return NAME$
|
|
5180
|
+
return NAME$5;
|
|
5181
5181
|
}
|
|
5182
5182
|
|
|
5183
5183
|
// Public
|
|
@@ -5495,7 +5495,7 @@
|
|
|
5495
5495
|
return Object.values(this._activeTrigger).includes(true);
|
|
5496
5496
|
}
|
|
5497
5497
|
_getConfig(config) {
|
|
5498
|
-
const dataAttributes = Manipulator.getDataAttributes(this._element);
|
|
5498
|
+
const dataAttributes = Manipulator$1.getDataAttributes(this._element);
|
|
5499
5499
|
for (const dataAttribute of Object.keys(dataAttributes)) {
|
|
5500
5500
|
if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {
|
|
5501
5501
|
delete dataAttributes[dataAttribute];
|
|
@@ -5584,10 +5584,10 @@
|
|
|
5584
5584
|
* Constants
|
|
5585
5585
|
*/
|
|
5586
5586
|
|
|
5587
|
-
const NAME$
|
|
5587
|
+
const NAME$4 = 'popover';
|
|
5588
5588
|
const SELECTOR_TITLE = '.popover-header';
|
|
5589
5589
|
const SELECTOR_CONTENT = '.popover-body';
|
|
5590
|
-
const Default$
|
|
5590
|
+
const Default$3 = {
|
|
5591
5591
|
...Tooltip.Default,
|
|
5592
5592
|
content: '',
|
|
5593
5593
|
offset: [0, 8],
|
|
@@ -5607,13 +5607,13 @@
|
|
|
5607
5607
|
class Popover extends Tooltip {
|
|
5608
5608
|
// Getters
|
|
5609
5609
|
static get Default() {
|
|
5610
|
-
return Default$
|
|
5610
|
+
return Default$3;
|
|
5611
5611
|
}
|
|
5612
5612
|
static get DefaultType() {
|
|
5613
5613
|
return DefaultType$2;
|
|
5614
5614
|
}
|
|
5615
5615
|
static get NAME() {
|
|
5616
|
-
return NAME$
|
|
5616
|
+
return NAME$4;
|
|
5617
5617
|
}
|
|
5618
5618
|
|
|
5619
5619
|
// Overrides
|
|
@@ -5664,25 +5664,25 @@
|
|
|
5664
5664
|
* Constants
|
|
5665
5665
|
*/
|
|
5666
5666
|
|
|
5667
|
-
const NAME$
|
|
5668
|
-
const DATA_KEY$
|
|
5669
|
-
const EVENT_KEY$
|
|
5670
|
-
const DATA_API_KEY = '.data-api';
|
|
5671
|
-
const EVENT_ACTIVATE = `activate${EVENT_KEY$
|
|
5672
|
-
const EVENT_CLICK = `click${EVENT_KEY$
|
|
5673
|
-
const EVENT_LOAD_DATA_API$
|
|
5674
|
-
const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
|
|
5675
|
-
const CLASS_NAME_ACTIVE$
|
|
5676
|
-
const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]';
|
|
5667
|
+
const NAME$3 = 'scrollspy';
|
|
5668
|
+
const DATA_KEY$3 = 'bs.scrollspy';
|
|
5669
|
+
const EVENT_KEY$3 = `.${DATA_KEY$3}`;
|
|
5670
|
+
const DATA_API_KEY$1 = '.data-api';
|
|
5671
|
+
const EVENT_ACTIVATE$1 = `activate${EVENT_KEY$3}`;
|
|
5672
|
+
const EVENT_CLICK = `click${EVENT_KEY$3}`;
|
|
5673
|
+
const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;
|
|
5674
|
+
const CLASS_NAME_DROPDOWN_ITEM$1 = 'dropdown-item';
|
|
5675
|
+
const CLASS_NAME_ACTIVE$2 = 'active';
|
|
5676
|
+
const SELECTOR_DATA_SPY$1 = '[data-bs-spy="scroll"]';
|
|
5677
5677
|
const SELECTOR_TARGET_LINKS = '[href]';
|
|
5678
|
-
const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
|
|
5679
|
-
const SELECTOR_NAV_LINKS = '.nav-link';
|
|
5680
|
-
const SELECTOR_NAV_ITEMS = '.nav-item';
|
|
5681
|
-
const SELECTOR_LIST_ITEMS = '.list-group-item';
|
|
5682
|
-
const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`;
|
|
5683
|
-
const SELECTOR_DROPDOWN = '.dropdown';
|
|
5684
|
-
const SELECTOR_DROPDOWN_TOGGLE$
|
|
5685
|
-
const Default$
|
|
5678
|
+
const SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';
|
|
5679
|
+
const SELECTOR_NAV_LINKS$1 = '.nav-link';
|
|
5680
|
+
const SELECTOR_NAV_ITEMS$1 = '.nav-item';
|
|
5681
|
+
const SELECTOR_LIST_ITEMS$1 = '.list-group-item';
|
|
5682
|
+
const SELECTOR_LINK_ITEMS$1 = `${SELECTOR_NAV_LINKS$1}, ${SELECTOR_NAV_ITEMS$1} > ${SELECTOR_NAV_LINKS$1}, ${SELECTOR_LIST_ITEMS$1}`;
|
|
5683
|
+
const SELECTOR_DROPDOWN$1 = '.dropdown';
|
|
5684
|
+
const SELECTOR_DROPDOWN_TOGGLE$2 = '.dropdown-toggle';
|
|
5685
|
+
const Default$2 = {
|
|
5686
5686
|
offset: null,
|
|
5687
5687
|
// TODO: v6 @deprecated, keep it for backwards compatibility reasons
|
|
5688
5688
|
rootMargin: '0px 0px -25%',
|
|
@@ -5703,7 +5703,7 @@
|
|
|
5703
5703
|
* Class definition
|
|
5704
5704
|
*/
|
|
5705
5705
|
|
|
5706
|
-
class ScrollSpy extends BaseComponent {
|
|
5706
|
+
let ScrollSpy$1 = class ScrollSpy extends BaseComponent {
|
|
5707
5707
|
constructor(element, config) {
|
|
5708
5708
|
super(element, config);
|
|
5709
5709
|
|
|
@@ -5722,13 +5722,13 @@
|
|
|
5722
5722
|
|
|
5723
5723
|
// Getters
|
|
5724
5724
|
static get Default() {
|
|
5725
|
-
return Default$
|
|
5725
|
+
return Default$2;
|
|
5726
5726
|
}
|
|
5727
5727
|
static get DefaultType() {
|
|
5728
5728
|
return DefaultType$1;
|
|
5729
5729
|
}
|
|
5730
5730
|
static get NAME() {
|
|
5731
|
-
return NAME$
|
|
5731
|
+
return NAME$3;
|
|
5732
5732
|
}
|
|
5733
5733
|
|
|
5734
5734
|
// Public
|
|
@@ -5853,31 +5853,31 @@
|
|
|
5853
5853
|
}
|
|
5854
5854
|
this._clearActiveClass(this._config.target);
|
|
5855
5855
|
this._activeTarget = target;
|
|
5856
|
-
target.classList.add(CLASS_NAME_ACTIVE$
|
|
5856
|
+
target.classList.add(CLASS_NAME_ACTIVE$2);
|
|
5857
5857
|
this._activateParents(target);
|
|
5858
|
-
EventHandler.trigger(this._element, EVENT_ACTIVATE, {
|
|
5858
|
+
EventHandler.trigger(this._element, EVENT_ACTIVATE$1, {
|
|
5859
5859
|
relatedTarget: target
|
|
5860
5860
|
});
|
|
5861
5861
|
}
|
|
5862
5862
|
_activateParents(target) {
|
|
5863
5863
|
// Activate dropdown parents
|
|
5864
|
-
if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
|
|
5865
|
-
SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$
|
|
5864
|
+
if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM$1)) {
|
|
5865
|
+
SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$2, target.closest(SELECTOR_DROPDOWN$1)).classList.add(CLASS_NAME_ACTIVE$2);
|
|
5866
5866
|
return;
|
|
5867
5867
|
}
|
|
5868
|
-
for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {
|
|
5868
|
+
for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP$1)) {
|
|
5869
5869
|
// Set triggered links parents as active
|
|
5870
5870
|
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
|
|
5871
|
-
for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {
|
|
5872
|
-
item.classList.add(CLASS_NAME_ACTIVE$
|
|
5871
|
+
for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS$1)) {
|
|
5872
|
+
item.classList.add(CLASS_NAME_ACTIVE$2);
|
|
5873
5873
|
}
|
|
5874
5874
|
}
|
|
5875
5875
|
}
|
|
5876
5876
|
_clearActiveClass(parent) {
|
|
5877
|
-
parent.classList.remove(CLASS_NAME_ACTIVE$
|
|
5878
|
-
const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$
|
|
5877
|
+
parent.classList.remove(CLASS_NAME_ACTIVE$2);
|
|
5878
|
+
const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$2}`, parent);
|
|
5879
5879
|
for (const node of activeNodes) {
|
|
5880
|
-
node.classList.remove(CLASS_NAME_ACTIVE$
|
|
5880
|
+
node.classList.remove(CLASS_NAME_ACTIVE$2);
|
|
5881
5881
|
}
|
|
5882
5882
|
}
|
|
5883
5883
|
|
|
@@ -5894,20 +5894,288 @@
|
|
|
5894
5894
|
data[config]();
|
|
5895
5895
|
});
|
|
5896
5896
|
}
|
|
5897
|
-
}
|
|
5897
|
+
};
|
|
5898
5898
|
|
|
5899
5899
|
/**
|
|
5900
5900
|
* Data API implementation
|
|
5901
5901
|
*/
|
|
5902
5902
|
|
|
5903
|
-
EventHandler.on(window, EVENT_LOAD_DATA_API$
|
|
5904
|
-
for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {
|
|
5905
|
-
ScrollSpy.getOrCreateInstance(spy);
|
|
5903
|
+
EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {
|
|
5904
|
+
for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY$1)) {
|
|
5905
|
+
ScrollSpy$1.getOrCreateInstance(spy);
|
|
5906
|
+
}
|
|
5907
|
+
});
|
|
5908
|
+
|
|
5909
|
+
/**
|
|
5910
|
+
* jQuery
|
|
5911
|
+
*/
|
|
5912
|
+
|
|
5913
|
+
defineJQueryPlugin(ScrollSpy$1);
|
|
5914
|
+
|
|
5915
|
+
/**
|
|
5916
|
+
* --------------------------------------------------------------------------
|
|
5917
|
+
* Bootstrap (v5.1.3): dom/manipulator.js
|
|
5918
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5919
|
+
* --------------------------------------------------------------------------
|
|
5920
|
+
*/
|
|
5921
|
+
|
|
5922
|
+
function normalizeData(val) {
|
|
5923
|
+
if (val === 'true') {
|
|
5924
|
+
return true;
|
|
5906
5925
|
}
|
|
5926
|
+
if (val === 'false') {
|
|
5927
|
+
return false;
|
|
5928
|
+
}
|
|
5929
|
+
if (val === Number(val).toString()) {
|
|
5930
|
+
return Number(val);
|
|
5931
|
+
}
|
|
5932
|
+
if (val === '' || val === 'null') {
|
|
5933
|
+
return null;
|
|
5934
|
+
}
|
|
5935
|
+
return val;
|
|
5936
|
+
}
|
|
5937
|
+
function normalizeDataKey(key) {
|
|
5938
|
+
return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`);
|
|
5939
|
+
}
|
|
5940
|
+
const Manipulator = {
|
|
5941
|
+
setDataAttribute(element, key, value) {
|
|
5942
|
+
element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value);
|
|
5943
|
+
},
|
|
5944
|
+
removeDataAttribute(element, key) {
|
|
5945
|
+
element.removeAttribute(`data-bs-${normalizeDataKey(key)}`);
|
|
5946
|
+
},
|
|
5947
|
+
getDataAttributes(element) {
|
|
5948
|
+
if (!element) {
|
|
5949
|
+
return {};
|
|
5950
|
+
}
|
|
5951
|
+
const attributes = {};
|
|
5952
|
+
Object.keys(element.dataset).filter(key => key.startsWith('bs')).forEach(key => {
|
|
5953
|
+
let pureKey = key.replace(/^bs/, '');
|
|
5954
|
+
pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);
|
|
5955
|
+
attributes[pureKey] = normalizeData(element.dataset[key]);
|
|
5956
|
+
});
|
|
5957
|
+
return attributes;
|
|
5958
|
+
},
|
|
5959
|
+
getDataAttribute(element, key) {
|
|
5960
|
+
return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`));
|
|
5961
|
+
},
|
|
5962
|
+
offset(element) {
|
|
5963
|
+
const rect = element.getBoundingClientRect();
|
|
5964
|
+
return {
|
|
5965
|
+
top: rect.top + window.pageYOffset,
|
|
5966
|
+
left: rect.left + window.pageXOffset
|
|
5967
|
+
};
|
|
5968
|
+
},
|
|
5969
|
+
position(element) {
|
|
5970
|
+
return {
|
|
5971
|
+
top: element.offsetTop,
|
|
5972
|
+
left: element.offsetLeft
|
|
5973
|
+
};
|
|
5974
|
+
}
|
|
5975
|
+
};
|
|
5976
|
+
|
|
5977
|
+
/**
|
|
5978
|
+
* --------------------------------------------------------------------------
|
|
5979
|
+
* Bootstrap (v5.1.3): scrollspy.js
|
|
5980
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5981
|
+
* --------------------------------------------------------------------------
|
|
5982
|
+
*/
|
|
5983
|
+
|
|
5984
|
+
/**
|
|
5985
|
+
* ------------------------------------------------------------------------
|
|
5986
|
+
* Constants
|
|
5987
|
+
* ------------------------------------------------------------------------
|
|
5988
|
+
*/
|
|
5989
|
+
|
|
5990
|
+
const NAME$2 = 'scrollspy';
|
|
5991
|
+
const DATA_KEY$2 = 'bs.scrollspy';
|
|
5992
|
+
const EVENT_KEY$2 = `.${DATA_KEY$2}`;
|
|
5993
|
+
const DATA_API_KEY = '.data-api';
|
|
5994
|
+
const Default$1 = {
|
|
5995
|
+
offset: 10,
|
|
5996
|
+
method: 'auto',
|
|
5997
|
+
target: ''
|
|
5998
|
+
};
|
|
5999
|
+
const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`;
|
|
6000
|
+
const EVENT_SCROLL = `scroll${EVENT_KEY$2}`;
|
|
6001
|
+
const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`;
|
|
6002
|
+
const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
|
|
6003
|
+
const CLASS_NAME_ACTIVE$1 = 'active';
|
|
6004
|
+
const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]';
|
|
6005
|
+
const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
|
|
6006
|
+
const SELECTOR_NAV_LINKS = '.nav-link';
|
|
6007
|
+
const SELECTOR_NAV_ITEMS = '.nav-item';
|
|
6008
|
+
const SELECTOR_LIST_ITEMS = '.list-group-item';
|
|
6009
|
+
const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}, .${CLASS_NAME_DROPDOWN_ITEM}`;
|
|
6010
|
+
const SELECTOR_DROPDOWN = '.dropdown';
|
|
6011
|
+
const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
|
|
6012
|
+
const METHOD_OFFSET = 'offset';
|
|
6013
|
+
const METHOD_POSITION = 'position';
|
|
6014
|
+
|
|
6015
|
+
/**
|
|
6016
|
+
* ------------------------------------------------------------------------
|
|
6017
|
+
* Class Definition
|
|
6018
|
+
* ------------------------------------------------------------------------
|
|
6019
|
+
*/
|
|
6020
|
+
|
|
6021
|
+
class ScrollSpy extends BaseComponent {
|
|
6022
|
+
constructor(element, config) {
|
|
6023
|
+
super(element);
|
|
6024
|
+
this._scrollElement = this._element.tagName === 'BODY' ? window : this._element;
|
|
6025
|
+
this._config = this._getConfig(config);
|
|
6026
|
+
this._offsets = [];
|
|
6027
|
+
this._targets = [];
|
|
6028
|
+
this._activeTarget = null;
|
|
6029
|
+
this._scrollHeight = 0;
|
|
6030
|
+
EventHandler.on(this._scrollElement, EVENT_SCROLL, () => this._process());
|
|
6031
|
+
this.refresh();
|
|
6032
|
+
this._process();
|
|
6033
|
+
}
|
|
6034
|
+
|
|
6035
|
+
// Getters
|
|
6036
|
+
|
|
6037
|
+
static get Default() {
|
|
6038
|
+
return Default$1;
|
|
6039
|
+
}
|
|
6040
|
+
static get NAME() {
|
|
6041
|
+
return NAME$2;
|
|
6042
|
+
}
|
|
6043
|
+
|
|
6044
|
+
// Public
|
|
6045
|
+
|
|
6046
|
+
refresh() {
|
|
6047
|
+
const autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;
|
|
6048
|
+
const offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
|
|
6049
|
+
const offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;
|
|
6050
|
+
this._offsets = [];
|
|
6051
|
+
this._targets = [];
|
|
6052
|
+
this._scrollHeight = this._getScrollHeight();
|
|
6053
|
+
const targets = SelectorEngine.find(SELECTOR_LINK_ITEMS, this._config.target);
|
|
6054
|
+
targets.map(element => {
|
|
6055
|
+
const targetSelector = getSelectorFromElement(element);
|
|
6056
|
+
const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null;
|
|
6057
|
+
if (target) {
|
|
6058
|
+
const targetBCR = target.getBoundingClientRect();
|
|
6059
|
+
if (targetBCR.width || targetBCR.height) {
|
|
6060
|
+
return [Manipulator[offsetMethod](target).top + offsetBase, targetSelector];
|
|
6061
|
+
}
|
|
6062
|
+
}
|
|
6063
|
+
return null;
|
|
6064
|
+
}).filter(item => item).sort((a, b) => a[0] - b[0]).forEach(item => {
|
|
6065
|
+
this._offsets.push(item[0]);
|
|
6066
|
+
this._targets.push(item[1]);
|
|
6067
|
+
});
|
|
6068
|
+
}
|
|
6069
|
+
dispose() {
|
|
6070
|
+
EventHandler.off(this._scrollElement, EVENT_KEY$2);
|
|
6071
|
+
super.dispose();
|
|
6072
|
+
}
|
|
6073
|
+
|
|
6074
|
+
// Private
|
|
6075
|
+
|
|
6076
|
+
_getConfig(config) {
|
|
6077
|
+
config = {
|
|
6078
|
+
...Default$1,
|
|
6079
|
+
...Manipulator.getDataAttributes(this._element),
|
|
6080
|
+
...(typeof config === 'object' && config ? config : {})
|
|
6081
|
+
};
|
|
6082
|
+
config.target = getElement(config.target) || document.documentElement;
|
|
6083
|
+
return config;
|
|
6084
|
+
}
|
|
6085
|
+
_getScrollTop() {
|
|
6086
|
+
return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
|
|
6087
|
+
}
|
|
6088
|
+
_getScrollHeight() {
|
|
6089
|
+
return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
|
|
6090
|
+
}
|
|
6091
|
+
_getOffsetHeight() {
|
|
6092
|
+
return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
|
|
6093
|
+
}
|
|
6094
|
+
_process() {
|
|
6095
|
+
const scrollTop = this._getScrollTop() + this._config.offset;
|
|
6096
|
+
const scrollHeight = this._getScrollHeight();
|
|
6097
|
+
const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
|
|
6098
|
+
if (this._scrollHeight !== scrollHeight) {
|
|
6099
|
+
this.refresh();
|
|
6100
|
+
}
|
|
6101
|
+
if (scrollTop >= maxScroll) {
|
|
6102
|
+
const target = this._targets[this._targets.length - 1];
|
|
6103
|
+
if (this._activeTarget !== target) {
|
|
6104
|
+
this._activate(target);
|
|
6105
|
+
}
|
|
6106
|
+
return;
|
|
6107
|
+
}
|
|
6108
|
+
if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
|
|
6109
|
+
this._activeTarget = null;
|
|
6110
|
+
this._clear();
|
|
6111
|
+
return;
|
|
6112
|
+
}
|
|
6113
|
+
for (let i = this._offsets.length; i--;) {
|
|
6114
|
+
const isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
|
|
6115
|
+
if (isActiveTarget) {
|
|
6116
|
+
this._activate(this._targets[i]);
|
|
6117
|
+
}
|
|
6118
|
+
}
|
|
6119
|
+
}
|
|
6120
|
+
_activate(target) {
|
|
6121
|
+
this._activeTarget = target;
|
|
6122
|
+
this._clear();
|
|
6123
|
+
const queries = SELECTOR_LINK_ITEMS.split(',').map(selector => `${selector}[data-bs-target="${target}"],${selector}[href="${target}"]`);
|
|
6124
|
+
const link = SelectorEngine.findOne(queries.join(','), this._config.target);
|
|
6125
|
+
link.classList.add(CLASS_NAME_ACTIVE$1);
|
|
6126
|
+
if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
|
|
6127
|
+
SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, link.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);
|
|
6128
|
+
} else {
|
|
6129
|
+
SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP).forEach(listGroup => {
|
|
6130
|
+
// Set triggered links parents as active
|
|
6131
|
+
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
|
|
6132
|
+
SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`).forEach(item => item.classList.add(CLASS_NAME_ACTIVE$1));
|
|
6133
|
+
|
|
6134
|
+
// Handle special case when .nav-link is inside .nav-item
|
|
6135
|
+
SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS).forEach(navItem => {
|
|
6136
|
+
SelectorEngine.children(navItem, SELECTOR_NAV_LINKS).forEach(item => item.classList.add(CLASS_NAME_ACTIVE$1));
|
|
6137
|
+
});
|
|
6138
|
+
});
|
|
6139
|
+
}
|
|
6140
|
+
EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {
|
|
6141
|
+
relatedTarget: target
|
|
6142
|
+
});
|
|
6143
|
+
}
|
|
6144
|
+
_clear() {
|
|
6145
|
+
SelectorEngine.find(SELECTOR_LINK_ITEMS, this._config.target).filter(node => node.classList.contains(CLASS_NAME_ACTIVE$1)).forEach(node => node.classList.remove(CLASS_NAME_ACTIVE$1));
|
|
6146
|
+
}
|
|
6147
|
+
|
|
6148
|
+
// Static
|
|
6149
|
+
|
|
6150
|
+
static jQueryInterface(config) {
|
|
6151
|
+
return this.each(function () {
|
|
6152
|
+
const data = ScrollSpy.getOrCreateInstance(this, config);
|
|
6153
|
+
if (typeof config !== 'string') {
|
|
6154
|
+
return;
|
|
6155
|
+
}
|
|
6156
|
+
if (typeof data[config] === 'undefined') {
|
|
6157
|
+
throw new TypeError(`No method named "${config}"`);
|
|
6158
|
+
}
|
|
6159
|
+
data[config]();
|
|
6160
|
+
});
|
|
6161
|
+
}
|
|
6162
|
+
}
|
|
6163
|
+
|
|
6164
|
+
/**
|
|
6165
|
+
* ------------------------------------------------------------------------
|
|
6166
|
+
* Data Api implementation
|
|
6167
|
+
* ------------------------------------------------------------------------
|
|
6168
|
+
*/
|
|
6169
|
+
|
|
6170
|
+
EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => {
|
|
6171
|
+
SelectorEngine.find(SELECTOR_DATA_SPY).forEach(spy => new ScrollSpy(spy));
|
|
5907
6172
|
});
|
|
5908
6173
|
|
|
5909
6174
|
/**
|
|
6175
|
+
* ------------------------------------------------------------------------
|
|
5910
6176
|
* jQuery
|
|
6177
|
+
* ------------------------------------------------------------------------
|
|
6178
|
+
* add .ScrollSpy to jQuery only if jQuery is present
|
|
5911
6179
|
*/
|
|
5912
6180
|
|
|
5913
6181
|
defineJQueryPlugin(ScrollSpy);
|
|
@@ -6372,6 +6640,7 @@
|
|
|
6372
6640
|
Modal,
|
|
6373
6641
|
Offcanvas,
|
|
6374
6642
|
Popover,
|
|
6643
|
+
ScrollSpyV2: ScrollSpy$1,
|
|
6375
6644
|
ScrollSpy,
|
|
6376
6645
|
Tab,
|
|
6377
6646
|
Toast,
|