@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
|
@@ -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(' ');
|
|
@@ -2103,10 +2103,9 @@
|
|
|
2103
2103
|
// Zooming can change the DPR, but it seems to report a value that will
|
|
2104
2104
|
// cleanly divide the values into the appropriate subpixels.
|
|
2105
2105
|
|
|
2106
|
-
function roundOffsetsByDPR(_ref) {
|
|
2106
|
+
function roundOffsetsByDPR(_ref, win) {
|
|
2107
2107
|
var x = _ref.x,
|
|
2108
2108
|
y = _ref.y;
|
|
2109
|
-
var win = window;
|
|
2110
2109
|
var dpr = win.devicePixelRatio || 1;
|
|
2111
2110
|
return {
|
|
2112
2111
|
x: round(x * dpr) / dpr || 0,
|
|
@@ -2179,7 +2178,7 @@
|
|
|
2179
2178
|
var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
|
|
2180
2179
|
x: x,
|
|
2181
2180
|
y: y
|
|
2182
|
-
}) : {
|
|
2181
|
+
}, getWindow(popper)) : {
|
|
2183
2182
|
x: x,
|
|
2184
2183
|
y: y
|
|
2185
2184
|
};
|
|
@@ -3343,23 +3342,23 @@
|
|
|
3343
3342
|
* Constants
|
|
3344
3343
|
*/
|
|
3345
3344
|
|
|
3346
|
-
const NAME$
|
|
3347
|
-
const DATA_KEY$
|
|
3348
|
-
const EVENT_KEY$
|
|
3349
|
-
const DATA_API_KEY$
|
|
3345
|
+
const NAME$c = 'dropdown';
|
|
3346
|
+
const DATA_KEY$8 = 'bs.dropdown';
|
|
3347
|
+
const EVENT_KEY$8 = `.${DATA_KEY$8}`;
|
|
3348
|
+
const DATA_API_KEY$5 = '.data-api';
|
|
3350
3349
|
const ESCAPE_KEY$2 = 'Escape';
|
|
3351
3350
|
const TAB_KEY$1 = 'Tab';
|
|
3352
3351
|
const ARROW_UP_KEY$1 = 'ArrowUp';
|
|
3353
3352
|
const ARROW_DOWN_KEY$1 = 'ArrowDown';
|
|
3354
3353
|
const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
|
|
3355
3354
|
|
|
3356
|
-
const EVENT_HIDE$5 = `hide${EVENT_KEY$
|
|
3357
|
-
const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$
|
|
3358
|
-
const EVENT_SHOW$5 = `show${EVENT_KEY$
|
|
3359
|
-
const EVENT_SHOWN$5 = `shown${EVENT_KEY$
|
|
3360
|
-
const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$
|
|
3361
|
-
const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$
|
|
3362
|
-
const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$
|
|
3355
|
+
const EVENT_HIDE$5 = `hide${EVENT_KEY$8}`;
|
|
3356
|
+
const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$8}`;
|
|
3357
|
+
const EVENT_SHOW$5 = `show${EVENT_KEY$8}`;
|
|
3358
|
+
const EVENT_SHOWN$5 = `shown${EVENT_KEY$8}`;
|
|
3359
|
+
const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
|
|
3360
|
+
const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$8}${DATA_API_KEY$5}`;
|
|
3361
|
+
const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$8}${DATA_API_KEY$5}`;
|
|
3363
3362
|
const CLASS_NAME_SHOW$6 = 'show';
|
|
3364
3363
|
const CLASS_NAME_DROPUP = 'dropup';
|
|
3365
3364
|
const CLASS_NAME_DROPEND = 'dropend';
|
|
@@ -3380,7 +3379,7 @@
|
|
|
3380
3379
|
const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
|
|
3381
3380
|
const PLACEMENT_TOPCENTER = 'top';
|
|
3382
3381
|
const PLACEMENT_BOTTOMCENTER = 'bottom';
|
|
3383
|
-
const Default$
|
|
3382
|
+
const Default$b = {
|
|
3384
3383
|
autoClose: true,
|
|
3385
3384
|
boundary: 'clippingParents',
|
|
3386
3385
|
display: 'dynamic',
|
|
@@ -3413,13 +3412,13 @@
|
|
|
3413
3412
|
|
|
3414
3413
|
// Getters
|
|
3415
3414
|
static get Default() {
|
|
3416
|
-
return Default$
|
|
3415
|
+
return Default$b;
|
|
3417
3416
|
}
|
|
3418
3417
|
static get DefaultType() {
|
|
3419
3418
|
return DefaultType$9;
|
|
3420
3419
|
}
|
|
3421
3420
|
static get NAME() {
|
|
3422
|
-
return NAME$
|
|
3421
|
+
return NAME$c;
|
|
3423
3422
|
}
|
|
3424
3423
|
|
|
3425
3424
|
// Public
|
|
@@ -3496,14 +3495,14 @@
|
|
|
3496
3495
|
this._menu.classList.remove(CLASS_NAME_SHOW$6);
|
|
3497
3496
|
this._element.classList.remove(CLASS_NAME_SHOW$6);
|
|
3498
3497
|
this._element.setAttribute('aria-expanded', 'false');
|
|
3499
|
-
Manipulator.removeDataAttribute(this._menu, 'popper');
|
|
3498
|
+
Manipulator$1.removeDataAttribute(this._menu, 'popper');
|
|
3500
3499
|
EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);
|
|
3501
3500
|
}
|
|
3502
3501
|
_getConfig(config) {
|
|
3503
3502
|
config = super._getConfig(config);
|
|
3504
3503
|
if (typeof config.reference === 'object' && !isElement$1(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
|
|
3505
3504
|
// Popper virtual elements require a getBoundingClientRect method
|
|
3506
|
-
throw new TypeError(`${NAME$
|
|
3505
|
+
throw new TypeError(`${NAME$c.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
|
|
3507
3506
|
}
|
|
3508
3507
|
return config;
|
|
3509
3508
|
}
|
|
@@ -3580,7 +3579,7 @@
|
|
|
3580
3579
|
|
|
3581
3580
|
// Disable Popper if we have a static display or Dropdown is in Navbar
|
|
3582
3581
|
if (this._inNavbar || this._config.display === 'static') {
|
|
3583
|
-
Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove
|
|
3582
|
+
Manipulator$1.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove
|
|
3584
3583
|
defaultBsPopperConfig.modifiers = [{
|
|
3585
3584
|
name: 'applyStyles',
|
|
3586
3585
|
enabled: false
|
|
@@ -3712,11 +3711,11 @@
|
|
|
3712
3711
|
* ------------------------------------------------------------------------
|
|
3713
3712
|
*/
|
|
3714
3713
|
|
|
3715
|
-
const Default$
|
|
3716
|
-
const NAME$
|
|
3717
|
-
const DATA_KEY$
|
|
3718
|
-
const EVENT_KEY$
|
|
3719
|
-
const DATA_API_KEY$
|
|
3714
|
+
const Default$a = {};
|
|
3715
|
+
const NAME$b = 'gallery';
|
|
3716
|
+
const DATA_KEY$7 = 'bs.gallery';
|
|
3717
|
+
const EVENT_KEY$7 = `.${DATA_KEY$7}`;
|
|
3718
|
+
const DATA_API_KEY$4 = '.data-api';
|
|
3720
3719
|
const CAROUSEL_SELECTOR = '.carousel';
|
|
3721
3720
|
const CAROUSEL_PAGER_SELECTOR = '.carousel-pager span';
|
|
3722
3721
|
const CAROUSEL_ACTIVE_SELECTOR = '.carousel-item.active';
|
|
@@ -3725,7 +3724,7 @@
|
|
|
3725
3724
|
const MODAL_SELECTOR = '.modal';
|
|
3726
3725
|
const EVENT_MODAL_HIDE$1 = 'hide.bs.modal';
|
|
3727
3726
|
const CAROUSEL_EVENT = 'slide.bs.carousel';
|
|
3728
|
-
const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$
|
|
3727
|
+
const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;
|
|
3729
3728
|
|
|
3730
3729
|
/**
|
|
3731
3730
|
* ------------------------------------------------------------------------
|
|
@@ -3736,19 +3735,20 @@
|
|
|
3736
3735
|
class Gallery extends BaseComponent {
|
|
3737
3736
|
constructor(element, config) {
|
|
3738
3737
|
super(element, config);
|
|
3739
|
-
|
|
3740
|
-
this.
|
|
3738
|
+
/* eslint no-underscore-dangle: ["error", { "allow": ["_element"] }] */
|
|
3739
|
+
this.carousel = SelectorEngine.findOne(CAROUSEL_SELECTOR, this._element);
|
|
3740
|
+
this.carouselPager = SelectorEngine.findOne(CAROUSEL_PAGER_SELECTOR, this._element);
|
|
3741
3741
|
this.carouselStartIndex = element.getAttribute('data-gallery-start');
|
|
3742
3742
|
this.carouselActiveItem = SelectorEngine.find(CAROUSEL_ITEM_SELECTOR, this.carousel)[this.carouselStartIndex];
|
|
3743
3743
|
this.carouselPager.textContent = Number(this.carouselStartIndex) + 1;
|
|
3744
|
-
this.modal = SelectorEngine.findOne(MODAL_SELECTOR, this.
|
|
3744
|
+
this.modal = SelectorEngine.findOne(MODAL_SELECTOR, this._element);
|
|
3745
3745
|
this.addEventListeners();
|
|
3746
3746
|
this.carouselLazyLoad(this.carouselActiveItem);
|
|
3747
3747
|
}
|
|
3748
3748
|
|
|
3749
3749
|
// Getters
|
|
3750
3750
|
static get NAME() {
|
|
3751
|
-
return NAME$
|
|
3751
|
+
return NAME$b;
|
|
3752
3752
|
}
|
|
3753
3753
|
|
|
3754
3754
|
// Public
|
|
@@ -3790,7 +3790,7 @@
|
|
|
3790
3790
|
|
|
3791
3791
|
// Static
|
|
3792
3792
|
static get Default() {
|
|
3793
|
-
return Default$
|
|
3793
|
+
return Default$a;
|
|
3794
3794
|
}
|
|
3795
3795
|
static jQueryInterface(config) {
|
|
3796
3796
|
return this.each(function jInterface() {
|
|
@@ -3898,18 +3898,18 @@
|
|
|
3898
3898
|
_saveInitialAttribute(element, styleProperty) {
|
|
3899
3899
|
const actualValue = element.style.getPropertyValue(styleProperty);
|
|
3900
3900
|
if (actualValue) {
|
|
3901
|
-
Manipulator.setDataAttribute(element, styleProperty, actualValue);
|
|
3901
|
+
Manipulator$1.setDataAttribute(element, styleProperty, actualValue);
|
|
3902
3902
|
}
|
|
3903
3903
|
}
|
|
3904
3904
|
_resetElementAttributes(selector, styleProperty) {
|
|
3905
3905
|
const manipulationCallBack = element => {
|
|
3906
|
-
const value = Manipulator.getDataAttribute(element, styleProperty);
|
|
3906
|
+
const value = Manipulator$1.getDataAttribute(element, styleProperty);
|
|
3907
3907
|
// We only want to remove the property if the value is `null`; the value can also be zero
|
|
3908
3908
|
if (value === null) {
|
|
3909
3909
|
element.style.removeProperty(styleProperty);
|
|
3910
3910
|
return;
|
|
3911
3911
|
}
|
|
3912
|
-
Manipulator.removeDataAttribute(element, styleProperty);
|
|
3912
|
+
Manipulator$1.removeDataAttribute(element, styleProperty);
|
|
3913
3913
|
element.style.setProperty(styleProperty, value);
|
|
3914
3914
|
};
|
|
3915
3915
|
this._applyManipulationCallback(selector, manipulationCallBack);
|
|
@@ -3936,11 +3936,11 @@
|
|
|
3936
3936
|
* Constants
|
|
3937
3937
|
*/
|
|
3938
3938
|
|
|
3939
|
-
const NAME$
|
|
3939
|
+
const NAME$a = 'backdrop';
|
|
3940
3940
|
const CLASS_NAME_FADE$4 = 'fade';
|
|
3941
3941
|
const CLASS_NAME_SHOW$5 = 'show';
|
|
3942
|
-
const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$
|
|
3943
|
-
const Default$
|
|
3942
|
+
const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$a}`;
|
|
3943
|
+
const Default$9 = {
|
|
3944
3944
|
className: 'modal-backdrop',
|
|
3945
3945
|
clickCallback: null,
|
|
3946
3946
|
isAnimated: false,
|
|
@@ -3971,13 +3971,13 @@
|
|
|
3971
3971
|
|
|
3972
3972
|
// Getters
|
|
3973
3973
|
static get Default() {
|
|
3974
|
-
return Default$
|
|
3974
|
+
return Default$9;
|
|
3975
3975
|
}
|
|
3976
3976
|
static get DefaultType() {
|
|
3977
3977
|
return DefaultType$8;
|
|
3978
3978
|
}
|
|
3979
3979
|
static get NAME() {
|
|
3980
|
-
return NAME$
|
|
3980
|
+
return NAME$a;
|
|
3981
3981
|
}
|
|
3982
3982
|
|
|
3983
3983
|
// Public
|
|
@@ -4060,15 +4060,15 @@
|
|
|
4060
4060
|
* Constants
|
|
4061
4061
|
*/
|
|
4062
4062
|
|
|
4063
|
-
const NAME$
|
|
4064
|
-
const DATA_KEY$
|
|
4065
|
-
const EVENT_KEY$
|
|
4066
|
-
const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$
|
|
4067
|
-
const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$
|
|
4063
|
+
const NAME$9 = 'focustrap';
|
|
4064
|
+
const DATA_KEY$6 = 'bs.focustrap';
|
|
4065
|
+
const EVENT_KEY$6 = `.${DATA_KEY$6}`;
|
|
4066
|
+
const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$6}`;
|
|
4067
|
+
const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$6}`;
|
|
4068
4068
|
const TAB_KEY = 'Tab';
|
|
4069
4069
|
const TAB_NAV_FORWARD = 'forward';
|
|
4070
4070
|
const TAB_NAV_BACKWARD = 'backward';
|
|
4071
|
-
const Default$
|
|
4071
|
+
const Default$8 = {
|
|
4072
4072
|
autofocus: true,
|
|
4073
4073
|
trapElement: null // The element to trap focus inside of
|
|
4074
4074
|
};
|
|
@@ -4092,13 +4092,13 @@
|
|
|
4092
4092
|
|
|
4093
4093
|
// Getters
|
|
4094
4094
|
static get Default() {
|
|
4095
|
-
return Default$
|
|
4095
|
+
return Default$8;
|
|
4096
4096
|
}
|
|
4097
4097
|
static get DefaultType() {
|
|
4098
4098
|
return DefaultType$7;
|
|
4099
4099
|
}
|
|
4100
4100
|
static get NAME() {
|
|
4101
|
-
return NAME$
|
|
4101
|
+
return NAME$9;
|
|
4102
4102
|
}
|
|
4103
4103
|
|
|
4104
4104
|
// Public
|
|
@@ -4109,7 +4109,7 @@
|
|
|
4109
4109
|
if (this._config.autofocus) {
|
|
4110
4110
|
this._config.trapElement.focus();
|
|
4111
4111
|
}
|
|
4112
|
-
EventHandler.off(document, EVENT_KEY$
|
|
4112
|
+
EventHandler.off(document, EVENT_KEY$6); // guard against infinite focus loop
|
|
4113
4113
|
EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));
|
|
4114
4114
|
EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));
|
|
4115
4115
|
this._isActive = true;
|
|
@@ -4119,7 +4119,7 @@
|
|
|
4119
4119
|
return;
|
|
4120
4120
|
}
|
|
4121
4121
|
this._isActive = false;
|
|
4122
|
-
EventHandler.off(document, EVENT_KEY$
|
|
4122
|
+
EventHandler.off(document, EVENT_KEY$6);
|
|
4123
4123
|
}
|
|
4124
4124
|
|
|
4125
4125
|
// Private
|
|
@@ -4158,21 +4158,21 @@
|
|
|
4158
4158
|
* Constants
|
|
4159
4159
|
*/
|
|
4160
4160
|
|
|
4161
|
-
const NAME$
|
|
4162
|
-
const DATA_KEY$
|
|
4163
|
-
const EVENT_KEY$
|
|
4164
|
-
const DATA_API_KEY$
|
|
4161
|
+
const NAME$8 = 'modal';
|
|
4162
|
+
const DATA_KEY$5 = 'bs.modal';
|
|
4163
|
+
const EVENT_KEY$5 = `.${DATA_KEY$5}`;
|
|
4164
|
+
const DATA_API_KEY$3 = '.data-api';
|
|
4165
4165
|
const ESCAPE_KEY$1 = 'Escape';
|
|
4166
|
-
const EVENT_HIDE$4 = `hide${EVENT_KEY$
|
|
4167
|
-
const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$
|
|
4168
|
-
const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$
|
|
4169
|
-
const EVENT_SHOW$4 = `show${EVENT_KEY$
|
|
4170
|
-
const EVENT_SHOWN$4 = `shown${EVENT_KEY$
|
|
4171
|
-
const EVENT_RESIZE$1 = `resize${EVENT_KEY$
|
|
4172
|
-
const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$
|
|
4173
|
-
const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$
|
|
4174
|
-
const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$
|
|
4175
|
-
const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$
|
|
4166
|
+
const EVENT_HIDE$4 = `hide${EVENT_KEY$5}`;
|
|
4167
|
+
const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$5}`;
|
|
4168
|
+
const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$5}`;
|
|
4169
|
+
const EVENT_SHOW$4 = `show${EVENT_KEY$5}`;
|
|
4170
|
+
const EVENT_SHOWN$4 = `shown${EVENT_KEY$5}`;
|
|
4171
|
+
const EVENT_RESIZE$1 = `resize${EVENT_KEY$5}`;
|
|
4172
|
+
const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$5}`;
|
|
4173
|
+
const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$5}`;
|
|
4174
|
+
const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$5}`;
|
|
4175
|
+
const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$5}${DATA_API_KEY$3}`;
|
|
4176
4176
|
const CLASS_NAME_OPEN = 'modal-open';
|
|
4177
4177
|
const CLASS_NAME_FADE$3 = 'fade';
|
|
4178
4178
|
const CLASS_NAME_SHOW$4 = 'show';
|
|
@@ -4181,7 +4181,7 @@
|
|
|
4181
4181
|
const SELECTOR_DIALOG = '.modal-dialog';
|
|
4182
4182
|
const SELECTOR_MODAL_BODY = '.modal-body';
|
|
4183
4183
|
const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]';
|
|
4184
|
-
const Default$
|
|
4184
|
+
const Default$7 = {
|
|
4185
4185
|
backdrop: true,
|
|
4186
4186
|
focus: true,
|
|
4187
4187
|
keyboard: true
|
|
@@ -4210,13 +4210,13 @@
|
|
|
4210
4210
|
|
|
4211
4211
|
// Getters
|
|
4212
4212
|
static get Default() {
|
|
4213
|
-
return Default$
|
|
4213
|
+
return Default$7;
|
|
4214
4214
|
}
|
|
4215
4215
|
static get DefaultType() {
|
|
4216
4216
|
return DefaultType$6;
|
|
4217
4217
|
}
|
|
4218
4218
|
static get NAME() {
|
|
4219
|
-
return NAME$
|
|
4219
|
+
return NAME$8;
|
|
4220
4220
|
}
|
|
4221
4221
|
|
|
4222
4222
|
// Public
|
|
@@ -4256,7 +4256,7 @@
|
|
|
4256
4256
|
}
|
|
4257
4257
|
dispose() {
|
|
4258
4258
|
for (const htmlElement of [window, this._dialog]) {
|
|
4259
|
-
EventHandler.off(htmlElement, EVENT_KEY$
|
|
4259
|
+
EventHandler.off(htmlElement, EVENT_KEY$5);
|
|
4260
4260
|
}
|
|
4261
4261
|
this._backdrop.dispose();
|
|
4262
4262
|
this._focustrap.deactivate();
|
|
@@ -4464,27 +4464,27 @@
|
|
|
4464
4464
|
* Constants
|
|
4465
4465
|
*/
|
|
4466
4466
|
|
|
4467
|
-
const NAME$
|
|
4468
|
-
const DATA_KEY$
|
|
4469
|
-
const EVENT_KEY$
|
|
4470
|
-
const DATA_API_KEY$
|
|
4471
|
-
const EVENT_LOAD_DATA_API$
|
|
4467
|
+
const NAME$7 = 'offcanvas';
|
|
4468
|
+
const DATA_KEY$4 = 'bs.offcanvas';
|
|
4469
|
+
const EVENT_KEY$4 = `.${DATA_KEY$4}`;
|
|
4470
|
+
const DATA_API_KEY$2 = '.data-api';
|
|
4471
|
+
const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$4}${DATA_API_KEY$2}`;
|
|
4472
4472
|
const ESCAPE_KEY = 'Escape';
|
|
4473
4473
|
const CLASS_NAME_SHOW$3 = 'show';
|
|
4474
4474
|
const CLASS_NAME_SHOWING$1 = 'showing';
|
|
4475
4475
|
const CLASS_NAME_HIDING = 'hiding';
|
|
4476
4476
|
const CLASS_NAME_BACKDROP = 'offcanvas-backdrop';
|
|
4477
4477
|
const OPEN_SELECTOR = '.offcanvas.show';
|
|
4478
|
-
const EVENT_SHOW$3 = `show${EVENT_KEY$
|
|
4479
|
-
const EVENT_SHOWN$3 = `shown${EVENT_KEY$
|
|
4480
|
-
const EVENT_HIDE$3 = `hide${EVENT_KEY$
|
|
4481
|
-
const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$
|
|
4482
|
-
const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$
|
|
4483
|
-
const EVENT_RESIZE = `resize${EVENT_KEY$
|
|
4484
|
-
const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$
|
|
4485
|
-
const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$
|
|
4478
|
+
const EVENT_SHOW$3 = `show${EVENT_KEY$4}`;
|
|
4479
|
+
const EVENT_SHOWN$3 = `shown${EVENT_KEY$4}`;
|
|
4480
|
+
const EVENT_HIDE$3 = `hide${EVENT_KEY$4}`;
|
|
4481
|
+
const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$4}`;
|
|
4482
|
+
const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$4}`;
|
|
4483
|
+
const EVENT_RESIZE = `resize${EVENT_KEY$4}`;
|
|
4484
|
+
const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;
|
|
4485
|
+
const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$4}`;
|
|
4486
4486
|
const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="offcanvas"]';
|
|
4487
|
-
const Default$
|
|
4487
|
+
const Default$6 = {
|
|
4488
4488
|
backdrop: true,
|
|
4489
4489
|
keyboard: true,
|
|
4490
4490
|
scroll: false
|
|
@@ -4510,13 +4510,13 @@
|
|
|
4510
4510
|
|
|
4511
4511
|
// Getters
|
|
4512
4512
|
static get Default() {
|
|
4513
|
-
return Default$
|
|
4513
|
+
return Default$6;
|
|
4514
4514
|
}
|
|
4515
4515
|
static get DefaultType() {
|
|
4516
4516
|
return DefaultType$5;
|
|
4517
4517
|
}
|
|
4518
4518
|
static get NAME() {
|
|
4519
|
-
return NAME$
|
|
4519
|
+
return NAME$7;
|
|
4520
4520
|
}
|
|
4521
4521
|
|
|
4522
4522
|
// Public
|
|
@@ -4663,7 +4663,7 @@
|
|
|
4663
4663
|
const data = Offcanvas.getOrCreateInstance(target);
|
|
4664
4664
|
data.toggle(this);
|
|
4665
4665
|
});
|
|
4666
|
-
EventHandler.on(window, EVENT_LOAD_DATA_API$
|
|
4666
|
+
EventHandler.on(window, EVENT_LOAD_DATA_API$3, () => {
|
|
4667
4667
|
for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {
|
|
4668
4668
|
Offcanvas.getOrCreateInstance(selector).show();
|
|
4669
4669
|
}
|
|
@@ -4789,8 +4789,8 @@
|
|
|
4789
4789
|
* Constants
|
|
4790
4790
|
*/
|
|
4791
4791
|
|
|
4792
|
-
const NAME$
|
|
4793
|
-
const Default$
|
|
4792
|
+
const NAME$6 = 'TemplateFactory';
|
|
4793
|
+
const Default$5 = {
|
|
4794
4794
|
allowList: DefaultAllowlist,
|
|
4795
4795
|
content: {},
|
|
4796
4796
|
// { selector : text , selector2 : text2 , }
|
|
@@ -4826,13 +4826,13 @@
|
|
|
4826
4826
|
|
|
4827
4827
|
// Getters
|
|
4828
4828
|
static get Default() {
|
|
4829
|
-
return Default$
|
|
4829
|
+
return Default$5;
|
|
4830
4830
|
}
|
|
4831
4831
|
static get DefaultType() {
|
|
4832
4832
|
return DefaultType$4;
|
|
4833
4833
|
}
|
|
4834
4834
|
static get NAME() {
|
|
4835
|
-
return NAME$
|
|
4835
|
+
return NAME$6;
|
|
4836
4836
|
}
|
|
4837
4837
|
|
|
4838
4838
|
// Public
|
|
@@ -4924,7 +4924,7 @@
|
|
|
4924
4924
|
* Constants
|
|
4925
4925
|
*/
|
|
4926
4926
|
|
|
4927
|
-
const NAME$
|
|
4927
|
+
const NAME$5 = 'tooltip';
|
|
4928
4928
|
const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);
|
|
4929
4929
|
const CLASS_NAME_FADE$2 = 'fade';
|
|
4930
4930
|
const CLASS_NAME_MODAL = 'modal';
|
|
@@ -4953,7 +4953,7 @@
|
|
|
4953
4953
|
BOTTOM: 'bottom',
|
|
4954
4954
|
LEFT: isRTL() ? 'right' : 'left'
|
|
4955
4955
|
};
|
|
4956
|
-
const Default$
|
|
4956
|
+
const Default$4 = {
|
|
4957
4957
|
allowList: DefaultAllowlist,
|
|
4958
4958
|
animation: true,
|
|
4959
4959
|
boundary: 'clippingParents',
|
|
@@ -5022,13 +5022,13 @@
|
|
|
5022
5022
|
|
|
5023
5023
|
// Getters
|
|
5024
5024
|
static get Default() {
|
|
5025
|
-
return Default$
|
|
5025
|
+
return Default$4;
|
|
5026
5026
|
}
|
|
5027
5027
|
static get DefaultType() {
|
|
5028
5028
|
return DefaultType$3;
|
|
5029
5029
|
}
|
|
5030
5030
|
static get NAME() {
|
|
5031
|
-
return NAME$
|
|
5031
|
+
return NAME$5;
|
|
5032
5032
|
}
|
|
5033
5033
|
|
|
5034
5034
|
// Public
|
|
@@ -5346,7 +5346,7 @@
|
|
|
5346
5346
|
return Object.values(this._activeTrigger).includes(true);
|
|
5347
5347
|
}
|
|
5348
5348
|
_getConfig(config) {
|
|
5349
|
-
const dataAttributes = Manipulator.getDataAttributes(this._element);
|
|
5349
|
+
const dataAttributes = Manipulator$1.getDataAttributes(this._element);
|
|
5350
5350
|
for (const dataAttribute of Object.keys(dataAttributes)) {
|
|
5351
5351
|
if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {
|
|
5352
5352
|
delete dataAttributes[dataAttribute];
|
|
@@ -5435,10 +5435,10 @@
|
|
|
5435
5435
|
* Constants
|
|
5436
5436
|
*/
|
|
5437
5437
|
|
|
5438
|
-
const NAME$
|
|
5438
|
+
const NAME$4 = 'popover';
|
|
5439
5439
|
const SELECTOR_TITLE = '.popover-header';
|
|
5440
5440
|
const SELECTOR_CONTENT = '.popover-body';
|
|
5441
|
-
const Default$
|
|
5441
|
+
const Default$3 = {
|
|
5442
5442
|
...Tooltip.Default,
|
|
5443
5443
|
content: '',
|
|
5444
5444
|
offset: [0, 8],
|
|
@@ -5458,13 +5458,13 @@
|
|
|
5458
5458
|
class Popover extends Tooltip {
|
|
5459
5459
|
// Getters
|
|
5460
5460
|
static get Default() {
|
|
5461
|
-
return Default$
|
|
5461
|
+
return Default$3;
|
|
5462
5462
|
}
|
|
5463
5463
|
static get DefaultType() {
|
|
5464
5464
|
return DefaultType$2;
|
|
5465
5465
|
}
|
|
5466
5466
|
static get NAME() {
|
|
5467
|
-
return NAME$
|
|
5467
|
+
return NAME$4;
|
|
5468
5468
|
}
|
|
5469
5469
|
|
|
5470
5470
|
// Overrides
|
|
@@ -5515,25 +5515,25 @@
|
|
|
5515
5515
|
* Constants
|
|
5516
5516
|
*/
|
|
5517
5517
|
|
|
5518
|
-
const NAME$
|
|
5519
|
-
const DATA_KEY$
|
|
5520
|
-
const EVENT_KEY$
|
|
5521
|
-
const DATA_API_KEY = '.data-api';
|
|
5522
|
-
const EVENT_ACTIVATE = `activate${EVENT_KEY$
|
|
5523
|
-
const EVENT_CLICK = `click${EVENT_KEY$
|
|
5524
|
-
const EVENT_LOAD_DATA_API$
|
|
5525
|
-
const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
|
|
5526
|
-
const CLASS_NAME_ACTIVE$
|
|
5527
|
-
const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]';
|
|
5518
|
+
const NAME$3 = 'scrollspy';
|
|
5519
|
+
const DATA_KEY$3 = 'bs.scrollspy';
|
|
5520
|
+
const EVENT_KEY$3 = `.${DATA_KEY$3}`;
|
|
5521
|
+
const DATA_API_KEY$1 = '.data-api';
|
|
5522
|
+
const EVENT_ACTIVATE$1 = `activate${EVENT_KEY$3}`;
|
|
5523
|
+
const EVENT_CLICK = `click${EVENT_KEY$3}`;
|
|
5524
|
+
const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;
|
|
5525
|
+
const CLASS_NAME_DROPDOWN_ITEM$1 = 'dropdown-item';
|
|
5526
|
+
const CLASS_NAME_ACTIVE$2 = 'active';
|
|
5527
|
+
const SELECTOR_DATA_SPY$1 = '[data-bs-spy="scroll"]';
|
|
5528
5528
|
const SELECTOR_TARGET_LINKS = '[href]';
|
|
5529
|
-
const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
|
|
5530
|
-
const SELECTOR_NAV_LINKS = '.nav-link';
|
|
5531
|
-
const SELECTOR_NAV_ITEMS = '.nav-item';
|
|
5532
|
-
const SELECTOR_LIST_ITEMS = '.list-group-item';
|
|
5533
|
-
const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`;
|
|
5534
|
-
const SELECTOR_DROPDOWN = '.dropdown';
|
|
5535
|
-
const SELECTOR_DROPDOWN_TOGGLE$
|
|
5536
|
-
const Default$
|
|
5529
|
+
const SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';
|
|
5530
|
+
const SELECTOR_NAV_LINKS$1 = '.nav-link';
|
|
5531
|
+
const SELECTOR_NAV_ITEMS$1 = '.nav-item';
|
|
5532
|
+
const SELECTOR_LIST_ITEMS$1 = '.list-group-item';
|
|
5533
|
+
const SELECTOR_LINK_ITEMS$1 = `${SELECTOR_NAV_LINKS$1}, ${SELECTOR_NAV_ITEMS$1} > ${SELECTOR_NAV_LINKS$1}, ${SELECTOR_LIST_ITEMS$1}`;
|
|
5534
|
+
const SELECTOR_DROPDOWN$1 = '.dropdown';
|
|
5535
|
+
const SELECTOR_DROPDOWN_TOGGLE$2 = '.dropdown-toggle';
|
|
5536
|
+
const Default$2 = {
|
|
5537
5537
|
offset: null,
|
|
5538
5538
|
// TODO: v6 @deprecated, keep it for backwards compatibility reasons
|
|
5539
5539
|
rootMargin: '0px 0px -25%',
|
|
@@ -5554,7 +5554,7 @@
|
|
|
5554
5554
|
* Class definition
|
|
5555
5555
|
*/
|
|
5556
5556
|
|
|
5557
|
-
class ScrollSpy extends BaseComponent {
|
|
5557
|
+
let ScrollSpy$1 = class ScrollSpy extends BaseComponent {
|
|
5558
5558
|
constructor(element, config) {
|
|
5559
5559
|
super(element, config);
|
|
5560
5560
|
|
|
@@ -5573,13 +5573,13 @@
|
|
|
5573
5573
|
|
|
5574
5574
|
// Getters
|
|
5575
5575
|
static get Default() {
|
|
5576
|
-
return Default$
|
|
5576
|
+
return Default$2;
|
|
5577
5577
|
}
|
|
5578
5578
|
static get DefaultType() {
|
|
5579
5579
|
return DefaultType$1;
|
|
5580
5580
|
}
|
|
5581
5581
|
static get NAME() {
|
|
5582
|
-
return NAME$
|
|
5582
|
+
return NAME$3;
|
|
5583
5583
|
}
|
|
5584
5584
|
|
|
5585
5585
|
// Public
|
|
@@ -5704,31 +5704,31 @@
|
|
|
5704
5704
|
}
|
|
5705
5705
|
this._clearActiveClass(this._config.target);
|
|
5706
5706
|
this._activeTarget = target;
|
|
5707
|
-
target.classList.add(CLASS_NAME_ACTIVE$
|
|
5707
|
+
target.classList.add(CLASS_NAME_ACTIVE$2);
|
|
5708
5708
|
this._activateParents(target);
|
|
5709
|
-
EventHandler.trigger(this._element, EVENT_ACTIVATE, {
|
|
5709
|
+
EventHandler.trigger(this._element, EVENT_ACTIVATE$1, {
|
|
5710
5710
|
relatedTarget: target
|
|
5711
5711
|
});
|
|
5712
5712
|
}
|
|
5713
5713
|
_activateParents(target) {
|
|
5714
5714
|
// Activate dropdown parents
|
|
5715
|
-
if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
|
|
5716
|
-
SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$
|
|
5715
|
+
if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM$1)) {
|
|
5716
|
+
SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$2, target.closest(SELECTOR_DROPDOWN$1)).classList.add(CLASS_NAME_ACTIVE$2);
|
|
5717
5717
|
return;
|
|
5718
5718
|
}
|
|
5719
|
-
for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {
|
|
5719
|
+
for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP$1)) {
|
|
5720
5720
|
// Set triggered links parents as active
|
|
5721
5721
|
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
|
|
5722
|
-
for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {
|
|
5723
|
-
item.classList.add(CLASS_NAME_ACTIVE$
|
|
5722
|
+
for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS$1)) {
|
|
5723
|
+
item.classList.add(CLASS_NAME_ACTIVE$2);
|
|
5724
5724
|
}
|
|
5725
5725
|
}
|
|
5726
5726
|
}
|
|
5727
5727
|
_clearActiveClass(parent) {
|
|
5728
|
-
parent.classList.remove(CLASS_NAME_ACTIVE$
|
|
5729
|
-
const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$
|
|
5728
|
+
parent.classList.remove(CLASS_NAME_ACTIVE$2);
|
|
5729
|
+
const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$2}`, parent);
|
|
5730
5730
|
for (const node of activeNodes) {
|
|
5731
|
-
node.classList.remove(CLASS_NAME_ACTIVE$
|
|
5731
|
+
node.classList.remove(CLASS_NAME_ACTIVE$2);
|
|
5732
5732
|
}
|
|
5733
5733
|
}
|
|
5734
5734
|
|
|
@@ -5745,20 +5745,288 @@
|
|
|
5745
5745
|
data[config]();
|
|
5746
5746
|
});
|
|
5747
5747
|
}
|
|
5748
|
-
}
|
|
5748
|
+
};
|
|
5749
5749
|
|
|
5750
5750
|
/**
|
|
5751
5751
|
* Data API implementation
|
|
5752
5752
|
*/
|
|
5753
5753
|
|
|
5754
|
-
EventHandler.on(window, EVENT_LOAD_DATA_API$
|
|
5755
|
-
for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {
|
|
5756
|
-
ScrollSpy.getOrCreateInstance(spy);
|
|
5754
|
+
EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {
|
|
5755
|
+
for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY$1)) {
|
|
5756
|
+
ScrollSpy$1.getOrCreateInstance(spy);
|
|
5757
|
+
}
|
|
5758
|
+
});
|
|
5759
|
+
|
|
5760
|
+
/**
|
|
5761
|
+
* jQuery
|
|
5762
|
+
*/
|
|
5763
|
+
|
|
5764
|
+
defineJQueryPlugin(ScrollSpy$1);
|
|
5765
|
+
|
|
5766
|
+
/**
|
|
5767
|
+
* --------------------------------------------------------------------------
|
|
5768
|
+
* Bootstrap (v5.1.3): dom/manipulator.js
|
|
5769
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5770
|
+
* --------------------------------------------------------------------------
|
|
5771
|
+
*/
|
|
5772
|
+
|
|
5773
|
+
function normalizeData(val) {
|
|
5774
|
+
if (val === 'true') {
|
|
5775
|
+
return true;
|
|
5757
5776
|
}
|
|
5777
|
+
if (val === 'false') {
|
|
5778
|
+
return false;
|
|
5779
|
+
}
|
|
5780
|
+
if (val === Number(val).toString()) {
|
|
5781
|
+
return Number(val);
|
|
5782
|
+
}
|
|
5783
|
+
if (val === '' || val === 'null') {
|
|
5784
|
+
return null;
|
|
5785
|
+
}
|
|
5786
|
+
return val;
|
|
5787
|
+
}
|
|
5788
|
+
function normalizeDataKey(key) {
|
|
5789
|
+
return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`);
|
|
5790
|
+
}
|
|
5791
|
+
const Manipulator = {
|
|
5792
|
+
setDataAttribute(element, key, value) {
|
|
5793
|
+
element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value);
|
|
5794
|
+
},
|
|
5795
|
+
removeDataAttribute(element, key) {
|
|
5796
|
+
element.removeAttribute(`data-bs-${normalizeDataKey(key)}`);
|
|
5797
|
+
},
|
|
5798
|
+
getDataAttributes(element) {
|
|
5799
|
+
if (!element) {
|
|
5800
|
+
return {};
|
|
5801
|
+
}
|
|
5802
|
+
const attributes = {};
|
|
5803
|
+
Object.keys(element.dataset).filter(key => key.startsWith('bs')).forEach(key => {
|
|
5804
|
+
let pureKey = key.replace(/^bs/, '');
|
|
5805
|
+
pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);
|
|
5806
|
+
attributes[pureKey] = normalizeData(element.dataset[key]);
|
|
5807
|
+
});
|
|
5808
|
+
return attributes;
|
|
5809
|
+
},
|
|
5810
|
+
getDataAttribute(element, key) {
|
|
5811
|
+
return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`));
|
|
5812
|
+
},
|
|
5813
|
+
offset(element) {
|
|
5814
|
+
const rect = element.getBoundingClientRect();
|
|
5815
|
+
return {
|
|
5816
|
+
top: rect.top + window.pageYOffset,
|
|
5817
|
+
left: rect.left + window.pageXOffset
|
|
5818
|
+
};
|
|
5819
|
+
},
|
|
5820
|
+
position(element) {
|
|
5821
|
+
return {
|
|
5822
|
+
top: element.offsetTop,
|
|
5823
|
+
left: element.offsetLeft
|
|
5824
|
+
};
|
|
5825
|
+
}
|
|
5826
|
+
};
|
|
5827
|
+
|
|
5828
|
+
/**
|
|
5829
|
+
* --------------------------------------------------------------------------
|
|
5830
|
+
* Bootstrap (v5.1.3): scrollspy.js
|
|
5831
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5832
|
+
* --------------------------------------------------------------------------
|
|
5833
|
+
*/
|
|
5834
|
+
|
|
5835
|
+
/**
|
|
5836
|
+
* ------------------------------------------------------------------------
|
|
5837
|
+
* Constants
|
|
5838
|
+
* ------------------------------------------------------------------------
|
|
5839
|
+
*/
|
|
5840
|
+
|
|
5841
|
+
const NAME$2 = 'scrollspy';
|
|
5842
|
+
const DATA_KEY$2 = 'bs.scrollspy';
|
|
5843
|
+
const EVENT_KEY$2 = `.${DATA_KEY$2}`;
|
|
5844
|
+
const DATA_API_KEY = '.data-api';
|
|
5845
|
+
const Default$1 = {
|
|
5846
|
+
offset: 10,
|
|
5847
|
+
method: 'auto',
|
|
5848
|
+
target: ''
|
|
5849
|
+
};
|
|
5850
|
+
const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`;
|
|
5851
|
+
const EVENT_SCROLL = `scroll${EVENT_KEY$2}`;
|
|
5852
|
+
const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`;
|
|
5853
|
+
const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
|
|
5854
|
+
const CLASS_NAME_ACTIVE$1 = 'active';
|
|
5855
|
+
const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]';
|
|
5856
|
+
const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
|
|
5857
|
+
const SELECTOR_NAV_LINKS = '.nav-link';
|
|
5858
|
+
const SELECTOR_NAV_ITEMS = '.nav-item';
|
|
5859
|
+
const SELECTOR_LIST_ITEMS = '.list-group-item';
|
|
5860
|
+
const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}, .${CLASS_NAME_DROPDOWN_ITEM}`;
|
|
5861
|
+
const SELECTOR_DROPDOWN = '.dropdown';
|
|
5862
|
+
const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
|
|
5863
|
+
const METHOD_OFFSET = 'offset';
|
|
5864
|
+
const METHOD_POSITION = 'position';
|
|
5865
|
+
|
|
5866
|
+
/**
|
|
5867
|
+
* ------------------------------------------------------------------------
|
|
5868
|
+
* Class Definition
|
|
5869
|
+
* ------------------------------------------------------------------------
|
|
5870
|
+
*/
|
|
5871
|
+
|
|
5872
|
+
class ScrollSpy extends BaseComponent {
|
|
5873
|
+
constructor(element, config) {
|
|
5874
|
+
super(element);
|
|
5875
|
+
this._scrollElement = this._element.tagName === 'BODY' ? window : this._element;
|
|
5876
|
+
this._config = this._getConfig(config);
|
|
5877
|
+
this._offsets = [];
|
|
5878
|
+
this._targets = [];
|
|
5879
|
+
this._activeTarget = null;
|
|
5880
|
+
this._scrollHeight = 0;
|
|
5881
|
+
EventHandler.on(this._scrollElement, EVENT_SCROLL, () => this._process());
|
|
5882
|
+
this.refresh();
|
|
5883
|
+
this._process();
|
|
5884
|
+
}
|
|
5885
|
+
|
|
5886
|
+
// Getters
|
|
5887
|
+
|
|
5888
|
+
static get Default() {
|
|
5889
|
+
return Default$1;
|
|
5890
|
+
}
|
|
5891
|
+
static get NAME() {
|
|
5892
|
+
return NAME$2;
|
|
5893
|
+
}
|
|
5894
|
+
|
|
5895
|
+
// Public
|
|
5896
|
+
|
|
5897
|
+
refresh() {
|
|
5898
|
+
const autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;
|
|
5899
|
+
const offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
|
|
5900
|
+
const offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;
|
|
5901
|
+
this._offsets = [];
|
|
5902
|
+
this._targets = [];
|
|
5903
|
+
this._scrollHeight = this._getScrollHeight();
|
|
5904
|
+
const targets = SelectorEngine.find(SELECTOR_LINK_ITEMS, this._config.target);
|
|
5905
|
+
targets.map(element => {
|
|
5906
|
+
const targetSelector = getSelectorFromElement(element);
|
|
5907
|
+
const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null;
|
|
5908
|
+
if (target) {
|
|
5909
|
+
const targetBCR = target.getBoundingClientRect();
|
|
5910
|
+
if (targetBCR.width || targetBCR.height) {
|
|
5911
|
+
return [Manipulator[offsetMethod](target).top + offsetBase, targetSelector];
|
|
5912
|
+
}
|
|
5913
|
+
}
|
|
5914
|
+
return null;
|
|
5915
|
+
}).filter(item => item).sort((a, b) => a[0] - b[0]).forEach(item => {
|
|
5916
|
+
this._offsets.push(item[0]);
|
|
5917
|
+
this._targets.push(item[1]);
|
|
5918
|
+
});
|
|
5919
|
+
}
|
|
5920
|
+
dispose() {
|
|
5921
|
+
EventHandler.off(this._scrollElement, EVENT_KEY$2);
|
|
5922
|
+
super.dispose();
|
|
5923
|
+
}
|
|
5924
|
+
|
|
5925
|
+
// Private
|
|
5926
|
+
|
|
5927
|
+
_getConfig(config) {
|
|
5928
|
+
config = {
|
|
5929
|
+
...Default$1,
|
|
5930
|
+
...Manipulator.getDataAttributes(this._element),
|
|
5931
|
+
...(typeof config === 'object' && config ? config : {})
|
|
5932
|
+
};
|
|
5933
|
+
config.target = getElement(config.target) || document.documentElement;
|
|
5934
|
+
return config;
|
|
5935
|
+
}
|
|
5936
|
+
_getScrollTop() {
|
|
5937
|
+
return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
|
|
5938
|
+
}
|
|
5939
|
+
_getScrollHeight() {
|
|
5940
|
+
return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
|
|
5941
|
+
}
|
|
5942
|
+
_getOffsetHeight() {
|
|
5943
|
+
return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
|
|
5944
|
+
}
|
|
5945
|
+
_process() {
|
|
5946
|
+
const scrollTop = this._getScrollTop() + this._config.offset;
|
|
5947
|
+
const scrollHeight = this._getScrollHeight();
|
|
5948
|
+
const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
|
|
5949
|
+
if (this._scrollHeight !== scrollHeight) {
|
|
5950
|
+
this.refresh();
|
|
5951
|
+
}
|
|
5952
|
+
if (scrollTop >= maxScroll) {
|
|
5953
|
+
const target = this._targets[this._targets.length - 1];
|
|
5954
|
+
if (this._activeTarget !== target) {
|
|
5955
|
+
this._activate(target);
|
|
5956
|
+
}
|
|
5957
|
+
return;
|
|
5958
|
+
}
|
|
5959
|
+
if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
|
|
5960
|
+
this._activeTarget = null;
|
|
5961
|
+
this._clear();
|
|
5962
|
+
return;
|
|
5963
|
+
}
|
|
5964
|
+
for (let i = this._offsets.length; i--;) {
|
|
5965
|
+
const isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
|
|
5966
|
+
if (isActiveTarget) {
|
|
5967
|
+
this._activate(this._targets[i]);
|
|
5968
|
+
}
|
|
5969
|
+
}
|
|
5970
|
+
}
|
|
5971
|
+
_activate(target) {
|
|
5972
|
+
this._activeTarget = target;
|
|
5973
|
+
this._clear();
|
|
5974
|
+
const queries = SELECTOR_LINK_ITEMS.split(',').map(selector => `${selector}[data-bs-target="${target}"],${selector}[href="${target}"]`);
|
|
5975
|
+
const link = SelectorEngine.findOne(queries.join(','), this._config.target);
|
|
5976
|
+
link.classList.add(CLASS_NAME_ACTIVE$1);
|
|
5977
|
+
if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
|
|
5978
|
+
SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, link.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);
|
|
5979
|
+
} else {
|
|
5980
|
+
SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP).forEach(listGroup => {
|
|
5981
|
+
// Set triggered links parents as active
|
|
5982
|
+
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
|
|
5983
|
+
SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`).forEach(item => item.classList.add(CLASS_NAME_ACTIVE$1));
|
|
5984
|
+
|
|
5985
|
+
// Handle special case when .nav-link is inside .nav-item
|
|
5986
|
+
SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS).forEach(navItem => {
|
|
5987
|
+
SelectorEngine.children(navItem, SELECTOR_NAV_LINKS).forEach(item => item.classList.add(CLASS_NAME_ACTIVE$1));
|
|
5988
|
+
});
|
|
5989
|
+
});
|
|
5990
|
+
}
|
|
5991
|
+
EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {
|
|
5992
|
+
relatedTarget: target
|
|
5993
|
+
});
|
|
5994
|
+
}
|
|
5995
|
+
_clear() {
|
|
5996
|
+
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));
|
|
5997
|
+
}
|
|
5998
|
+
|
|
5999
|
+
// Static
|
|
6000
|
+
|
|
6001
|
+
static jQueryInterface(config) {
|
|
6002
|
+
return this.each(function () {
|
|
6003
|
+
const data = ScrollSpy.getOrCreateInstance(this, config);
|
|
6004
|
+
if (typeof config !== 'string') {
|
|
6005
|
+
return;
|
|
6006
|
+
}
|
|
6007
|
+
if (typeof data[config] === 'undefined') {
|
|
6008
|
+
throw new TypeError(`No method named "${config}"`);
|
|
6009
|
+
}
|
|
6010
|
+
data[config]();
|
|
6011
|
+
});
|
|
6012
|
+
}
|
|
6013
|
+
}
|
|
6014
|
+
|
|
6015
|
+
/**
|
|
6016
|
+
* ------------------------------------------------------------------------
|
|
6017
|
+
* Data Api implementation
|
|
6018
|
+
* ------------------------------------------------------------------------
|
|
6019
|
+
*/
|
|
6020
|
+
|
|
6021
|
+
EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => {
|
|
6022
|
+
SelectorEngine.find(SELECTOR_DATA_SPY).forEach(spy => new ScrollSpy(spy));
|
|
5758
6023
|
});
|
|
5759
6024
|
|
|
5760
6025
|
/**
|
|
6026
|
+
* ------------------------------------------------------------------------
|
|
5761
6027
|
* jQuery
|
|
6028
|
+
* ------------------------------------------------------------------------
|
|
6029
|
+
* add .ScrollSpy to jQuery only if jQuery is present
|
|
5762
6030
|
*/
|
|
5763
6031
|
|
|
5764
6032
|
defineJQueryPlugin(ScrollSpy);
|
|
@@ -6223,6 +6491,7 @@
|
|
|
6223
6491
|
Modal,
|
|
6224
6492
|
Offcanvas,
|
|
6225
6493
|
Popover,
|
|
6494
|
+
ScrollSpyV2: ScrollSpy$1,
|
|
6226
6495
|
ScrollSpy,
|
|
6227
6496
|
Tab,
|
|
6228
6497
|
Toast,
|