@openeuropa/bcl-theme-joinup 1.0.0 → 1.0.2

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.
@@ -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$g = 'alert';
761
- const DATA_KEY$b = 'bs.alert';
762
- const EVENT_KEY$c = `.${DATA_KEY$b}`;
763
- const EVENT_CLOSE = `close${EVENT_KEY$c}`;
764
- const EVENT_CLOSED = `closed${EVENT_KEY$c}`;
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$g;
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$f = 'button';
835
- const DATA_KEY$a = 'bs.button';
836
- const EVENT_KEY$b = `.${DATA_KEY$a}`;
837
- const DATA_API_KEY$7 = '.data-api';
838
- const CLASS_NAME_ACTIVE$3 = '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$b}${DATA_API_KEY$7}`;
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$f;
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$3));
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$e = 'swipe';
955
- const EVENT_KEY$a = '.bs.swipe';
956
- const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$a}`;
957
- const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$a}`;
958
- const EVENT_TOUCHEND = `touchend${EVENT_KEY$a}`;
959
- const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$a}`;
960
- const EVENT_POINTERUP = `pointerup${EVENT_KEY$a}`;
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$d = {
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$d;
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$e;
1001
+ return NAME$f;
1002
1002
  }
1003
1003
 
1004
1004
  // Public
1005
1005
  dispose() {
1006
- EventHandler.off(this._element, EVENT_KEY$a);
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$d = 'carousel';
1074
- const DATA_KEY$9 = 'bs.carousel';
1075
- const EVENT_KEY$9 = `.${DATA_KEY$9}`;
1076
- const DATA_API_KEY$6 = '.data-api';
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$9}`;
1086
- const EVENT_SLID = `slid${EVENT_KEY$9}`;
1087
- const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$9}`;
1088
- const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$9}`;
1089
- const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$9}`;
1090
- const EVENT_DRAG_START = `dragstart${EVENT_KEY$9}`;
1091
- const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$9}${DATA_API_KEY$6}`;
1092
- const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$9}${DATA_API_KEY$6}`;
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$2 = '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$c = {
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$c;
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$d;
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$2);
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$2);
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$2);
1341
- activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName);
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$3, () => {
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$c = 'collapse';
1446
- const DATA_KEY$8 = 'bs.collapse';
1447
- const EVENT_KEY$8 = `.${DATA_KEY$8}`;
1448
- const DATA_API_KEY$5 = '.data-api';
1449
- const EVENT_SHOW$6 = `show${EVENT_KEY$8}`;
1450
- const EVENT_SHOWN$6 = `shown${EVENT_KEY$8}`;
1451
- const EVENT_HIDE$6 = `hide${EVENT_KEY$8}`;
1452
- const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$8}`;
1453
- const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
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$b = {
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$b;
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$c;
1507
+ return NAME$d;
1508
1508
  }
1509
1509
 
1510
1510
  // Public
@@ -3343,23 +3343,23 @@
3343
3343
  * Constants
3344
3344
  */
3345
3345
 
3346
- const NAME$b = 'dropdown';
3347
- const DATA_KEY$7 = 'bs.dropdown';
3348
- const EVENT_KEY$7 = `.${DATA_KEY$7}`;
3349
- const DATA_API_KEY$4 = '.data-api';
3346
+ const NAME$c = 'dropdown';
3347
+ const DATA_KEY$8 = 'bs.dropdown';
3348
+ const EVENT_KEY$8 = `.${DATA_KEY$8}`;
3349
+ const DATA_API_KEY$5 = '.data-api';
3350
3350
  const ESCAPE_KEY$2 = 'Escape';
3351
3351
  const TAB_KEY$1 = 'Tab';
3352
3352
  const ARROW_UP_KEY$1 = 'ArrowUp';
3353
3353
  const ARROW_DOWN_KEY$1 = 'ArrowDown';
3354
3354
  const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
3355
3355
 
3356
- const EVENT_HIDE$5 = `hide${EVENT_KEY$7}`;
3357
- const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$7}`;
3358
- const EVENT_SHOW$5 = `show${EVENT_KEY$7}`;
3359
- const EVENT_SHOWN$5 = `shown${EVENT_KEY$7}`;
3360
- const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;
3361
- const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$7}${DATA_API_KEY$4}`;
3362
- const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$7}${DATA_API_KEY$4}`;
3356
+ const EVENT_HIDE$5 = `hide${EVENT_KEY$8}`;
3357
+ const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$8}`;
3358
+ const EVENT_SHOW$5 = `show${EVENT_KEY$8}`;
3359
+ const EVENT_SHOWN$5 = `shown${EVENT_KEY$8}`;
3360
+ const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
3361
+ const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$8}${DATA_API_KEY$5}`;
3362
+ const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$8}${DATA_API_KEY$5}`;
3363
3363
  const CLASS_NAME_SHOW$6 = 'show';
3364
3364
  const CLASS_NAME_DROPUP = 'dropup';
3365
3365
  const CLASS_NAME_DROPEND = 'dropend';
@@ -3380,7 +3380,7 @@
3380
3380
  const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
3381
3381
  const PLACEMENT_TOPCENTER = 'top';
3382
3382
  const PLACEMENT_BOTTOMCENTER = 'bottom';
3383
- const Default$a = {
3383
+ const Default$b = {
3384
3384
  autoClose: true,
3385
3385
  boundary: 'clippingParents',
3386
3386
  display: 'dynamic',
@@ -3413,13 +3413,13 @@
3413
3413
 
3414
3414
  // Getters
3415
3415
  static get Default() {
3416
- return Default$a;
3416
+ return Default$b;
3417
3417
  }
3418
3418
  static get DefaultType() {
3419
3419
  return DefaultType$9;
3420
3420
  }
3421
3421
  static get NAME() {
3422
- return NAME$b;
3422
+ return NAME$c;
3423
3423
  }
3424
3424
 
3425
3425
  // Public
@@ -3496,14 +3496,14 @@
3496
3496
  this._menu.classList.remove(CLASS_NAME_SHOW$6);
3497
3497
  this._element.classList.remove(CLASS_NAME_SHOW$6);
3498
3498
  this._element.setAttribute('aria-expanded', 'false');
3499
- Manipulator.removeDataAttribute(this._menu, 'popper');
3499
+ Manipulator$1.removeDataAttribute(this._menu, 'popper');
3500
3500
  EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);
3501
3501
  }
3502
3502
  _getConfig(config) {
3503
3503
  config = super._getConfig(config);
3504
3504
  if (typeof config.reference === 'object' && !isElement$1(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
3505
3505
  // Popper virtual elements require a getBoundingClientRect method
3506
- throw new TypeError(`${NAME$b.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
3506
+ throw new TypeError(`${NAME$c.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
3507
3507
  }
3508
3508
  return config;
3509
3509
  }
@@ -3580,7 +3580,7 @@
3580
3580
 
3581
3581
  // Disable Popper if we have a static display or Dropdown is in Navbar
3582
3582
  if (this._inNavbar || this._config.display === 'static') {
3583
- Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove
3583
+ Manipulator$1.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove
3584
3584
  defaultBsPopperConfig.modifiers = [{
3585
3585
  name: 'applyStyles',
3586
3586
  enabled: false
@@ -3712,11 +3712,11 @@
3712
3712
  * ------------------------------------------------------------------------
3713
3713
  */
3714
3714
 
3715
- const Default$9 = {};
3716
- const NAME$a = 'gallery';
3717
- const DATA_KEY$6 = 'bs.gallery';
3718
- const EVENT_KEY$6 = `.${DATA_KEY$6}`;
3719
- const DATA_API_KEY$3 = '.data-api';
3715
+ const Default$a = {};
3716
+ const NAME$b = 'gallery';
3717
+ const DATA_KEY$7 = 'bs.gallery';
3718
+ const EVENT_KEY$7 = `.${DATA_KEY$7}`;
3719
+ const DATA_API_KEY$4 = '.data-api';
3720
3720
  const CAROUSEL_SELECTOR = '.carousel';
3721
3721
  const CAROUSEL_PAGER_SELECTOR = '.carousel-pager span';
3722
3722
  const CAROUSEL_ACTIVE_SELECTOR = '.carousel-item.active';
@@ -3725,7 +3725,7 @@
3725
3725
  const MODAL_SELECTOR = '.modal';
3726
3726
  const EVENT_MODAL_HIDE$1 = 'hide.bs.modal';
3727
3727
  const CAROUSEL_EVENT = 'slide.bs.carousel';
3728
- const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;
3728
+ const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;
3729
3729
 
3730
3730
  /**
3731
3731
  * ------------------------------------------------------------------------
@@ -3748,7 +3748,7 @@
3748
3748
 
3749
3749
  // Getters
3750
3750
  static get NAME() {
3751
- return NAME$a;
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$9;
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$9 = 'backdrop';
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$9}`;
3943
- const Default$8 = {
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$8;
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$9;
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$8 = 'focustrap';
4064
- const DATA_KEY$5 = 'bs.focustrap';
4065
- const EVENT_KEY$5 = `.${DATA_KEY$5}`;
4066
- const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`;
4067
- const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`;
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$7 = {
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$7;
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$8;
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$5); // guard against infinite focus loop
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$5);
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$7 = 'modal';
4162
- const DATA_KEY$4 = 'bs.modal';
4163
- const EVENT_KEY$4 = `.${DATA_KEY$4}`;
4164
- const DATA_API_KEY$2 = '.data-api';
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$4}`;
4167
- const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`;
4168
- const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`;
4169
- const EVENT_SHOW$4 = `show${EVENT_KEY$4}`;
4170
- const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;
4171
- const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;
4172
- const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;
4173
- const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;
4174
- const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;
4175
- const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;
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$6 = {
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$6;
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$7;
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$4);
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$6 = 'offcanvas';
4468
- const DATA_KEY$3 = 'bs.offcanvas';
4469
- const EVENT_KEY$3 = `.${DATA_KEY$3}`;
4470
- const DATA_API_KEY$1 = '.data-api';
4471
- const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;
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$3}`;
4479
- const EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`;
4480
- const EVENT_HIDE$3 = `hide${EVENT_KEY$3}`;
4481
- const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`;
4482
- const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`;
4483
- const EVENT_RESIZE = `resize${EVENT_KEY$3}`;
4484
- const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`;
4485
- const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`;
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$5 = {
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$5;
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$6;
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$2, () => {
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$5 = 'TemplateFactory';
4793
- const Default$4 = {
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$4;
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$5;
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$4 = 'tooltip';
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$3 = {
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$3;
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$4;
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$3 = 'popover';
5438
+ const NAME$4 = 'popover';
5439
5439
  const SELECTOR_TITLE = '.popover-header';
5440
5440
  const SELECTOR_CONTENT = '.popover-body';
5441
- const Default$2 = {
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$2;
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$3;
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$2 = 'scrollspy';
5519
- const DATA_KEY$2 = 'bs.scrollspy';
5520
- const EVENT_KEY$2 = `.${DATA_KEY$2}`;
5521
- const DATA_API_KEY = '.data-api';
5522
- const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`;
5523
- const EVENT_CLICK = `click${EVENT_KEY$2}`;
5524
- const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`;
5525
- const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
5526
- const CLASS_NAME_ACTIVE$1 = '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$1 = '.dropdown-toggle';
5536
- const Default$1 = {
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$1;
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$2;
5582
+ return NAME$3;
5583
5583
  }
5584
5584
 
5585
5585
  // Public
@@ -5704,38 +5704,38 @@
5704
5704
  }
5705
5705
  this._clearActiveClass(this._config.target);
5706
5706
  this._activeTarget = target;
5707
- target.classList.add(CLASS_NAME_ACTIVE$1);
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$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);
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$1);
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$1);
5729
- const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$1}`, parent);
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$1);
5731
+ node.classList.remove(CLASS_NAME_ACTIVE$2);
5732
5732
  }
5733
5733
  }
5734
5734
 
5735
5735
  // Static
5736
5736
  static jQueryInterface(config) {
5737
5737
  return this.each(function () {
5738
- const data = ScrollSpy.getOrCreateInstance(this, config);
5738
+ const data = ScrollSpy$1.getOrCreateInstance(this, config);
5739
5739
  if (typeof config !== 'string') {
5740
5740
  return;
5741
5741
  }
@@ -5745,15 +5745,15 @@
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$1, () => {
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
5757
  }
5758
5758
  });
5759
5759
 
@@ -5761,6 +5761,274 @@
5761
5761
  * jQuery
5762
5762
  */
5763
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;
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));
6023
+ });
6024
+
6025
+ /**
6026
+ * ------------------------------------------------------------------------
6027
+ * jQuery
6028
+ * ------------------------------------------------------------------------
6029
+ * add .ScrollSpy to jQuery only if jQuery is present
6030
+ */
6031
+
5764
6032
  defineJQueryPlugin(ScrollSpy);
5765
6033
 
5766
6034
  /**
@@ -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,