@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
@@ -3492,23 +3492,23 @@
3492
3492
  * Constants
3493
3493
  */
3494
3494
 
3495
- const NAME$b = 'dropdown';
3496
- const DATA_KEY$7 = 'bs.dropdown';
3497
- const EVENT_KEY$7 = `.${DATA_KEY$7}`;
3498
- const DATA_API_KEY$4 = '.data-api';
3495
+ const NAME$c = 'dropdown';
3496
+ const DATA_KEY$8 = 'bs.dropdown';
3497
+ const EVENT_KEY$8 = `.${DATA_KEY$8}`;
3498
+ const DATA_API_KEY$5 = '.data-api';
3499
3499
  const ESCAPE_KEY$2 = 'Escape';
3500
3500
  const TAB_KEY$1 = 'Tab';
3501
3501
  const ARROW_UP_KEY$1 = 'ArrowUp';
3502
3502
  const ARROW_DOWN_KEY$1 = 'ArrowDown';
3503
3503
  const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
3504
3504
 
3505
- const EVENT_HIDE$5 = `hide${EVENT_KEY$7}`;
3506
- const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$7}`;
3507
- const EVENT_SHOW$5 = `show${EVENT_KEY$7}`;
3508
- const EVENT_SHOWN$5 = `shown${EVENT_KEY$7}`;
3509
- const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;
3510
- const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$7}${DATA_API_KEY$4}`;
3511
- const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$7}${DATA_API_KEY$4}`;
3505
+ const EVENT_HIDE$5 = `hide${EVENT_KEY$8}`;
3506
+ const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$8}`;
3507
+ const EVENT_SHOW$5 = `show${EVENT_KEY$8}`;
3508
+ const EVENT_SHOWN$5 = `shown${EVENT_KEY$8}`;
3509
+ const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
3510
+ const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$8}${DATA_API_KEY$5}`;
3511
+ const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$8}${DATA_API_KEY$5}`;
3512
3512
  const CLASS_NAME_SHOW$6 = 'show';
3513
3513
  const CLASS_NAME_DROPUP = 'dropup';
3514
3514
  const CLASS_NAME_DROPEND = 'dropend';
@@ -3529,7 +3529,7 @@
3529
3529
  const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
3530
3530
  const PLACEMENT_TOPCENTER = 'top';
3531
3531
  const PLACEMENT_BOTTOMCENTER = 'bottom';
3532
- const Default$a = {
3532
+ const Default$b = {
3533
3533
  autoClose: true,
3534
3534
  boundary: 'clippingParents',
3535
3535
  display: 'dynamic',
@@ -3562,13 +3562,13 @@
3562
3562
 
3563
3563
  // Getters
3564
3564
  static get Default() {
3565
- return Default$a;
3565
+ return Default$b;
3566
3566
  }
3567
3567
  static get DefaultType() {
3568
3568
  return DefaultType$9;
3569
3569
  }
3570
3570
  static get NAME() {
3571
- return NAME$b;
3571
+ return NAME$c;
3572
3572
  }
3573
3573
 
3574
3574
  // Public
@@ -3645,14 +3645,14 @@
3645
3645
  this._menu.classList.remove(CLASS_NAME_SHOW$6);
3646
3646
  this._element.classList.remove(CLASS_NAME_SHOW$6);
3647
3647
  this._element.setAttribute('aria-expanded', 'false');
3648
- Manipulator.removeDataAttribute(this._menu, 'popper');
3648
+ Manipulator$1.removeDataAttribute(this._menu, 'popper');
3649
3649
  EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);
3650
3650
  }
3651
3651
  _getConfig(config) {
3652
3652
  config = super._getConfig(config);
3653
3653
  if (typeof config.reference === 'object' && !isElement$1(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
3654
3654
  // Popper virtual elements require a getBoundingClientRect method
3655
- throw new TypeError(`${NAME$b.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
3655
+ throw new TypeError(`${NAME$c.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
3656
3656
  }
3657
3657
  return config;
3658
3658
  }
@@ -3729,7 +3729,7 @@
3729
3729
 
3730
3730
  // Disable Popper if we have a static display or Dropdown is in Navbar
3731
3731
  if (this._inNavbar || this._config.display === 'static') {
3732
- Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove
3732
+ Manipulator$1.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove
3733
3733
  defaultBsPopperConfig.modifiers = [{
3734
3734
  name: 'applyStyles',
3735
3735
  enabled: false
@@ -3861,11 +3861,11 @@
3861
3861
  * ------------------------------------------------------------------------
3862
3862
  */
3863
3863
 
3864
- const Default$9 = {};
3865
- const NAME$a = 'gallery';
3866
- const DATA_KEY$6 = 'bs.gallery';
3867
- const EVENT_KEY$6 = `.${DATA_KEY$6}`;
3868
- const DATA_API_KEY$3 = '.data-api';
3864
+ const Default$a = {};
3865
+ const NAME$b = 'gallery';
3866
+ const DATA_KEY$7 = 'bs.gallery';
3867
+ const EVENT_KEY$7 = `.${DATA_KEY$7}`;
3868
+ const DATA_API_KEY$4 = '.data-api';
3869
3869
  const CAROUSEL_SELECTOR = '.carousel';
3870
3870
  const CAROUSEL_PAGER_SELECTOR = '.carousel-pager span';
3871
3871
  const CAROUSEL_ACTIVE_SELECTOR = '.carousel-item.active';
@@ -3874,7 +3874,7 @@
3874
3874
  const MODAL_SELECTOR = '.modal';
3875
3875
  const EVENT_MODAL_HIDE$1 = 'hide.bs.modal';
3876
3876
  const CAROUSEL_EVENT = 'slide.bs.carousel';
3877
- const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;
3877
+ const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;
3878
3878
 
3879
3879
  /**
3880
3880
  * ------------------------------------------------------------------------
@@ -3897,7 +3897,7 @@
3897
3897
 
3898
3898
  // Getters
3899
3899
  static get NAME() {
3900
- return NAME$a;
3900
+ return NAME$b;
3901
3901
  }
3902
3902
 
3903
3903
  // Public
@@ -3939,7 +3939,7 @@
3939
3939
 
3940
3940
  // Static
3941
3941
  static get Default() {
3942
- return Default$9;
3942
+ return Default$a;
3943
3943
  }
3944
3944
  static jQueryInterface(config) {
3945
3945
  return this.each(function jInterface() {
@@ -4047,18 +4047,18 @@
4047
4047
  _saveInitialAttribute(element, styleProperty) {
4048
4048
  const actualValue = element.style.getPropertyValue(styleProperty);
4049
4049
  if (actualValue) {
4050
- Manipulator.setDataAttribute(element, styleProperty, actualValue);
4050
+ Manipulator$1.setDataAttribute(element, styleProperty, actualValue);
4051
4051
  }
4052
4052
  }
4053
4053
  _resetElementAttributes(selector, styleProperty) {
4054
4054
  const manipulationCallBack = element => {
4055
- const value = Manipulator.getDataAttribute(element, styleProperty);
4055
+ const value = Manipulator$1.getDataAttribute(element, styleProperty);
4056
4056
  // We only want to remove the property if the value is `null`; the value can also be zero
4057
4057
  if (value === null) {
4058
4058
  element.style.removeProperty(styleProperty);
4059
4059
  return;
4060
4060
  }
4061
- Manipulator.removeDataAttribute(element, styleProperty);
4061
+ Manipulator$1.removeDataAttribute(element, styleProperty);
4062
4062
  element.style.setProperty(styleProperty, value);
4063
4063
  };
4064
4064
  this._applyManipulationCallback(selector, manipulationCallBack);
@@ -4085,11 +4085,11 @@
4085
4085
  * Constants
4086
4086
  */
4087
4087
 
4088
- const NAME$9 = 'backdrop';
4088
+ const NAME$a = 'backdrop';
4089
4089
  const CLASS_NAME_FADE$4 = 'fade';
4090
4090
  const CLASS_NAME_SHOW$5 = 'show';
4091
- const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`;
4092
- const Default$8 = {
4091
+ const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$a}`;
4092
+ const Default$9 = {
4093
4093
  className: 'modal-backdrop',
4094
4094
  clickCallback: null,
4095
4095
  isAnimated: false,
@@ -4120,13 +4120,13 @@
4120
4120
 
4121
4121
  // Getters
4122
4122
  static get Default() {
4123
- return Default$8;
4123
+ return Default$9;
4124
4124
  }
4125
4125
  static get DefaultType() {
4126
4126
  return DefaultType$8;
4127
4127
  }
4128
4128
  static get NAME() {
4129
- return NAME$9;
4129
+ return NAME$a;
4130
4130
  }
4131
4131
 
4132
4132
  // Public
@@ -4209,15 +4209,15 @@
4209
4209
  * Constants
4210
4210
  */
4211
4211
 
4212
- const NAME$8 = 'focustrap';
4213
- const DATA_KEY$5 = 'bs.focustrap';
4214
- const EVENT_KEY$5 = `.${DATA_KEY$5}`;
4215
- const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`;
4216
- const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`;
4212
+ const NAME$9 = 'focustrap';
4213
+ const DATA_KEY$6 = 'bs.focustrap';
4214
+ const EVENT_KEY$6 = `.${DATA_KEY$6}`;
4215
+ const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$6}`;
4216
+ const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$6}`;
4217
4217
  const TAB_KEY = 'Tab';
4218
4218
  const TAB_NAV_FORWARD = 'forward';
4219
4219
  const TAB_NAV_BACKWARD = 'backward';
4220
- const Default$7 = {
4220
+ const Default$8 = {
4221
4221
  autofocus: true,
4222
4222
  trapElement: null // The element to trap focus inside of
4223
4223
  };
@@ -4241,13 +4241,13 @@
4241
4241
 
4242
4242
  // Getters
4243
4243
  static get Default() {
4244
- return Default$7;
4244
+ return Default$8;
4245
4245
  }
4246
4246
  static get DefaultType() {
4247
4247
  return DefaultType$7;
4248
4248
  }
4249
4249
  static get NAME() {
4250
- return NAME$8;
4250
+ return NAME$9;
4251
4251
  }
4252
4252
 
4253
4253
  // Public
@@ -4258,7 +4258,7 @@
4258
4258
  if (this._config.autofocus) {
4259
4259
  this._config.trapElement.focus();
4260
4260
  }
4261
- EventHandler.off(document, EVENT_KEY$5); // guard against infinite focus loop
4261
+ EventHandler.off(document, EVENT_KEY$6); // guard against infinite focus loop
4262
4262
  EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));
4263
4263
  EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));
4264
4264
  this._isActive = true;
@@ -4268,7 +4268,7 @@
4268
4268
  return;
4269
4269
  }
4270
4270
  this._isActive = false;
4271
- EventHandler.off(document, EVENT_KEY$5);
4271
+ EventHandler.off(document, EVENT_KEY$6);
4272
4272
  }
4273
4273
 
4274
4274
  // Private
@@ -4307,21 +4307,21 @@
4307
4307
  * Constants
4308
4308
  */
4309
4309
 
4310
- const NAME$7 = 'modal';
4311
- const DATA_KEY$4 = 'bs.modal';
4312
- const EVENT_KEY$4 = `.${DATA_KEY$4}`;
4313
- const DATA_API_KEY$2 = '.data-api';
4310
+ const NAME$8 = 'modal';
4311
+ const DATA_KEY$5 = 'bs.modal';
4312
+ const EVENT_KEY$5 = `.${DATA_KEY$5}`;
4313
+ const DATA_API_KEY$3 = '.data-api';
4314
4314
  const ESCAPE_KEY$1 = 'Escape';
4315
- const EVENT_HIDE$4 = `hide${EVENT_KEY$4}`;
4316
- const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`;
4317
- const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`;
4318
- const EVENT_SHOW$4 = `show${EVENT_KEY$4}`;
4319
- const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;
4320
- const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;
4321
- const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;
4322
- const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;
4323
- const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;
4324
- const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;
4315
+ const EVENT_HIDE$4 = `hide${EVENT_KEY$5}`;
4316
+ const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$5}`;
4317
+ const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$5}`;
4318
+ const EVENT_SHOW$4 = `show${EVENT_KEY$5}`;
4319
+ const EVENT_SHOWN$4 = `shown${EVENT_KEY$5}`;
4320
+ const EVENT_RESIZE$1 = `resize${EVENT_KEY$5}`;
4321
+ const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$5}`;
4322
+ const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$5}`;
4323
+ const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$5}`;
4324
+ const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$5}${DATA_API_KEY$3}`;
4325
4325
  const CLASS_NAME_OPEN = 'modal-open';
4326
4326
  const CLASS_NAME_FADE$3 = 'fade';
4327
4327
  const CLASS_NAME_SHOW$4 = 'show';
@@ -4330,7 +4330,7 @@
4330
4330
  const SELECTOR_DIALOG = '.modal-dialog';
4331
4331
  const SELECTOR_MODAL_BODY = '.modal-body';
4332
4332
  const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]';
4333
- const Default$6 = {
4333
+ const Default$7 = {
4334
4334
  backdrop: true,
4335
4335
  focus: true,
4336
4336
  keyboard: true
@@ -4359,13 +4359,13 @@
4359
4359
 
4360
4360
  // Getters
4361
4361
  static get Default() {
4362
- return Default$6;
4362
+ return Default$7;
4363
4363
  }
4364
4364
  static get DefaultType() {
4365
4365
  return DefaultType$6;
4366
4366
  }
4367
4367
  static get NAME() {
4368
- return NAME$7;
4368
+ return NAME$8;
4369
4369
  }
4370
4370
 
4371
4371
  // Public
@@ -4405,7 +4405,7 @@
4405
4405
  }
4406
4406
  dispose() {
4407
4407
  for (const htmlElement of [window, this._dialog]) {
4408
- EventHandler.off(htmlElement, EVENT_KEY$4);
4408
+ EventHandler.off(htmlElement, EVENT_KEY$5);
4409
4409
  }
4410
4410
  this._backdrop.dispose();
4411
4411
  this._focustrap.deactivate();
@@ -4613,27 +4613,27 @@
4613
4613
  * Constants
4614
4614
  */
4615
4615
 
4616
- const NAME$6 = 'offcanvas';
4617
- const DATA_KEY$3 = 'bs.offcanvas';
4618
- const EVENT_KEY$3 = `.${DATA_KEY$3}`;
4619
- const DATA_API_KEY$1 = '.data-api';
4620
- const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;
4616
+ const NAME$7 = 'offcanvas';
4617
+ const DATA_KEY$4 = 'bs.offcanvas';
4618
+ const EVENT_KEY$4 = `.${DATA_KEY$4}`;
4619
+ const DATA_API_KEY$2 = '.data-api';
4620
+ const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$4}${DATA_API_KEY$2}`;
4621
4621
  const ESCAPE_KEY = 'Escape';
4622
4622
  const CLASS_NAME_SHOW$3 = 'show';
4623
4623
  const CLASS_NAME_SHOWING$1 = 'showing';
4624
4624
  const CLASS_NAME_HIDING = 'hiding';
4625
4625
  const CLASS_NAME_BACKDROP = 'offcanvas-backdrop';
4626
4626
  const OPEN_SELECTOR = '.offcanvas.show';
4627
- const EVENT_SHOW$3 = `show${EVENT_KEY$3}`;
4628
- const EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`;
4629
- const EVENT_HIDE$3 = `hide${EVENT_KEY$3}`;
4630
- const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`;
4631
- const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`;
4632
- const EVENT_RESIZE = `resize${EVENT_KEY$3}`;
4633
- const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`;
4634
- const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`;
4627
+ const EVENT_SHOW$3 = `show${EVENT_KEY$4}`;
4628
+ const EVENT_SHOWN$3 = `shown${EVENT_KEY$4}`;
4629
+ const EVENT_HIDE$3 = `hide${EVENT_KEY$4}`;
4630
+ const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$4}`;
4631
+ const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$4}`;
4632
+ const EVENT_RESIZE = `resize${EVENT_KEY$4}`;
4633
+ const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;
4634
+ const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$4}`;
4635
4635
  const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="offcanvas"]';
4636
- const Default$5 = {
4636
+ const Default$6 = {
4637
4637
  backdrop: true,
4638
4638
  keyboard: true,
4639
4639
  scroll: false
@@ -4659,13 +4659,13 @@
4659
4659
 
4660
4660
  // Getters
4661
4661
  static get Default() {
4662
- return Default$5;
4662
+ return Default$6;
4663
4663
  }
4664
4664
  static get DefaultType() {
4665
4665
  return DefaultType$5;
4666
4666
  }
4667
4667
  static get NAME() {
4668
- return NAME$6;
4668
+ return NAME$7;
4669
4669
  }
4670
4670
 
4671
4671
  // Public
@@ -4812,7 +4812,7 @@
4812
4812
  const data = Offcanvas.getOrCreateInstance(target);
4813
4813
  data.toggle(this);
4814
4814
  });
4815
- EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {
4815
+ EventHandler.on(window, EVENT_LOAD_DATA_API$3, () => {
4816
4816
  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {
4817
4817
  Offcanvas.getOrCreateInstance(selector).show();
4818
4818
  }
@@ -4938,8 +4938,8 @@
4938
4938
  * Constants
4939
4939
  */
4940
4940
 
4941
- const NAME$5 = 'TemplateFactory';
4942
- const Default$4 = {
4941
+ const NAME$6 = 'TemplateFactory';
4942
+ const Default$5 = {
4943
4943
  allowList: DefaultAllowlist,
4944
4944
  content: {},
4945
4945
  // { selector : text , selector2 : text2 , }
@@ -4975,13 +4975,13 @@
4975
4975
 
4976
4976
  // Getters
4977
4977
  static get Default() {
4978
- return Default$4;
4978
+ return Default$5;
4979
4979
  }
4980
4980
  static get DefaultType() {
4981
4981
  return DefaultType$4;
4982
4982
  }
4983
4983
  static get NAME() {
4984
- return NAME$5;
4984
+ return NAME$6;
4985
4985
  }
4986
4986
 
4987
4987
  // Public
@@ -5073,7 +5073,7 @@
5073
5073
  * Constants
5074
5074
  */
5075
5075
 
5076
- const NAME$4 = 'tooltip';
5076
+ const NAME$5 = 'tooltip';
5077
5077
  const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);
5078
5078
  const CLASS_NAME_FADE$2 = 'fade';
5079
5079
  const CLASS_NAME_MODAL = 'modal';
@@ -5102,7 +5102,7 @@
5102
5102
  BOTTOM: 'bottom',
5103
5103
  LEFT: isRTL() ? 'right' : 'left'
5104
5104
  };
5105
- const Default$3 = {
5105
+ const Default$4 = {
5106
5106
  allowList: DefaultAllowlist,
5107
5107
  animation: true,
5108
5108
  boundary: 'clippingParents',
@@ -5171,13 +5171,13 @@
5171
5171
 
5172
5172
  // Getters
5173
5173
  static get Default() {
5174
- return Default$3;
5174
+ return Default$4;
5175
5175
  }
5176
5176
  static get DefaultType() {
5177
5177
  return DefaultType$3;
5178
5178
  }
5179
5179
  static get NAME() {
5180
- return NAME$4;
5180
+ return NAME$5;
5181
5181
  }
5182
5182
 
5183
5183
  // Public
@@ -5495,7 +5495,7 @@
5495
5495
  return Object.values(this._activeTrigger).includes(true);
5496
5496
  }
5497
5497
  _getConfig(config) {
5498
- const dataAttributes = Manipulator.getDataAttributes(this._element);
5498
+ const dataAttributes = Manipulator$1.getDataAttributes(this._element);
5499
5499
  for (const dataAttribute of Object.keys(dataAttributes)) {
5500
5500
  if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {
5501
5501
  delete dataAttributes[dataAttribute];
@@ -5584,10 +5584,10 @@
5584
5584
  * Constants
5585
5585
  */
5586
5586
 
5587
- const NAME$3 = 'popover';
5587
+ const NAME$4 = 'popover';
5588
5588
  const SELECTOR_TITLE = '.popover-header';
5589
5589
  const SELECTOR_CONTENT = '.popover-body';
5590
- const Default$2 = {
5590
+ const Default$3 = {
5591
5591
  ...Tooltip.Default,
5592
5592
  content: '',
5593
5593
  offset: [0, 8],
@@ -5607,13 +5607,13 @@
5607
5607
  class Popover extends Tooltip {
5608
5608
  // Getters
5609
5609
  static get Default() {
5610
- return Default$2;
5610
+ return Default$3;
5611
5611
  }
5612
5612
  static get DefaultType() {
5613
5613
  return DefaultType$2;
5614
5614
  }
5615
5615
  static get NAME() {
5616
- return NAME$3;
5616
+ return NAME$4;
5617
5617
  }
5618
5618
 
5619
5619
  // Overrides
@@ -5664,25 +5664,25 @@
5664
5664
  * Constants
5665
5665
  */
5666
5666
 
5667
- const NAME$2 = 'scrollspy';
5668
- const DATA_KEY$2 = 'bs.scrollspy';
5669
- const EVENT_KEY$2 = `.${DATA_KEY$2}`;
5670
- const DATA_API_KEY = '.data-api';
5671
- const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`;
5672
- const EVENT_CLICK = `click${EVENT_KEY$2}`;
5673
- const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`;
5674
- const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
5675
- const CLASS_NAME_ACTIVE$1 = 'active';
5676
- const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]';
5667
+ const NAME$3 = 'scrollspy';
5668
+ const DATA_KEY$3 = 'bs.scrollspy';
5669
+ const EVENT_KEY$3 = `.${DATA_KEY$3}`;
5670
+ const DATA_API_KEY$1 = '.data-api';
5671
+ const EVENT_ACTIVATE$1 = `activate${EVENT_KEY$3}`;
5672
+ const EVENT_CLICK = `click${EVENT_KEY$3}`;
5673
+ const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;
5674
+ const CLASS_NAME_DROPDOWN_ITEM$1 = 'dropdown-item';
5675
+ const CLASS_NAME_ACTIVE$2 = 'active';
5676
+ const SELECTOR_DATA_SPY$1 = '[data-bs-spy="scroll"]';
5677
5677
  const SELECTOR_TARGET_LINKS = '[href]';
5678
- const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
5679
- const SELECTOR_NAV_LINKS = '.nav-link';
5680
- const SELECTOR_NAV_ITEMS = '.nav-item';
5681
- const SELECTOR_LIST_ITEMS = '.list-group-item';
5682
- const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`;
5683
- const SELECTOR_DROPDOWN = '.dropdown';
5684
- const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
5685
- const Default$1 = {
5678
+ const SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';
5679
+ const SELECTOR_NAV_LINKS$1 = '.nav-link';
5680
+ const SELECTOR_NAV_ITEMS$1 = '.nav-item';
5681
+ const SELECTOR_LIST_ITEMS$1 = '.list-group-item';
5682
+ const SELECTOR_LINK_ITEMS$1 = `${SELECTOR_NAV_LINKS$1}, ${SELECTOR_NAV_ITEMS$1} > ${SELECTOR_NAV_LINKS$1}, ${SELECTOR_LIST_ITEMS$1}`;
5683
+ const SELECTOR_DROPDOWN$1 = '.dropdown';
5684
+ const SELECTOR_DROPDOWN_TOGGLE$2 = '.dropdown-toggle';
5685
+ const Default$2 = {
5686
5686
  offset: null,
5687
5687
  // TODO: v6 @deprecated, keep it for backwards compatibility reasons
5688
5688
  rootMargin: '0px 0px -25%',
@@ -5703,7 +5703,7 @@
5703
5703
  * Class definition
5704
5704
  */
5705
5705
 
5706
- class ScrollSpy extends BaseComponent {
5706
+ let ScrollSpy$1 = class ScrollSpy extends BaseComponent {
5707
5707
  constructor(element, config) {
5708
5708
  super(element, config);
5709
5709
 
@@ -5722,13 +5722,13 @@
5722
5722
 
5723
5723
  // Getters
5724
5724
  static get Default() {
5725
- return Default$1;
5725
+ return Default$2;
5726
5726
  }
5727
5727
  static get DefaultType() {
5728
5728
  return DefaultType$1;
5729
5729
  }
5730
5730
  static get NAME() {
5731
- return NAME$2;
5731
+ return NAME$3;
5732
5732
  }
5733
5733
 
5734
5734
  // Public
@@ -5853,38 +5853,38 @@
5853
5853
  }
5854
5854
  this._clearActiveClass(this._config.target);
5855
5855
  this._activeTarget = target;
5856
- target.classList.add(CLASS_NAME_ACTIVE$1);
5856
+ target.classList.add(CLASS_NAME_ACTIVE$2);
5857
5857
  this._activateParents(target);
5858
- EventHandler.trigger(this._element, EVENT_ACTIVATE, {
5858
+ EventHandler.trigger(this._element, EVENT_ACTIVATE$1, {
5859
5859
  relatedTarget: target
5860
5860
  });
5861
5861
  }
5862
5862
  _activateParents(target) {
5863
5863
  // Activate dropdown parents
5864
- if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
5865
- SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);
5864
+ if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM$1)) {
5865
+ SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$2, target.closest(SELECTOR_DROPDOWN$1)).classList.add(CLASS_NAME_ACTIVE$2);
5866
5866
  return;
5867
5867
  }
5868
- for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {
5868
+ for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP$1)) {
5869
5869
  // Set triggered links parents as active
5870
5870
  // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
5871
- for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {
5872
- item.classList.add(CLASS_NAME_ACTIVE$1);
5871
+ for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS$1)) {
5872
+ item.classList.add(CLASS_NAME_ACTIVE$2);
5873
5873
  }
5874
5874
  }
5875
5875
  }
5876
5876
  _clearActiveClass(parent) {
5877
- parent.classList.remove(CLASS_NAME_ACTIVE$1);
5878
- const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$1}`, parent);
5877
+ parent.classList.remove(CLASS_NAME_ACTIVE$2);
5878
+ const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$2}`, parent);
5879
5879
  for (const node of activeNodes) {
5880
- node.classList.remove(CLASS_NAME_ACTIVE$1);
5880
+ node.classList.remove(CLASS_NAME_ACTIVE$2);
5881
5881
  }
5882
5882
  }
5883
5883
 
5884
5884
  // Static
5885
5885
  static jQueryInterface(config) {
5886
5886
  return this.each(function () {
5887
- const data = ScrollSpy.getOrCreateInstance(this, config);
5887
+ const data = ScrollSpy$1.getOrCreateInstance(this, config);
5888
5888
  if (typeof config !== 'string') {
5889
5889
  return;
5890
5890
  }
@@ -5894,15 +5894,15 @@
5894
5894
  data[config]();
5895
5895
  });
5896
5896
  }
5897
- }
5897
+ };
5898
5898
 
5899
5899
  /**
5900
5900
  * Data API implementation
5901
5901
  */
5902
5902
 
5903
- EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => {
5904
- for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {
5905
- ScrollSpy.getOrCreateInstance(spy);
5903
+ EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {
5904
+ for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY$1)) {
5905
+ ScrollSpy$1.getOrCreateInstance(spy);
5906
5906
  }
5907
5907
  });
5908
5908
 
@@ -5910,6 +5910,274 @@
5910
5910
  * jQuery
5911
5911
  */
5912
5912
 
5913
+ defineJQueryPlugin(ScrollSpy$1);
5914
+
5915
+ /**
5916
+ * --------------------------------------------------------------------------
5917
+ * Bootstrap (v5.1.3): dom/manipulator.js
5918
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5919
+ * --------------------------------------------------------------------------
5920
+ */
5921
+
5922
+ function normalizeData(val) {
5923
+ if (val === 'true') {
5924
+ return true;
5925
+ }
5926
+ if (val === 'false') {
5927
+ return false;
5928
+ }
5929
+ if (val === Number(val).toString()) {
5930
+ return Number(val);
5931
+ }
5932
+ if (val === '' || val === 'null') {
5933
+ return null;
5934
+ }
5935
+ return val;
5936
+ }
5937
+ function normalizeDataKey(key) {
5938
+ return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`);
5939
+ }
5940
+ const Manipulator = {
5941
+ setDataAttribute(element, key, value) {
5942
+ element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value);
5943
+ },
5944
+ removeDataAttribute(element, key) {
5945
+ element.removeAttribute(`data-bs-${normalizeDataKey(key)}`);
5946
+ },
5947
+ getDataAttributes(element) {
5948
+ if (!element) {
5949
+ return {};
5950
+ }
5951
+ const attributes = {};
5952
+ Object.keys(element.dataset).filter(key => key.startsWith('bs')).forEach(key => {
5953
+ let pureKey = key.replace(/^bs/, '');
5954
+ pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);
5955
+ attributes[pureKey] = normalizeData(element.dataset[key]);
5956
+ });
5957
+ return attributes;
5958
+ },
5959
+ getDataAttribute(element, key) {
5960
+ return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`));
5961
+ },
5962
+ offset(element) {
5963
+ const rect = element.getBoundingClientRect();
5964
+ return {
5965
+ top: rect.top + window.pageYOffset,
5966
+ left: rect.left + window.pageXOffset
5967
+ };
5968
+ },
5969
+ position(element) {
5970
+ return {
5971
+ top: element.offsetTop,
5972
+ left: element.offsetLeft
5973
+ };
5974
+ }
5975
+ };
5976
+
5977
+ /**
5978
+ * --------------------------------------------------------------------------
5979
+ * Bootstrap (v5.1.3): scrollspy.js
5980
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5981
+ * --------------------------------------------------------------------------
5982
+ */
5983
+
5984
+ /**
5985
+ * ------------------------------------------------------------------------
5986
+ * Constants
5987
+ * ------------------------------------------------------------------------
5988
+ */
5989
+
5990
+ const NAME$2 = 'scrollspy';
5991
+ const DATA_KEY$2 = 'bs.scrollspy';
5992
+ const EVENT_KEY$2 = `.${DATA_KEY$2}`;
5993
+ const DATA_API_KEY = '.data-api';
5994
+ const Default$1 = {
5995
+ offset: 10,
5996
+ method: 'auto',
5997
+ target: ''
5998
+ };
5999
+ const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`;
6000
+ const EVENT_SCROLL = `scroll${EVENT_KEY$2}`;
6001
+ const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`;
6002
+ const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
6003
+ const CLASS_NAME_ACTIVE$1 = 'active';
6004
+ const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]';
6005
+ const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
6006
+ const SELECTOR_NAV_LINKS = '.nav-link';
6007
+ const SELECTOR_NAV_ITEMS = '.nav-item';
6008
+ const SELECTOR_LIST_ITEMS = '.list-group-item';
6009
+ const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}, .${CLASS_NAME_DROPDOWN_ITEM}`;
6010
+ const SELECTOR_DROPDOWN = '.dropdown';
6011
+ const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
6012
+ const METHOD_OFFSET = 'offset';
6013
+ const METHOD_POSITION = 'position';
6014
+
6015
+ /**
6016
+ * ------------------------------------------------------------------------
6017
+ * Class Definition
6018
+ * ------------------------------------------------------------------------
6019
+ */
6020
+
6021
+ class ScrollSpy extends BaseComponent {
6022
+ constructor(element, config) {
6023
+ super(element);
6024
+ this._scrollElement = this._element.tagName === 'BODY' ? window : this._element;
6025
+ this._config = this._getConfig(config);
6026
+ this._offsets = [];
6027
+ this._targets = [];
6028
+ this._activeTarget = null;
6029
+ this._scrollHeight = 0;
6030
+ EventHandler.on(this._scrollElement, EVENT_SCROLL, () => this._process());
6031
+ this.refresh();
6032
+ this._process();
6033
+ }
6034
+
6035
+ // Getters
6036
+
6037
+ static get Default() {
6038
+ return Default$1;
6039
+ }
6040
+ static get NAME() {
6041
+ return NAME$2;
6042
+ }
6043
+
6044
+ // Public
6045
+
6046
+ refresh() {
6047
+ const autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;
6048
+ const offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
6049
+ const offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;
6050
+ this._offsets = [];
6051
+ this._targets = [];
6052
+ this._scrollHeight = this._getScrollHeight();
6053
+ const targets = SelectorEngine.find(SELECTOR_LINK_ITEMS, this._config.target);
6054
+ targets.map(element => {
6055
+ const targetSelector = getSelectorFromElement(element);
6056
+ const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null;
6057
+ if (target) {
6058
+ const targetBCR = target.getBoundingClientRect();
6059
+ if (targetBCR.width || targetBCR.height) {
6060
+ return [Manipulator[offsetMethod](target).top + offsetBase, targetSelector];
6061
+ }
6062
+ }
6063
+ return null;
6064
+ }).filter(item => item).sort((a, b) => a[0] - b[0]).forEach(item => {
6065
+ this._offsets.push(item[0]);
6066
+ this._targets.push(item[1]);
6067
+ });
6068
+ }
6069
+ dispose() {
6070
+ EventHandler.off(this._scrollElement, EVENT_KEY$2);
6071
+ super.dispose();
6072
+ }
6073
+
6074
+ // Private
6075
+
6076
+ _getConfig(config) {
6077
+ config = {
6078
+ ...Default$1,
6079
+ ...Manipulator.getDataAttributes(this._element),
6080
+ ...(typeof config === 'object' && config ? config : {})
6081
+ };
6082
+ config.target = getElement(config.target) || document.documentElement;
6083
+ return config;
6084
+ }
6085
+ _getScrollTop() {
6086
+ return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
6087
+ }
6088
+ _getScrollHeight() {
6089
+ return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
6090
+ }
6091
+ _getOffsetHeight() {
6092
+ return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
6093
+ }
6094
+ _process() {
6095
+ const scrollTop = this._getScrollTop() + this._config.offset;
6096
+ const scrollHeight = this._getScrollHeight();
6097
+ const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
6098
+ if (this._scrollHeight !== scrollHeight) {
6099
+ this.refresh();
6100
+ }
6101
+ if (scrollTop >= maxScroll) {
6102
+ const target = this._targets[this._targets.length - 1];
6103
+ if (this._activeTarget !== target) {
6104
+ this._activate(target);
6105
+ }
6106
+ return;
6107
+ }
6108
+ if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
6109
+ this._activeTarget = null;
6110
+ this._clear();
6111
+ return;
6112
+ }
6113
+ for (let i = this._offsets.length; i--;) {
6114
+ const isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
6115
+ if (isActiveTarget) {
6116
+ this._activate(this._targets[i]);
6117
+ }
6118
+ }
6119
+ }
6120
+ _activate(target) {
6121
+ this._activeTarget = target;
6122
+ this._clear();
6123
+ const queries = SELECTOR_LINK_ITEMS.split(',').map(selector => `${selector}[data-bs-target="${target}"],${selector}[href="${target}"]`);
6124
+ const link = SelectorEngine.findOne(queries.join(','), this._config.target);
6125
+ link.classList.add(CLASS_NAME_ACTIVE$1);
6126
+ if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
6127
+ SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, link.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);
6128
+ } else {
6129
+ SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP).forEach(listGroup => {
6130
+ // Set triggered links parents as active
6131
+ // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
6132
+ SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`).forEach(item => item.classList.add(CLASS_NAME_ACTIVE$1));
6133
+
6134
+ // Handle special case when .nav-link is inside .nav-item
6135
+ SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS).forEach(navItem => {
6136
+ SelectorEngine.children(navItem, SELECTOR_NAV_LINKS).forEach(item => item.classList.add(CLASS_NAME_ACTIVE$1));
6137
+ });
6138
+ });
6139
+ }
6140
+ EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {
6141
+ relatedTarget: target
6142
+ });
6143
+ }
6144
+ _clear() {
6145
+ SelectorEngine.find(SELECTOR_LINK_ITEMS, this._config.target).filter(node => node.classList.contains(CLASS_NAME_ACTIVE$1)).forEach(node => node.classList.remove(CLASS_NAME_ACTIVE$1));
6146
+ }
6147
+
6148
+ // Static
6149
+
6150
+ static jQueryInterface(config) {
6151
+ return this.each(function () {
6152
+ const data = ScrollSpy.getOrCreateInstance(this, config);
6153
+ if (typeof config !== 'string') {
6154
+ return;
6155
+ }
6156
+ if (typeof data[config] === 'undefined') {
6157
+ throw new TypeError(`No method named "${config}"`);
6158
+ }
6159
+ data[config]();
6160
+ });
6161
+ }
6162
+ }
6163
+
6164
+ /**
6165
+ * ------------------------------------------------------------------------
6166
+ * Data Api implementation
6167
+ * ------------------------------------------------------------------------
6168
+ */
6169
+
6170
+ EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => {
6171
+ SelectorEngine.find(SELECTOR_DATA_SPY).forEach(spy => new ScrollSpy(spy));
6172
+ });
6173
+
6174
+ /**
6175
+ * ------------------------------------------------------------------------
6176
+ * jQuery
6177
+ * ------------------------------------------------------------------------
6178
+ * add .ScrollSpy to jQuery only if jQuery is present
6179
+ */
6180
+
5913
6181
  defineJQueryPlugin(ScrollSpy);
5914
6182
 
5915
6183
  /**
@@ -6372,6 +6640,7 @@
6372
6640
  Modal,
6373
6641
  Offcanvas,
6374
6642
  Popover,
6643
+ ScrollSpyV2: ScrollSpy$1,
6375
6644
  ScrollSpy,
6376
6645
  Tab,
6377
6646
  Toast,