@openeuropa/bcl-theme-joinup 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -547,7 +547,7 @@ var Data = {
547
547
  * --------------------------------------------------------------------------
548
548
  */
549
549
 
550
- function normalizeData(value) {
550
+ function normalizeData$1(value) {
551
551
  if (value === 'true') {
552
552
  return true;
553
553
  }
@@ -569,15 +569,15 @@ function normalizeData(value) {
569
569
  return value;
570
570
  }
571
571
  }
572
- function normalizeDataKey(key) {
572
+ function normalizeDataKey$1(key) {
573
573
  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`);
574
574
  }
575
- const Manipulator = {
575
+ const Manipulator$1 = {
576
576
  setDataAttribute(element, key, value) {
577
- element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value);
577
+ element.setAttribute(`data-bs-${normalizeDataKey$1(key)}`, value);
578
578
  },
579
579
  removeDataAttribute(element, key) {
580
- element.removeAttribute(`data-bs-${normalizeDataKey(key)}`);
580
+ element.removeAttribute(`data-bs-${normalizeDataKey$1(key)}`);
581
581
  },
582
582
  getDataAttributes(element) {
583
583
  if (!element) {
@@ -588,12 +588,12 @@ const Manipulator = {
588
588
  for (const key of bsKeys) {
589
589
  let pureKey = key.replace(/^bs/, '');
590
590
  pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);
591
- attributes[pureKey] = normalizeData(element.dataset[key]);
591
+ attributes[pureKey] = normalizeData$1(element.dataset[key]);
592
592
  }
593
593
  return attributes;
594
594
  },
595
595
  getDataAttribute(element, key) {
596
- return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`));
596
+ return normalizeData$1(element.getAttribute(`data-bs-${normalizeDataKey$1(key)}`));
597
597
  }
598
598
  };
599
599
 
@@ -629,12 +629,12 @@ class Config {
629
629
  return config;
630
630
  }
631
631
  _mergeConfigObj(config, element) {
632
- const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {}; // try to parse
632
+ const jsonConfig = isElement(element) ? Manipulator$1.getDataAttribute(element, 'config') : {}; // try to parse
633
633
 
634
634
  return {
635
635
  ...this.constructor.Default,
636
636
  ...(typeof jsonConfig === 'object' ? jsonConfig : {}),
637
- ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),
637
+ ...(isElement(element) ? Manipulator$1.getDataAttributes(element) : {}),
638
638
  ...(typeof config === 'object' ? config : {})
639
639
  };
640
640
  }
@@ -753,11 +753,11 @@ const enableDismissTrigger = (component, method = 'hide') => {
753
753
  * Constants
754
754
  */
755
755
 
756
- const NAME$g = 'alert';
757
- const DATA_KEY$b = 'bs.alert';
758
- const EVENT_KEY$c = `.${DATA_KEY$b}`;
759
- const EVENT_CLOSE = `close${EVENT_KEY$c}`;
760
- const EVENT_CLOSED = `closed${EVENT_KEY$c}`;
756
+ const NAME$h = 'alert';
757
+ const DATA_KEY$c = 'bs.alert';
758
+ const EVENT_KEY$d = `.${DATA_KEY$c}`;
759
+ const EVENT_CLOSE = `close${EVENT_KEY$d}`;
760
+ const EVENT_CLOSED = `closed${EVENT_KEY$d}`;
761
761
  const CLASS_NAME_FADE$5 = 'fade';
762
762
  const CLASS_NAME_SHOW$8 = 'show';
763
763
 
@@ -768,7 +768,7 @@ const CLASS_NAME_SHOW$8 = 'show';
768
768
  class Alert extends BaseComponent {
769
769
  // Getters
770
770
  static get NAME() {
771
- return NAME$g;
771
+ return NAME$h;
772
772
  }
773
773
 
774
774
  // Public
@@ -827,13 +827,13 @@ defineJQueryPlugin(Alert);
827
827
  * Constants
828
828
  */
829
829
 
830
- const NAME$f = 'button';
831
- const DATA_KEY$a = 'bs.button';
832
- const EVENT_KEY$b = `.${DATA_KEY$a}`;
833
- const DATA_API_KEY$7 = '.data-api';
834
- const CLASS_NAME_ACTIVE$3 = 'active';
830
+ const NAME$g = 'button';
831
+ const DATA_KEY$b = 'bs.button';
832
+ const EVENT_KEY$c = `.${DATA_KEY$b}`;
833
+ const DATA_API_KEY$8 = '.data-api';
834
+ const CLASS_NAME_ACTIVE$4 = 'active';
835
835
  const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="button"]';
836
- const EVENT_CLICK_DATA_API$7 = `click${EVENT_KEY$b}${DATA_API_KEY$7}`;
836
+ const EVENT_CLICK_DATA_API$7 = `click${EVENT_KEY$c}${DATA_API_KEY$8}`;
837
837
 
838
838
  /**
839
839
  * Class definition
@@ -842,13 +842,13 @@ const EVENT_CLICK_DATA_API$7 = `click${EVENT_KEY$b}${DATA_API_KEY$7}`;
842
842
  class Button extends BaseComponent {
843
843
  // Getters
844
844
  static get NAME() {
845
- return NAME$f;
845
+ return NAME$g;
846
846
  }
847
847
 
848
848
  // Public
849
849
  toggle() {
850
850
  // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method
851
- this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3));
851
+ this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$4));
852
852
  }
853
853
 
854
854
  // Static
@@ -947,18 +947,18 @@ const SelectorEngine = {
947
947
  * Constants
948
948
  */
949
949
 
950
- const NAME$e = 'swipe';
951
- const EVENT_KEY$a = '.bs.swipe';
952
- const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$a}`;
953
- const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$a}`;
954
- const EVENT_TOUCHEND = `touchend${EVENT_KEY$a}`;
955
- const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$a}`;
956
- const EVENT_POINTERUP = `pointerup${EVENT_KEY$a}`;
950
+ const NAME$f = 'swipe';
951
+ const EVENT_KEY$b = '.bs.swipe';
952
+ const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$b}`;
953
+ const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$b}`;
954
+ const EVENT_TOUCHEND = `touchend${EVENT_KEY$b}`;
955
+ const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$b}`;
956
+ const EVENT_POINTERUP = `pointerup${EVENT_KEY$b}`;
957
957
  const POINTER_TYPE_TOUCH = 'touch';
958
958
  const POINTER_TYPE_PEN = 'pen';
959
959
  const CLASS_NAME_POINTER_EVENT = 'pointer-event';
960
960
  const SWIPE_THRESHOLD = 40;
961
- const Default$d = {
961
+ const Default$e = {
962
962
  endCallback: null,
963
963
  leftCallback: null,
964
964
  rightCallback: null
@@ -988,18 +988,18 @@ class Swipe extends Config {
988
988
 
989
989
  // Getters
990
990
  static get Default() {
991
- return Default$d;
991
+ return Default$e;
992
992
  }
993
993
  static get DefaultType() {
994
994
  return DefaultType$c;
995
995
  }
996
996
  static get NAME() {
997
- return NAME$e;
997
+ return NAME$f;
998
998
  }
999
999
 
1000
1000
  // Public
1001
1001
  dispose() {
1002
- EventHandler.off(this._element, EVENT_KEY$a);
1002
+ EventHandler.off(this._element, EVENT_KEY$b);
1003
1003
  }
1004
1004
 
1005
1005
  // Private
@@ -1066,10 +1066,10 @@ class Swipe extends Config {
1066
1066
  * Constants
1067
1067
  */
1068
1068
 
1069
- const NAME$d = 'carousel';
1070
- const DATA_KEY$9 = 'bs.carousel';
1071
- const EVENT_KEY$9 = `.${DATA_KEY$9}`;
1072
- const DATA_API_KEY$6 = '.data-api';
1069
+ const NAME$e = 'carousel';
1070
+ const DATA_KEY$a = 'bs.carousel';
1071
+ const EVENT_KEY$a = `.${DATA_KEY$a}`;
1072
+ const DATA_API_KEY$7 = '.data-api';
1073
1073
  const ARROW_LEFT_KEY$1 = 'ArrowLeft';
1074
1074
  const ARROW_RIGHT_KEY$1 = 'ArrowRight';
1075
1075
  const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
@@ -1078,16 +1078,16 @@ const ORDER_NEXT = 'next';
1078
1078
  const ORDER_PREV = 'prev';
1079
1079
  const DIRECTION_LEFT = 'left';
1080
1080
  const DIRECTION_RIGHT = 'right';
1081
- const EVENT_SLIDE = `slide${EVENT_KEY$9}`;
1082
- const EVENT_SLID = `slid${EVENT_KEY$9}`;
1083
- const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$9}`;
1084
- const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$9}`;
1085
- const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$9}`;
1086
- const EVENT_DRAG_START = `dragstart${EVENT_KEY$9}`;
1087
- const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$9}${DATA_API_KEY$6}`;
1088
- const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$9}${DATA_API_KEY$6}`;
1081
+ const EVENT_SLIDE = `slide${EVENT_KEY$a}`;
1082
+ const EVENT_SLID = `slid${EVENT_KEY$a}`;
1083
+ const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$a}`;
1084
+ const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$a}`;
1085
+ const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$a}`;
1086
+ const EVENT_DRAG_START = `dragstart${EVENT_KEY$a}`;
1087
+ const EVENT_LOAD_DATA_API$4 = `load${EVENT_KEY$a}${DATA_API_KEY$7}`;
1088
+ const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$7}`;
1089
1089
  const CLASS_NAME_CAROUSEL = 'carousel';
1090
- const CLASS_NAME_ACTIVE$2 = 'active';
1090
+ const CLASS_NAME_ACTIVE$3 = 'active';
1091
1091
  const CLASS_NAME_SLIDE = 'slide';
1092
1092
  const CLASS_NAME_END = 'carousel-item-end';
1093
1093
  const CLASS_NAME_START = 'carousel-item-start';
@@ -1104,7 +1104,7 @@ const KEY_TO_DIRECTION = {
1104
1104
  [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT,
1105
1105
  [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT
1106
1106
  };
1107
- const Default$c = {
1107
+ const Default$d = {
1108
1108
  interval: 5000,
1109
1109
  keyboard: true,
1110
1110
  pause: 'hover',
@@ -1143,13 +1143,13 @@ class Carousel extends BaseComponent {
1143
1143
 
1144
1144
  // Getters
1145
1145
  static get Default() {
1146
- return Default$c;
1146
+ return Default$d;
1147
1147
  }
1148
1148
  static get DefaultType() {
1149
1149
  return DefaultType$b;
1150
1150
  }
1151
1151
  static get NAME() {
1152
- return NAME$d;
1152
+ return NAME$e;
1153
1153
  }
1154
1154
 
1155
1155
  // Public
@@ -1276,11 +1276,11 @@ class Carousel extends BaseComponent {
1276
1276
  return;
1277
1277
  }
1278
1278
  const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement);
1279
- activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2);
1279
+ activeIndicator.classList.remove(CLASS_NAME_ACTIVE$3);
1280
1280
  activeIndicator.removeAttribute('aria-current');
1281
1281
  const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to="${index}"]`, this._indicatorsElement);
1282
1282
  if (newActiveIndicator) {
1283
- newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2);
1283
+ newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$3);
1284
1284
  newActiveIndicator.setAttribute('aria-current', 'true');
1285
1285
  }
1286
1286
  }
@@ -1333,8 +1333,8 @@ class Carousel extends BaseComponent {
1333
1333
  nextElement.classList.add(directionalClassName);
1334
1334
  const completeCallBack = () => {
1335
1335
  nextElement.classList.remove(directionalClassName, orderClassName);
1336
- nextElement.classList.add(CLASS_NAME_ACTIVE$2);
1337
- activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName);
1336
+ nextElement.classList.add(CLASS_NAME_ACTIVE$3);
1337
+ activeElement.classList.remove(CLASS_NAME_ACTIVE$3, orderClassName, directionalClassName);
1338
1338
  this._isSliding = false;
1339
1339
  triggerEvent(EVENT_SLID);
1340
1340
  };
@@ -1406,7 +1406,7 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_SLIDE, function
1406
1406
  carousel._maybeEnableCycle();
1407
1407
  return;
1408
1408
  }
1409
- if (Manipulator.getDataAttribute(this, 'slide') === 'next') {
1409
+ if (Manipulator$1.getDataAttribute(this, 'slide') === 'next') {
1410
1410
  carousel.next();
1411
1411
  carousel._maybeEnableCycle();
1412
1412
  return;
@@ -1414,7 +1414,7 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_SLIDE, function
1414
1414
  carousel.prev();
1415
1415
  carousel._maybeEnableCycle();
1416
1416
  });
1417
- EventHandler.on(window, EVENT_LOAD_DATA_API$3, () => {
1417
+ EventHandler.on(window, EVENT_LOAD_DATA_API$4, () => {
1418
1418
  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);
1419
1419
  for (const carousel of carousels) {
1420
1420
  Carousel.getOrCreateInstance(carousel);
@@ -1438,15 +1438,15 @@ defineJQueryPlugin(Carousel);
1438
1438
  * Constants
1439
1439
  */
1440
1440
 
1441
- const NAME$c = 'collapse';
1442
- const DATA_KEY$8 = 'bs.collapse';
1443
- const EVENT_KEY$8 = `.${DATA_KEY$8}`;
1444
- const DATA_API_KEY$5 = '.data-api';
1445
- const EVENT_SHOW$6 = `show${EVENT_KEY$8}`;
1446
- const EVENT_SHOWN$6 = `shown${EVENT_KEY$8}`;
1447
- const EVENT_HIDE$6 = `hide${EVENT_KEY$8}`;
1448
- const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$8}`;
1449
- const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
1441
+ const NAME$d = 'collapse';
1442
+ const DATA_KEY$9 = 'bs.collapse';
1443
+ const EVENT_KEY$9 = `.${DATA_KEY$9}`;
1444
+ const DATA_API_KEY$6 = '.data-api';
1445
+ const EVENT_SHOW$6 = `show${EVENT_KEY$9}`;
1446
+ const EVENT_SHOWN$6 = `shown${EVENT_KEY$9}`;
1447
+ const EVENT_HIDE$6 = `hide${EVENT_KEY$9}`;
1448
+ const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$9}`;
1449
+ const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$9}${DATA_API_KEY$6}`;
1450
1450
  const CLASS_NAME_SHOW$7 = 'show';
1451
1451
  const CLASS_NAME_COLLAPSE = 'collapse';
1452
1452
  const CLASS_NAME_COLLAPSING = 'collapsing';
@@ -1457,7 +1457,7 @@ const WIDTH = 'width';
1457
1457
  const HEIGHT = 'height';
1458
1458
  const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
1459
1459
  const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]';
1460
- const Default$b = {
1460
+ const Default$c = {
1461
1461
  parent: null,
1462
1462
  toggle: true
1463
1463
  };
@@ -1494,13 +1494,13 @@ class Collapse extends BaseComponent {
1494
1494
 
1495
1495
  // Getters
1496
1496
  static get Default() {
1497
- return Default$b;
1497
+ return Default$c;
1498
1498
  }
1499
1499
  static get DefaultType() {
1500
1500
  return DefaultType$a;
1501
1501
  }
1502
1502
  static get NAME() {
1503
- return NAME$c;
1503
+ return NAME$d;
1504
1504
  }
1505
1505
 
1506
1506
  // Public
@@ -1673,23 +1673,23 @@ defineJQueryPlugin(Collapse);
1673
1673
  * Constants
1674
1674
  */
1675
1675
 
1676
- const NAME$b = 'dropdown';
1677
- const DATA_KEY$7 = 'bs.dropdown';
1678
- const EVENT_KEY$7 = `.${DATA_KEY$7}`;
1679
- const DATA_API_KEY$4 = '.data-api';
1676
+ const NAME$c = 'dropdown';
1677
+ const DATA_KEY$8 = 'bs.dropdown';
1678
+ const EVENT_KEY$8 = `.${DATA_KEY$8}`;
1679
+ const DATA_API_KEY$5 = '.data-api';
1680
1680
  const ESCAPE_KEY$2 = 'Escape';
1681
1681
  const TAB_KEY$1 = 'Tab';
1682
1682
  const ARROW_UP_KEY$1 = 'ArrowUp';
1683
1683
  const ARROW_DOWN_KEY$1 = 'ArrowDown';
1684
1684
  const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
1685
1685
 
1686
- const EVENT_HIDE$5 = `hide${EVENT_KEY$7}`;
1687
- const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$7}`;
1688
- const EVENT_SHOW$5 = `show${EVENT_KEY$7}`;
1689
- const EVENT_SHOWN$5 = `shown${EVENT_KEY$7}`;
1690
- const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;
1691
- const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$7}${DATA_API_KEY$4}`;
1692
- const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$7}${DATA_API_KEY$4}`;
1686
+ const EVENT_HIDE$5 = `hide${EVENT_KEY$8}`;
1687
+ const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$8}`;
1688
+ const EVENT_SHOW$5 = `show${EVENT_KEY$8}`;
1689
+ const EVENT_SHOWN$5 = `shown${EVENT_KEY$8}`;
1690
+ const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
1691
+ const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$8}${DATA_API_KEY$5}`;
1692
+ const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$8}${DATA_API_KEY$5}`;
1693
1693
  const CLASS_NAME_SHOW$6 = 'show';
1694
1694
  const CLASS_NAME_DROPUP = 'dropup';
1695
1695
  const CLASS_NAME_DROPEND = 'dropend';
@@ -1710,7 +1710,7 @@ const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';
1710
1710
  const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
1711
1711
  const PLACEMENT_TOPCENTER = 'top';
1712
1712
  const PLACEMENT_BOTTOMCENTER = 'bottom';
1713
- const Default$a = {
1713
+ const Default$b = {
1714
1714
  autoClose: true,
1715
1715
  boundary: 'clippingParents',
1716
1716
  display: 'dynamic',
@@ -1743,13 +1743,13 @@ class Dropdown extends BaseComponent {
1743
1743
 
1744
1744
  // Getters
1745
1745
  static get Default() {
1746
- return Default$a;
1746
+ return Default$b;
1747
1747
  }
1748
1748
  static get DefaultType() {
1749
1749
  return DefaultType$9;
1750
1750
  }
1751
1751
  static get NAME() {
1752
- return NAME$b;
1752
+ return NAME$c;
1753
1753
  }
1754
1754
 
1755
1755
  // Public
@@ -1826,14 +1826,14 @@ class Dropdown extends BaseComponent {
1826
1826
  this._menu.classList.remove(CLASS_NAME_SHOW$6);
1827
1827
  this._element.classList.remove(CLASS_NAME_SHOW$6);
1828
1828
  this._element.setAttribute('aria-expanded', 'false');
1829
- Manipulator.removeDataAttribute(this._menu, 'popper');
1829
+ Manipulator$1.removeDataAttribute(this._menu, 'popper');
1830
1830
  EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);
1831
1831
  }
1832
1832
  _getConfig(config) {
1833
1833
  config = super._getConfig(config);
1834
1834
  if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
1835
1835
  // Popper virtual elements require a getBoundingClientRect method
1836
- throw new TypeError(`${NAME$b.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
1836
+ throw new TypeError(`${NAME$c.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
1837
1837
  }
1838
1838
  return config;
1839
1839
  }
@@ -1910,7 +1910,7 @@ class Dropdown extends BaseComponent {
1910
1910
 
1911
1911
  // Disable Popper if we have a static display or Dropdown is in Navbar
1912
1912
  if (this._inNavbar || this._config.display === 'static') {
1913
- Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove
1913
+ Manipulator$1.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove
1914
1914
  defaultBsPopperConfig.modifiers = [{
1915
1915
  name: 'applyStyles',
1916
1916
  enabled: false
@@ -2042,11 +2042,11 @@ defineJQueryPlugin(Dropdown);
2042
2042
  * ------------------------------------------------------------------------
2043
2043
  */
2044
2044
 
2045
- const Default$9 = {};
2046
- const NAME$a = 'gallery';
2047
- const DATA_KEY$6 = 'bs.gallery';
2048
- const EVENT_KEY$6 = `.${DATA_KEY$6}`;
2049
- const DATA_API_KEY$3 = '.data-api';
2045
+ const Default$a = {};
2046
+ const NAME$b = 'gallery';
2047
+ const DATA_KEY$7 = 'bs.gallery';
2048
+ const EVENT_KEY$7 = `.${DATA_KEY$7}`;
2049
+ const DATA_API_KEY$4 = '.data-api';
2050
2050
  const CAROUSEL_SELECTOR = '.carousel';
2051
2051
  const CAROUSEL_PAGER_SELECTOR = '.carousel-pager span';
2052
2052
  const CAROUSEL_ACTIVE_SELECTOR = '.carousel-item.active';
@@ -2055,7 +2055,7 @@ const THUMBNAIL_SELECTOR = '.bcl-gallery__grid a, .bcl-gallery__mobile-view-more
2055
2055
  const MODAL_SELECTOR = '.modal';
2056
2056
  const EVENT_MODAL_HIDE$1 = 'hide.bs.modal';
2057
2057
  const CAROUSEL_EVENT = 'slide.bs.carousel';
2058
- const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;
2058
+ const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;
2059
2059
 
2060
2060
  /**
2061
2061
  * ------------------------------------------------------------------------
@@ -2066,19 +2066,20 @@ const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;
2066
2066
  class Gallery extends BaseComponent {
2067
2067
  constructor(element, config) {
2068
2068
  super(element, config);
2069
- this.carousel = SelectorEngine.findOne(CAROUSEL_SELECTOR, this.element);
2070
- this.carouselPager = SelectorEngine.findOne(CAROUSEL_PAGER_SELECTOR, this.element);
2069
+ /* eslint no-underscore-dangle: ["error", { "allow": ["_element"] }] */
2070
+ this.carousel = SelectorEngine.findOne(CAROUSEL_SELECTOR, this._element);
2071
+ this.carouselPager = SelectorEngine.findOne(CAROUSEL_PAGER_SELECTOR, this._element);
2071
2072
  this.carouselStartIndex = element.getAttribute('data-gallery-start');
2072
2073
  this.carouselActiveItem = SelectorEngine.find(CAROUSEL_ITEM_SELECTOR, this.carousel)[this.carouselStartIndex];
2073
2074
  this.carouselPager.textContent = Number(this.carouselStartIndex) + 1;
2074
- this.modal = SelectorEngine.findOne(MODAL_SELECTOR, this.element);
2075
+ this.modal = SelectorEngine.findOne(MODAL_SELECTOR, this._element);
2075
2076
  this.addEventListeners();
2076
2077
  this.carouselLazyLoad(this.carouselActiveItem);
2077
2078
  }
2078
2079
 
2079
2080
  // Getters
2080
2081
  static get NAME() {
2081
- return NAME$a;
2082
+ return NAME$b;
2082
2083
  }
2083
2084
 
2084
2085
  // Public
@@ -2120,7 +2121,7 @@ class Gallery extends BaseComponent {
2120
2121
 
2121
2122
  // Static
2122
2123
  static get Default() {
2123
- return Default$9;
2124
+ return Default$a;
2124
2125
  }
2125
2126
  static jQueryInterface(config) {
2126
2127
  return this.each(function jInterface() {
@@ -2228,18 +2229,18 @@ class ScrollBarHelper {
2228
2229
  _saveInitialAttribute(element, styleProperty) {
2229
2230
  const actualValue = element.style.getPropertyValue(styleProperty);
2230
2231
  if (actualValue) {
2231
- Manipulator.setDataAttribute(element, styleProperty, actualValue);
2232
+ Manipulator$1.setDataAttribute(element, styleProperty, actualValue);
2232
2233
  }
2233
2234
  }
2234
2235
  _resetElementAttributes(selector, styleProperty) {
2235
2236
  const manipulationCallBack = element => {
2236
- const value = Manipulator.getDataAttribute(element, styleProperty);
2237
+ const value = Manipulator$1.getDataAttribute(element, styleProperty);
2237
2238
  // We only want to remove the property if the value is `null`; the value can also be zero
2238
2239
  if (value === null) {
2239
2240
  element.style.removeProperty(styleProperty);
2240
2241
  return;
2241
2242
  }
2242
- Manipulator.removeDataAttribute(element, styleProperty);
2243
+ Manipulator$1.removeDataAttribute(element, styleProperty);
2243
2244
  element.style.setProperty(styleProperty, value);
2244
2245
  };
2245
2246
  this._applyManipulationCallback(selector, manipulationCallBack);
@@ -2266,11 +2267,11 @@ class ScrollBarHelper {
2266
2267
  * Constants
2267
2268
  */
2268
2269
 
2269
- const NAME$9 = 'backdrop';
2270
+ const NAME$a = 'backdrop';
2270
2271
  const CLASS_NAME_FADE$4 = 'fade';
2271
2272
  const CLASS_NAME_SHOW$5 = 'show';
2272
- const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`;
2273
- const Default$8 = {
2273
+ const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$a}`;
2274
+ const Default$9 = {
2274
2275
  className: 'modal-backdrop',
2275
2276
  clickCallback: null,
2276
2277
  isAnimated: false,
@@ -2301,13 +2302,13 @@ class Backdrop extends Config {
2301
2302
 
2302
2303
  // Getters
2303
2304
  static get Default() {
2304
- return Default$8;
2305
+ return Default$9;
2305
2306
  }
2306
2307
  static get DefaultType() {
2307
2308
  return DefaultType$8;
2308
2309
  }
2309
2310
  static get NAME() {
2310
- return NAME$9;
2311
+ return NAME$a;
2311
2312
  }
2312
2313
 
2313
2314
  // Public
@@ -2390,15 +2391,15 @@ class Backdrop extends Config {
2390
2391
  * Constants
2391
2392
  */
2392
2393
 
2393
- const NAME$8 = 'focustrap';
2394
- const DATA_KEY$5 = 'bs.focustrap';
2395
- const EVENT_KEY$5 = `.${DATA_KEY$5}`;
2396
- const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`;
2397
- const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`;
2394
+ const NAME$9 = 'focustrap';
2395
+ const DATA_KEY$6 = 'bs.focustrap';
2396
+ const EVENT_KEY$6 = `.${DATA_KEY$6}`;
2397
+ const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$6}`;
2398
+ const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$6}`;
2398
2399
  const TAB_KEY = 'Tab';
2399
2400
  const TAB_NAV_FORWARD = 'forward';
2400
2401
  const TAB_NAV_BACKWARD = 'backward';
2401
- const Default$7 = {
2402
+ const Default$8 = {
2402
2403
  autofocus: true,
2403
2404
  trapElement: null // The element to trap focus inside of
2404
2405
  };
@@ -2422,13 +2423,13 @@ class FocusTrap extends Config {
2422
2423
 
2423
2424
  // Getters
2424
2425
  static get Default() {
2425
- return Default$7;
2426
+ return Default$8;
2426
2427
  }
2427
2428
  static get DefaultType() {
2428
2429
  return DefaultType$7;
2429
2430
  }
2430
2431
  static get NAME() {
2431
- return NAME$8;
2432
+ return NAME$9;
2432
2433
  }
2433
2434
 
2434
2435
  // Public
@@ -2439,7 +2440,7 @@ class FocusTrap extends Config {
2439
2440
  if (this._config.autofocus) {
2440
2441
  this._config.trapElement.focus();
2441
2442
  }
2442
- EventHandler.off(document, EVENT_KEY$5); // guard against infinite focus loop
2443
+ EventHandler.off(document, EVENT_KEY$6); // guard against infinite focus loop
2443
2444
  EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));
2444
2445
  EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));
2445
2446
  this._isActive = true;
@@ -2449,7 +2450,7 @@ class FocusTrap extends Config {
2449
2450
  return;
2450
2451
  }
2451
2452
  this._isActive = false;
2452
- EventHandler.off(document, EVENT_KEY$5);
2453
+ EventHandler.off(document, EVENT_KEY$6);
2453
2454
  }
2454
2455
 
2455
2456
  // Private
@@ -2488,21 +2489,21 @@ class FocusTrap extends Config {
2488
2489
  * Constants
2489
2490
  */
2490
2491
 
2491
- const NAME$7 = 'modal';
2492
- const DATA_KEY$4 = 'bs.modal';
2493
- const EVENT_KEY$4 = `.${DATA_KEY$4}`;
2494
- const DATA_API_KEY$2 = '.data-api';
2492
+ const NAME$8 = 'modal';
2493
+ const DATA_KEY$5 = 'bs.modal';
2494
+ const EVENT_KEY$5 = `.${DATA_KEY$5}`;
2495
+ const DATA_API_KEY$3 = '.data-api';
2495
2496
  const ESCAPE_KEY$1 = 'Escape';
2496
- const EVENT_HIDE$4 = `hide${EVENT_KEY$4}`;
2497
- const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`;
2498
- const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`;
2499
- const EVENT_SHOW$4 = `show${EVENT_KEY$4}`;
2500
- const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;
2501
- const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;
2502
- const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;
2503
- const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;
2504
- const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;
2505
- const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;
2497
+ const EVENT_HIDE$4 = `hide${EVENT_KEY$5}`;
2498
+ const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$5}`;
2499
+ const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$5}`;
2500
+ const EVENT_SHOW$4 = `show${EVENT_KEY$5}`;
2501
+ const EVENT_SHOWN$4 = `shown${EVENT_KEY$5}`;
2502
+ const EVENT_RESIZE$1 = `resize${EVENT_KEY$5}`;
2503
+ const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$5}`;
2504
+ const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$5}`;
2505
+ const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$5}`;
2506
+ const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$5}${DATA_API_KEY$3}`;
2506
2507
  const CLASS_NAME_OPEN = 'modal-open';
2507
2508
  const CLASS_NAME_FADE$3 = 'fade';
2508
2509
  const CLASS_NAME_SHOW$4 = 'show';
@@ -2511,7 +2512,7 @@ const OPEN_SELECTOR$1 = '.modal.show';
2511
2512
  const SELECTOR_DIALOG = '.modal-dialog';
2512
2513
  const SELECTOR_MODAL_BODY = '.modal-body';
2513
2514
  const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]';
2514
- const Default$6 = {
2515
+ const Default$7 = {
2515
2516
  backdrop: true,
2516
2517
  focus: true,
2517
2518
  keyboard: true
@@ -2540,13 +2541,13 @@ class Modal extends BaseComponent {
2540
2541
 
2541
2542
  // Getters
2542
2543
  static get Default() {
2543
- return Default$6;
2544
+ return Default$7;
2544
2545
  }
2545
2546
  static get DefaultType() {
2546
2547
  return DefaultType$6;
2547
2548
  }
2548
2549
  static get NAME() {
2549
- return NAME$7;
2550
+ return NAME$8;
2550
2551
  }
2551
2552
 
2552
2553
  // Public
@@ -2586,7 +2587,7 @@ class Modal extends BaseComponent {
2586
2587
  }
2587
2588
  dispose() {
2588
2589
  for (const htmlElement of [window, this._dialog]) {
2589
- EventHandler.off(htmlElement, EVENT_KEY$4);
2590
+ EventHandler.off(htmlElement, EVENT_KEY$5);
2590
2591
  }
2591
2592
  this._backdrop.dispose();
2592
2593
  this._focustrap.deactivate();
@@ -2794,27 +2795,27 @@ defineJQueryPlugin(Modal);
2794
2795
  * Constants
2795
2796
  */
2796
2797
 
2797
- const NAME$6 = 'offcanvas';
2798
- const DATA_KEY$3 = 'bs.offcanvas';
2799
- const EVENT_KEY$3 = `.${DATA_KEY$3}`;
2800
- const DATA_API_KEY$1 = '.data-api';
2801
- const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;
2798
+ const NAME$7 = 'offcanvas';
2799
+ const DATA_KEY$4 = 'bs.offcanvas';
2800
+ const EVENT_KEY$4 = `.${DATA_KEY$4}`;
2801
+ const DATA_API_KEY$2 = '.data-api';
2802
+ const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$4}${DATA_API_KEY$2}`;
2802
2803
  const ESCAPE_KEY = 'Escape';
2803
2804
  const CLASS_NAME_SHOW$3 = 'show';
2804
2805
  const CLASS_NAME_SHOWING$1 = 'showing';
2805
2806
  const CLASS_NAME_HIDING = 'hiding';
2806
2807
  const CLASS_NAME_BACKDROP = 'offcanvas-backdrop';
2807
2808
  const OPEN_SELECTOR = '.offcanvas.show';
2808
- const EVENT_SHOW$3 = `show${EVENT_KEY$3}`;
2809
- const EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`;
2810
- const EVENT_HIDE$3 = `hide${EVENT_KEY$3}`;
2811
- const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`;
2812
- const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`;
2813
- const EVENT_RESIZE = `resize${EVENT_KEY$3}`;
2814
- const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`;
2815
- const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`;
2809
+ const EVENT_SHOW$3 = `show${EVENT_KEY$4}`;
2810
+ const EVENT_SHOWN$3 = `shown${EVENT_KEY$4}`;
2811
+ const EVENT_HIDE$3 = `hide${EVENT_KEY$4}`;
2812
+ const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$4}`;
2813
+ const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$4}`;
2814
+ const EVENT_RESIZE = `resize${EVENT_KEY$4}`;
2815
+ const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;
2816
+ const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$4}`;
2816
2817
  const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="offcanvas"]';
2817
- const Default$5 = {
2818
+ const Default$6 = {
2818
2819
  backdrop: true,
2819
2820
  keyboard: true,
2820
2821
  scroll: false
@@ -2840,13 +2841,13 @@ class Offcanvas extends BaseComponent {
2840
2841
 
2841
2842
  // Getters
2842
2843
  static get Default() {
2843
- return Default$5;
2844
+ return Default$6;
2844
2845
  }
2845
2846
  static get DefaultType() {
2846
2847
  return DefaultType$5;
2847
2848
  }
2848
2849
  static get NAME() {
2849
- return NAME$6;
2850
+ return NAME$7;
2850
2851
  }
2851
2852
 
2852
2853
  // Public
@@ -2993,7 +2994,7 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, functi
2993
2994
  const data = Offcanvas.getOrCreateInstance(target);
2994
2995
  data.toggle(this);
2995
2996
  });
2996
- EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {
2997
+ EventHandler.on(window, EVENT_LOAD_DATA_API$3, () => {
2997
2998
  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {
2998
2999
  Offcanvas.getOrCreateInstance(selector).show();
2999
3000
  }
@@ -3119,8 +3120,8 @@ function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {
3119
3120
  * Constants
3120
3121
  */
3121
3122
 
3122
- const NAME$5 = 'TemplateFactory';
3123
- const Default$4 = {
3123
+ const NAME$6 = 'TemplateFactory';
3124
+ const Default$5 = {
3124
3125
  allowList: DefaultAllowlist,
3125
3126
  content: {},
3126
3127
  // { selector : text , selector2 : text2 , }
@@ -3156,13 +3157,13 @@ class TemplateFactory extends Config {
3156
3157
 
3157
3158
  // Getters
3158
3159
  static get Default() {
3159
- return Default$4;
3160
+ return Default$5;
3160
3161
  }
3161
3162
  static get DefaultType() {
3162
3163
  return DefaultType$4;
3163
3164
  }
3164
3165
  static get NAME() {
3165
- return NAME$5;
3166
+ return NAME$6;
3166
3167
  }
3167
3168
 
3168
3169
  // Public
@@ -3254,7 +3255,7 @@ class TemplateFactory extends Config {
3254
3255
  * Constants
3255
3256
  */
3256
3257
 
3257
- const NAME$4 = 'tooltip';
3258
+ const NAME$5 = 'tooltip';
3258
3259
  const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);
3259
3260
  const CLASS_NAME_FADE$2 = 'fade';
3260
3261
  const CLASS_NAME_MODAL = 'modal';
@@ -3283,7 +3284,7 @@ const AttachmentMap = {
3283
3284
  BOTTOM: 'bottom',
3284
3285
  LEFT: isRTL() ? 'right' : 'left'
3285
3286
  };
3286
- const Default$3 = {
3287
+ const Default$4 = {
3287
3288
  allowList: DefaultAllowlist,
3288
3289
  animation: true,
3289
3290
  boundary: 'clippingParents',
@@ -3352,13 +3353,13 @@ class Tooltip extends BaseComponent {
3352
3353
 
3353
3354
  // Getters
3354
3355
  static get Default() {
3355
- return Default$3;
3356
+ return Default$4;
3356
3357
  }
3357
3358
  static get DefaultType() {
3358
3359
  return DefaultType$3;
3359
3360
  }
3360
3361
  static get NAME() {
3361
- return NAME$4;
3362
+ return NAME$5;
3362
3363
  }
3363
3364
 
3364
3365
  // Public
@@ -3676,7 +3677,7 @@ class Tooltip extends BaseComponent {
3676
3677
  return Object.values(this._activeTrigger).includes(true);
3677
3678
  }
3678
3679
  _getConfig(config) {
3679
- const dataAttributes = Manipulator.getDataAttributes(this._element);
3680
+ const dataAttributes = Manipulator$1.getDataAttributes(this._element);
3680
3681
  for (const dataAttribute of Object.keys(dataAttributes)) {
3681
3682
  if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {
3682
3683
  delete dataAttributes[dataAttribute];
@@ -3765,10 +3766,10 @@ defineJQueryPlugin(Tooltip);
3765
3766
  * Constants
3766
3767
  */
3767
3768
 
3768
- const NAME$3 = 'popover';
3769
+ const NAME$4 = 'popover';
3769
3770
  const SELECTOR_TITLE = '.popover-header';
3770
3771
  const SELECTOR_CONTENT = '.popover-body';
3771
- const Default$2 = {
3772
+ const Default$3 = {
3772
3773
  ...Tooltip.Default,
3773
3774
  content: '',
3774
3775
  offset: [0, 8],
@@ -3788,13 +3789,13 @@ const DefaultType$2 = {
3788
3789
  class Popover extends Tooltip {
3789
3790
  // Getters
3790
3791
  static get Default() {
3791
- return Default$2;
3792
+ return Default$3;
3792
3793
  }
3793
3794
  static get DefaultType() {
3794
3795
  return DefaultType$2;
3795
3796
  }
3796
3797
  static get NAME() {
3797
- return NAME$3;
3798
+ return NAME$4;
3798
3799
  }
3799
3800
 
3800
3801
  // Overrides
@@ -3845,25 +3846,25 @@ defineJQueryPlugin(Popover);
3845
3846
  * Constants
3846
3847
  */
3847
3848
 
3848
- const NAME$2 = 'scrollspy';
3849
- const DATA_KEY$2 = 'bs.scrollspy';
3850
- const EVENT_KEY$2 = `.${DATA_KEY$2}`;
3851
- const DATA_API_KEY = '.data-api';
3852
- const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`;
3853
- const EVENT_CLICK = `click${EVENT_KEY$2}`;
3854
- const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`;
3855
- const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
3856
- const CLASS_NAME_ACTIVE$1 = 'active';
3857
- const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]';
3849
+ const NAME$3 = 'scrollspy';
3850
+ const DATA_KEY$3 = 'bs.scrollspy';
3851
+ const EVENT_KEY$3 = `.${DATA_KEY$3}`;
3852
+ const DATA_API_KEY$1 = '.data-api';
3853
+ const EVENT_ACTIVATE$1 = `activate${EVENT_KEY$3}`;
3854
+ const EVENT_CLICK = `click${EVENT_KEY$3}`;
3855
+ const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;
3856
+ const CLASS_NAME_DROPDOWN_ITEM$1 = 'dropdown-item';
3857
+ const CLASS_NAME_ACTIVE$2 = 'active';
3858
+ const SELECTOR_DATA_SPY$1 = '[data-bs-spy="scroll"]';
3858
3859
  const SELECTOR_TARGET_LINKS = '[href]';
3859
- const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
3860
- const SELECTOR_NAV_LINKS = '.nav-link';
3861
- const SELECTOR_NAV_ITEMS = '.nav-item';
3862
- const SELECTOR_LIST_ITEMS = '.list-group-item';
3863
- const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`;
3864
- const SELECTOR_DROPDOWN = '.dropdown';
3865
- const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
3866
- const Default$1 = {
3860
+ const SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';
3861
+ const SELECTOR_NAV_LINKS$1 = '.nav-link';
3862
+ const SELECTOR_NAV_ITEMS$1 = '.nav-item';
3863
+ const SELECTOR_LIST_ITEMS$1 = '.list-group-item';
3864
+ const SELECTOR_LINK_ITEMS$1 = `${SELECTOR_NAV_LINKS$1}, ${SELECTOR_NAV_ITEMS$1} > ${SELECTOR_NAV_LINKS$1}, ${SELECTOR_LIST_ITEMS$1}`;
3865
+ const SELECTOR_DROPDOWN$1 = '.dropdown';
3866
+ const SELECTOR_DROPDOWN_TOGGLE$2 = '.dropdown-toggle';
3867
+ const Default$2 = {
3867
3868
  offset: null,
3868
3869
  // TODO: v6 @deprecated, keep it for backwards compatibility reasons
3869
3870
  rootMargin: '0px 0px -25%',
@@ -3884,7 +3885,7 @@ const DefaultType$1 = {
3884
3885
  * Class definition
3885
3886
  */
3886
3887
 
3887
- class ScrollSpy extends BaseComponent {
3888
+ let ScrollSpy$1 = class ScrollSpy extends BaseComponent {
3888
3889
  constructor(element, config) {
3889
3890
  super(element, config);
3890
3891
 
@@ -3903,13 +3904,13 @@ class ScrollSpy extends BaseComponent {
3903
3904
 
3904
3905
  // Getters
3905
3906
  static get Default() {
3906
- return Default$1;
3907
+ return Default$2;
3907
3908
  }
3908
3909
  static get DefaultType() {
3909
3910
  return DefaultType$1;
3910
3911
  }
3911
3912
  static get NAME() {
3912
- return NAME$2;
3913
+ return NAME$3;
3913
3914
  }
3914
3915
 
3915
3916
  // Public
@@ -4034,31 +4035,31 @@ class ScrollSpy extends BaseComponent {
4034
4035
  }
4035
4036
  this._clearActiveClass(this._config.target);
4036
4037
  this._activeTarget = target;
4037
- target.classList.add(CLASS_NAME_ACTIVE$1);
4038
+ target.classList.add(CLASS_NAME_ACTIVE$2);
4038
4039
  this._activateParents(target);
4039
- EventHandler.trigger(this._element, EVENT_ACTIVATE, {
4040
+ EventHandler.trigger(this._element, EVENT_ACTIVATE$1, {
4040
4041
  relatedTarget: target
4041
4042
  });
4042
4043
  }
4043
4044
  _activateParents(target) {
4044
4045
  // Activate dropdown parents
4045
- if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
4046
- SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);
4046
+ if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM$1)) {
4047
+ SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$2, target.closest(SELECTOR_DROPDOWN$1)).classList.add(CLASS_NAME_ACTIVE$2);
4047
4048
  return;
4048
4049
  }
4049
- for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {
4050
+ for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP$1)) {
4050
4051
  // Set triggered links parents as active
4051
4052
  // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
4052
- for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {
4053
- item.classList.add(CLASS_NAME_ACTIVE$1);
4053
+ for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS$1)) {
4054
+ item.classList.add(CLASS_NAME_ACTIVE$2);
4054
4055
  }
4055
4056
  }
4056
4057
  }
4057
4058
  _clearActiveClass(parent) {
4058
- parent.classList.remove(CLASS_NAME_ACTIVE$1);
4059
- const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$1}`, parent);
4059
+ parent.classList.remove(CLASS_NAME_ACTIVE$2);
4060
+ const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$2}`, parent);
4060
4061
  for (const node of activeNodes) {
4061
- node.classList.remove(CLASS_NAME_ACTIVE$1);
4062
+ node.classList.remove(CLASS_NAME_ACTIVE$2);
4062
4063
  }
4063
4064
  }
4064
4065
 
@@ -4075,20 +4076,288 @@ class ScrollSpy extends BaseComponent {
4075
4076
  data[config]();
4076
4077
  });
4077
4078
  }
4078
- }
4079
+ };
4079
4080
 
4080
4081
  /**
4081
4082
  * Data API implementation
4082
4083
  */
4083
4084
 
4084
- EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => {
4085
- for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {
4086
- ScrollSpy.getOrCreateInstance(spy);
4085
+ EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {
4086
+ for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY$1)) {
4087
+ ScrollSpy$1.getOrCreateInstance(spy);
4088
+ }
4089
+ });
4090
+
4091
+ /**
4092
+ * jQuery
4093
+ */
4094
+
4095
+ defineJQueryPlugin(ScrollSpy$1);
4096
+
4097
+ /**
4098
+ * --------------------------------------------------------------------------
4099
+ * Bootstrap (v5.1.3): dom/manipulator.js
4100
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4101
+ * --------------------------------------------------------------------------
4102
+ */
4103
+
4104
+ function normalizeData(val) {
4105
+ if (val === 'true') {
4106
+ return true;
4107
+ }
4108
+ if (val === 'false') {
4109
+ return false;
4110
+ }
4111
+ if (val === Number(val).toString()) {
4112
+ return Number(val);
4113
+ }
4114
+ if (val === '' || val === 'null') {
4115
+ return null;
4116
+ }
4117
+ return val;
4118
+ }
4119
+ function normalizeDataKey(key) {
4120
+ return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`);
4121
+ }
4122
+ const Manipulator = {
4123
+ setDataAttribute(element, key, value) {
4124
+ element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value);
4125
+ },
4126
+ removeDataAttribute(element, key) {
4127
+ element.removeAttribute(`data-bs-${normalizeDataKey(key)}`);
4128
+ },
4129
+ getDataAttributes(element) {
4130
+ if (!element) {
4131
+ return {};
4132
+ }
4133
+ const attributes = {};
4134
+ Object.keys(element.dataset).filter(key => key.startsWith('bs')).forEach(key => {
4135
+ let pureKey = key.replace(/^bs/, '');
4136
+ pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);
4137
+ attributes[pureKey] = normalizeData(element.dataset[key]);
4138
+ });
4139
+ return attributes;
4140
+ },
4141
+ getDataAttribute(element, key) {
4142
+ return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`));
4143
+ },
4144
+ offset(element) {
4145
+ const rect = element.getBoundingClientRect();
4146
+ return {
4147
+ top: rect.top + window.pageYOffset,
4148
+ left: rect.left + window.pageXOffset
4149
+ };
4150
+ },
4151
+ position(element) {
4152
+ return {
4153
+ top: element.offsetTop,
4154
+ left: element.offsetLeft
4155
+ };
4156
+ }
4157
+ };
4158
+
4159
+ /**
4160
+ * --------------------------------------------------------------------------
4161
+ * Bootstrap (v5.1.3): scrollspy.js
4162
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4163
+ * --------------------------------------------------------------------------
4164
+ */
4165
+
4166
+ /**
4167
+ * ------------------------------------------------------------------------
4168
+ * Constants
4169
+ * ------------------------------------------------------------------------
4170
+ */
4171
+
4172
+ const NAME$2 = 'scrollspy';
4173
+ const DATA_KEY$2 = 'bs.scrollspy';
4174
+ const EVENT_KEY$2 = `.${DATA_KEY$2}`;
4175
+ const DATA_API_KEY = '.data-api';
4176
+ const Default$1 = {
4177
+ offset: 10,
4178
+ method: 'auto',
4179
+ target: ''
4180
+ };
4181
+ const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`;
4182
+ const EVENT_SCROLL = `scroll${EVENT_KEY$2}`;
4183
+ const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`;
4184
+ const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
4185
+ const CLASS_NAME_ACTIVE$1 = 'active';
4186
+ const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]';
4187
+ const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
4188
+ const SELECTOR_NAV_LINKS = '.nav-link';
4189
+ const SELECTOR_NAV_ITEMS = '.nav-item';
4190
+ const SELECTOR_LIST_ITEMS = '.list-group-item';
4191
+ const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}, .${CLASS_NAME_DROPDOWN_ITEM}`;
4192
+ const SELECTOR_DROPDOWN = '.dropdown';
4193
+ const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
4194
+ const METHOD_OFFSET = 'offset';
4195
+ const METHOD_POSITION = 'position';
4196
+
4197
+ /**
4198
+ * ------------------------------------------------------------------------
4199
+ * Class Definition
4200
+ * ------------------------------------------------------------------------
4201
+ */
4202
+
4203
+ class ScrollSpy extends BaseComponent {
4204
+ constructor(element, config) {
4205
+ super(element);
4206
+ this._scrollElement = this._element.tagName === 'BODY' ? window : this._element;
4207
+ this._config = this._getConfig(config);
4208
+ this._offsets = [];
4209
+ this._targets = [];
4210
+ this._activeTarget = null;
4211
+ this._scrollHeight = 0;
4212
+ EventHandler.on(this._scrollElement, EVENT_SCROLL, () => this._process());
4213
+ this.refresh();
4214
+ this._process();
4215
+ }
4216
+
4217
+ // Getters
4218
+
4219
+ static get Default() {
4220
+ return Default$1;
4221
+ }
4222
+ static get NAME() {
4223
+ return NAME$2;
4224
+ }
4225
+
4226
+ // Public
4227
+
4228
+ refresh() {
4229
+ const autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;
4230
+ const offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
4231
+ const offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;
4232
+ this._offsets = [];
4233
+ this._targets = [];
4234
+ this._scrollHeight = this._getScrollHeight();
4235
+ const targets = SelectorEngine.find(SELECTOR_LINK_ITEMS, this._config.target);
4236
+ targets.map(element => {
4237
+ const targetSelector = getSelectorFromElement(element);
4238
+ const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null;
4239
+ if (target) {
4240
+ const targetBCR = target.getBoundingClientRect();
4241
+ if (targetBCR.width || targetBCR.height) {
4242
+ return [Manipulator[offsetMethod](target).top + offsetBase, targetSelector];
4243
+ }
4244
+ }
4245
+ return null;
4246
+ }).filter(item => item).sort((a, b) => a[0] - b[0]).forEach(item => {
4247
+ this._offsets.push(item[0]);
4248
+ this._targets.push(item[1]);
4249
+ });
4250
+ }
4251
+ dispose() {
4252
+ EventHandler.off(this._scrollElement, EVENT_KEY$2);
4253
+ super.dispose();
4254
+ }
4255
+
4256
+ // Private
4257
+
4258
+ _getConfig(config) {
4259
+ config = {
4260
+ ...Default$1,
4261
+ ...Manipulator.getDataAttributes(this._element),
4262
+ ...(typeof config === 'object' && config ? config : {})
4263
+ };
4264
+ config.target = getElement(config.target) || document.documentElement;
4265
+ return config;
4266
+ }
4267
+ _getScrollTop() {
4268
+ return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
4269
+ }
4270
+ _getScrollHeight() {
4271
+ return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
4272
+ }
4273
+ _getOffsetHeight() {
4274
+ return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
4275
+ }
4276
+ _process() {
4277
+ const scrollTop = this._getScrollTop() + this._config.offset;
4278
+ const scrollHeight = this._getScrollHeight();
4279
+ const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
4280
+ if (this._scrollHeight !== scrollHeight) {
4281
+ this.refresh();
4282
+ }
4283
+ if (scrollTop >= maxScroll) {
4284
+ const target = this._targets[this._targets.length - 1];
4285
+ if (this._activeTarget !== target) {
4286
+ this._activate(target);
4287
+ }
4288
+ return;
4289
+ }
4290
+ if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
4291
+ this._activeTarget = null;
4292
+ this._clear();
4293
+ return;
4294
+ }
4295
+ for (let i = this._offsets.length; i--;) {
4296
+ const isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
4297
+ if (isActiveTarget) {
4298
+ this._activate(this._targets[i]);
4299
+ }
4300
+ }
4301
+ }
4302
+ _activate(target) {
4303
+ this._activeTarget = target;
4304
+ this._clear();
4305
+ const queries = SELECTOR_LINK_ITEMS.split(',').map(selector => `${selector}[data-bs-target="${target}"],${selector}[href="${target}"]`);
4306
+ const link = SelectorEngine.findOne(queries.join(','), this._config.target);
4307
+ link.classList.add(CLASS_NAME_ACTIVE$1);
4308
+ if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
4309
+ SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, link.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);
4310
+ } else {
4311
+ SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP).forEach(listGroup => {
4312
+ // Set triggered links parents as active
4313
+ // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
4314
+ SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`).forEach(item => item.classList.add(CLASS_NAME_ACTIVE$1));
4315
+
4316
+ // Handle special case when .nav-link is inside .nav-item
4317
+ SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS).forEach(navItem => {
4318
+ SelectorEngine.children(navItem, SELECTOR_NAV_LINKS).forEach(item => item.classList.add(CLASS_NAME_ACTIVE$1));
4319
+ });
4320
+ });
4321
+ }
4322
+ EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {
4323
+ relatedTarget: target
4324
+ });
4325
+ }
4326
+ _clear() {
4327
+ 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));
4087
4328
  }
4329
+
4330
+ // Static
4331
+
4332
+ static jQueryInterface(config) {
4333
+ return this.each(function () {
4334
+ const data = ScrollSpy.getOrCreateInstance(this, config);
4335
+ if (typeof config !== 'string') {
4336
+ return;
4337
+ }
4338
+ if (typeof data[config] === 'undefined') {
4339
+ throw new TypeError(`No method named "${config}"`);
4340
+ }
4341
+ data[config]();
4342
+ });
4343
+ }
4344
+ }
4345
+
4346
+ /**
4347
+ * ------------------------------------------------------------------------
4348
+ * Data Api implementation
4349
+ * ------------------------------------------------------------------------
4350
+ */
4351
+
4352
+ EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => {
4353
+ SelectorEngine.find(SELECTOR_DATA_SPY).forEach(spy => new ScrollSpy(spy));
4088
4354
  });
4089
4355
 
4090
4356
  /**
4357
+ * ------------------------------------------------------------------------
4091
4358
  * jQuery
4359
+ * ------------------------------------------------------------------------
4360
+ * add .ScrollSpy to jQuery only if jQuery is present
4092
4361
  */
4093
4362
 
4094
4363
  defineJQueryPlugin(ScrollSpy);
@@ -4537,5 +4806,5 @@ enableDismissTrigger(Toast);
4537
4806
 
4538
4807
  defineJQueryPlugin(Toast);
4539
4808
 
4540
- export { Alert, Button, Carousel, Collapse, Dropdown, Gallery, Modal, Offcanvas, Popover, ScrollSpy, Tab, Toast, Tooltip };
4809
+ export { Alert, Button, Carousel, Collapse, Dropdown, Gallery, Modal, Offcanvas, Popover, ScrollSpy, ScrollSpy$1 as ScrollSpyV2, Tab, Toast, Tooltip };
4541
4810
  //# sourceMappingURL=oe-bcl-joinup.esm.js.map