@coreui/coreui 5.6.1 → 5.7.1

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.
Files changed (118) hide show
  1. package/README.md +3 -4
  2. package/dist/css/coreui-grid.css +1 -1
  3. package/dist/css/coreui-grid.css.map +1 -1
  4. package/dist/css/coreui-grid.min.css +1 -1
  5. package/dist/css/coreui-grid.min.css.map +1 -1
  6. package/dist/css/coreui-grid.rtl.css +1 -1
  7. package/dist/css/coreui-grid.rtl.css.map +1 -1
  8. package/dist/css/coreui-grid.rtl.min.css +1 -1
  9. package/dist/css/coreui-grid.rtl.min.css.map +1 -1
  10. package/dist/css/coreui-reboot.css +5 -3
  11. package/dist/css/coreui-reboot.css.map +1 -1
  12. package/dist/css/coreui-reboot.min.css +2 -2
  13. package/dist/css/coreui-reboot.min.css.map +1 -1
  14. package/dist/css/coreui-reboot.rtl.css +5 -3
  15. package/dist/css/coreui-reboot.rtl.css.map +1 -1
  16. package/dist/css/coreui-reboot.rtl.min.css +2 -2
  17. package/dist/css/coreui-reboot.rtl.min.css.map +1 -1
  18. package/dist/css/coreui-utilities.css +5 -3
  19. package/dist/css/coreui-utilities.css.map +1 -1
  20. package/dist/css/coreui-utilities.min.css +2 -2
  21. package/dist/css/coreui-utilities.min.css.map +1 -1
  22. package/dist/css/coreui-utilities.rtl.css +5 -3
  23. package/dist/css/coreui-utilities.rtl.css.map +1 -1
  24. package/dist/css/coreui-utilities.rtl.min.css +2 -2
  25. package/dist/css/coreui-utilities.rtl.min.css.map +1 -1
  26. package/dist/css/coreui.css +173 -67
  27. package/dist/css/coreui.css.map +1 -1
  28. package/dist/css/coreui.min.css +2 -2
  29. package/dist/css/coreui.min.css.map +1 -1
  30. package/dist/css/coreui.rtl.css +168 -65
  31. package/dist/css/coreui.rtl.css.map +1 -1
  32. package/dist/css/coreui.rtl.min.css +2 -2
  33. package/dist/css/coreui.rtl.min.css.map +1 -1
  34. package/dist/css/themes/bootstrap/bootstrap.css +173 -67
  35. package/dist/css/themes/bootstrap/bootstrap.css.map +1 -1
  36. package/dist/css/themes/bootstrap/bootstrap.min.css +2 -2
  37. package/dist/css/themes/bootstrap/bootstrap.min.css.map +1 -1
  38. package/dist/css/themes/bootstrap/bootstrap.rtl.css +168 -65
  39. package/dist/css/themes/bootstrap/bootstrap.rtl.css.map +1 -1
  40. package/dist/css/themes/bootstrap/bootstrap.rtl.min.css +2 -2
  41. package/dist/css/themes/bootstrap/bootstrap.rtl.min.css.map +1 -1
  42. package/dist/js/bootstrap.bundle.js +578 -259
  43. package/dist/js/bootstrap.bundle.js.map +1 -1
  44. package/dist/js/bootstrap.bundle.min.js +2 -2
  45. package/dist/js/bootstrap.bundle.min.js.map +1 -1
  46. package/dist/js/bootstrap.esm.js +578 -260
  47. package/dist/js/bootstrap.esm.js.map +1 -1
  48. package/dist/js/bootstrap.esm.min.js +2 -2
  49. package/dist/js/bootstrap.esm.min.js.map +1 -1
  50. package/dist/js/bootstrap.js +578 -259
  51. package/dist/js/bootstrap.js.map +1 -1
  52. package/dist/js/bootstrap.min.js +2 -2
  53. package/dist/js/bootstrap.min.js.map +1 -1
  54. package/dist/js/coreui.bundle.js +578 -259
  55. package/dist/js/coreui.bundle.js.map +1 -1
  56. package/dist/js/coreui.bundle.min.js +2 -2
  57. package/dist/js/coreui.bundle.min.js.map +1 -1
  58. package/dist/js/coreui.esm.js +578 -260
  59. package/dist/js/coreui.esm.js.map +1 -1
  60. package/dist/js/coreui.esm.min.js +2 -2
  61. package/dist/js/coreui.esm.min.js.map +1 -1
  62. package/dist/js/coreui.js +578 -259
  63. package/dist/js/coreui.js.map +1 -1
  64. package/dist/js/coreui.min.js +2 -2
  65. package/dist/js/coreui.min.js.map +1 -1
  66. package/js/dist/alert.js +1 -1
  67. package/js/dist/base-component.js +2 -2
  68. package/js/dist/base-component.js.map +1 -1
  69. package/js/dist/button.js +1 -1
  70. package/js/dist/carousel.js +1 -1
  71. package/js/dist/chip-input.js +1 -1
  72. package/js/dist/chip.js +1 -1
  73. package/js/dist/collapse.js +1 -1
  74. package/js/dist/dom/data.js +1 -1
  75. package/js/dist/dom/event-handler.js +1 -1
  76. package/js/dist/dom/manipulator.js +1 -1
  77. package/js/dist/dom/selector-engine.js +1 -1
  78. package/js/dist/dropdown.js +1 -1
  79. package/js/dist/modal.js +1 -1
  80. package/js/dist/navigation.js +2 -2
  81. package/js/dist/navigation.js.map +1 -1
  82. package/js/dist/offcanvas.js +1 -1
  83. package/js/dist/popover.js +1 -1
  84. package/js/dist/scrollspy.js +1 -1
  85. package/js/dist/search-button.js +336 -0
  86. package/js/dist/search-button.js.map +1 -0
  87. package/js/dist/sidebar.js +7 -10
  88. package/js/dist/sidebar.js.map +1 -1
  89. package/js/dist/tab.js +1 -1
  90. package/js/dist/toast.js +1 -1
  91. package/js/dist/tooltip.js +1 -1
  92. package/js/dist/util/backdrop.js +1 -1
  93. package/js/dist/util/component-functions.js +1 -1
  94. package/js/dist/util/config.js +1 -1
  95. package/js/dist/util/focustrap.js +1 -1
  96. package/js/dist/util/index.js +1 -1
  97. package/js/dist/util/sanitizer.js +1 -1
  98. package/js/dist/util/scrollbar.js +1 -1
  99. package/js/dist/util/swipe.js +1 -1
  100. package/js/dist/util/template-factory.js +1 -1
  101. package/js/index.esm.js +1 -0
  102. package/js/index.umd.js +2 -0
  103. package/js/src/base-component.js +1 -1
  104. package/js/src/navigation.js +1 -1
  105. package/js/src/search-button.js +409 -0
  106. package/js/src/sidebar.js +6 -10
  107. package/package.json +15 -14
  108. package/scss/_banner.scss +1 -1
  109. package/scss/_root.scss +3 -0
  110. package/scss/_search-button.scss +127 -0
  111. package/scss/_variables-dark.scss +2 -1
  112. package/scss/_variables.scss +12 -4
  113. package/scss/coreui.scss +1 -0
  114. package/scss/functions/_color-translucent.scss +33 -0
  115. package/scss/functions/_contrast-ratio.scss +3 -3
  116. package/scss/sidebar/_sidebar-narrow.scss +21 -13
  117. package/scss/sidebar/_sidebar-nav.scss +66 -44
  118. package/scss/sidebar/_sidebar.scss +1 -6
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * CoreUI v5.6.1 (https://coreui.io)
2
+ * CoreUI v5.7.1 (https://coreui.io)
3
3
  * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
@@ -661,7 +661,7 @@ class Config {
661
661
  * Constants
662
662
  */
663
663
 
664
- const VERSION = '5.6.1';
664
+ const VERSION = '5.7.1';
665
665
 
666
666
  /**
667
667
  * Class definition
@@ -855,11 +855,11 @@ const enableDismissTrigger = (component, method = 'hide') => {
855
855
  * Constants
856
856
  */
857
857
 
858
- const NAME$j = 'alert';
859
- const DATA_KEY$e = 'bs.alert';
860
- const EVENT_KEY$f = `.${DATA_KEY$e}`;
861
- const EVENT_CLOSE = `close${EVENT_KEY$f}`;
862
- const EVENT_CLOSED = `closed${EVENT_KEY$f}`;
858
+ const NAME$k = 'alert';
859
+ const DATA_KEY$f = 'bs.alert';
860
+ const EVENT_KEY$g = `.${DATA_KEY$f}`;
861
+ const EVENT_CLOSE = `close${EVENT_KEY$g}`;
862
+ const EVENT_CLOSED = `closed${EVENT_KEY$g}`;
863
863
  const CLASS_NAME_FADE$5 = 'fade';
864
864
  const CLASS_NAME_SHOW$a = 'show';
865
865
 
@@ -870,7 +870,7 @@ const CLASS_NAME_SHOW$a = 'show';
870
870
  class Alert extends BaseComponent {
871
871
  // Getters
872
872
  static get NAME() {
873
- return NAME$j;
873
+ return NAME$k;
874
874
  }
875
875
 
876
876
  // Public
@@ -933,13 +933,13 @@ defineJQueryPlugin(Alert);
933
933
  * Constants
934
934
  */
935
935
 
936
- const NAME$i = 'button';
937
- const DATA_KEY$d = 'bs.button';
938
- const EVENT_KEY$e = `.${DATA_KEY$d}`;
939
- const DATA_API_KEY$a = '.data-api';
940
- const CLASS_NAME_ACTIVE$5 = 'active';
941
- const SELECTOR_DATA_TOGGLE$6 = '[data-bs-toggle="button"]';
942
- const EVENT_CLICK_DATA_API$8 = `click${EVENT_KEY$e}${DATA_API_KEY$a}`;
936
+ const NAME$j = 'button';
937
+ const DATA_KEY$e = 'bs.button';
938
+ const EVENT_KEY$f = `.${DATA_KEY$e}`;
939
+ const DATA_API_KEY$b = '.data-api';
940
+ const CLASS_NAME_ACTIVE$6 = 'active';
941
+ const SELECTOR_DATA_TOGGLE$7 = '[data-bs-toggle="button"]';
942
+ const EVENT_CLICK_DATA_API$9 = `click${EVENT_KEY$f}${DATA_API_KEY$b}`;
943
943
 
944
944
  /**
945
945
  * Class definition
@@ -948,13 +948,13 @@ const EVENT_CLICK_DATA_API$8 = `click${EVENT_KEY$e}${DATA_API_KEY$a}`;
948
948
  class Button extends BaseComponent {
949
949
  // Getters
950
950
  static get NAME() {
951
- return NAME$i;
951
+ return NAME$j;
952
952
  }
953
953
 
954
954
  // Public
955
955
  toggle() {
956
956
  // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method
957
- this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$5));
957
+ this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$6));
958
958
  }
959
959
 
960
960
  // Static
@@ -972,9 +972,9 @@ class Button extends BaseComponent {
972
972
  * Data API implementation
973
973
  */
974
974
 
975
- EventHandler.on(document, EVENT_CLICK_DATA_API$8, SELECTOR_DATA_TOGGLE$6, event => {
975
+ EventHandler.on(document, EVENT_CLICK_DATA_API$9, SELECTOR_DATA_TOGGLE$7, event => {
976
976
  event.preventDefault();
977
- const button = event.target.closest(SELECTOR_DATA_TOGGLE$6);
977
+ const button = event.target.closest(SELECTOR_DATA_TOGGLE$7);
978
978
  const data = Button.getOrCreateInstance(button);
979
979
  data.toggle();
980
980
  });
@@ -1000,23 +1000,23 @@ defineJQueryPlugin(Button);
1000
1000
  * Constants
1001
1001
  */
1002
1002
 
1003
- const NAME$h = 'swipe';
1004
- const EVENT_KEY$d = '.bs.swipe';
1005
- const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$d}`;
1006
- const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$d}`;
1007
- const EVENT_TOUCHEND = `touchend${EVENT_KEY$d}`;
1008
- const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$d}`;
1009
- const EVENT_POINTERUP = `pointerup${EVENT_KEY$d}`;
1003
+ const NAME$i = 'swipe';
1004
+ const EVENT_KEY$e = '.bs.swipe';
1005
+ const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$e}`;
1006
+ const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$e}`;
1007
+ const EVENT_TOUCHEND = `touchend${EVENT_KEY$e}`;
1008
+ const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$e}`;
1009
+ const EVENT_POINTERUP = `pointerup${EVENT_KEY$e}`;
1010
1010
  const POINTER_TYPE_TOUCH = 'touch';
1011
1011
  const POINTER_TYPE_PEN = 'pen';
1012
1012
  const CLASS_NAME_POINTER_EVENT = 'pointer-event';
1013
1013
  const SWIPE_THRESHOLD = 40;
1014
- const Default$g = {
1014
+ const Default$h = {
1015
1015
  endCallback: null,
1016
1016
  leftCallback: null,
1017
1017
  rightCallback: null
1018
1018
  };
1019
- const DefaultType$g = {
1019
+ const DefaultType$h = {
1020
1020
  endCallback: '(function|null)',
1021
1021
  leftCallback: '(function|null)',
1022
1022
  rightCallback: '(function|null)'
@@ -1041,18 +1041,18 @@ class Swipe extends Config {
1041
1041
 
1042
1042
  // Getters
1043
1043
  static get Default() {
1044
- return Default$g;
1044
+ return Default$h;
1045
1045
  }
1046
1046
  static get DefaultType() {
1047
- return DefaultType$g;
1047
+ return DefaultType$h;
1048
1048
  }
1049
1049
  static get NAME() {
1050
- return NAME$h;
1050
+ return NAME$i;
1051
1051
  }
1052
1052
 
1053
1053
  // Public
1054
1054
  dispose() {
1055
- EventHandler.off(this._element, EVENT_KEY$d);
1055
+ EventHandler.off(this._element, EVENT_KEY$e);
1056
1056
  }
1057
1057
 
1058
1058
  // Private
@@ -1123,10 +1123,10 @@ class Swipe extends Config {
1123
1123
  * Constants
1124
1124
  */
1125
1125
 
1126
- const NAME$g = 'carousel';
1127
- const DATA_KEY$c = 'bs.carousel';
1128
- const EVENT_KEY$c = `.${DATA_KEY$c}`;
1129
- const DATA_API_KEY$9 = '.data-api';
1126
+ const NAME$h = 'carousel';
1127
+ const DATA_KEY$d = 'bs.carousel';
1128
+ const EVENT_KEY$d = `.${DATA_KEY$d}`;
1129
+ const DATA_API_KEY$a = '.data-api';
1130
1130
  const ARROW_LEFT_KEY$1 = 'ArrowLeft';
1131
1131
  const ARROW_RIGHT_KEY$1 = 'ArrowRight';
1132
1132
  const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
@@ -1135,16 +1135,16 @@ const ORDER_NEXT = 'next';
1135
1135
  const ORDER_PREV = 'prev';
1136
1136
  const DIRECTION_LEFT = 'left';
1137
1137
  const DIRECTION_RIGHT = 'right';
1138
- const EVENT_SLIDE = `slide${EVENT_KEY$c}`;
1139
- const EVENT_SLID = `slid${EVENT_KEY$c}`;
1140
- const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$c}`;
1141
- const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$c}`;
1142
- const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$c}`;
1143
- const EVENT_DRAG_START = `dragstart${EVENT_KEY$c}`;
1144
- const EVENT_LOAD_DATA_API$5 = `load${EVENT_KEY$c}${DATA_API_KEY$9}`;
1145
- const EVENT_CLICK_DATA_API$7 = `click${EVENT_KEY$c}${DATA_API_KEY$9}`;
1138
+ const EVENT_SLIDE = `slide${EVENT_KEY$d}`;
1139
+ const EVENT_SLID = `slid${EVENT_KEY$d}`;
1140
+ const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$d}`;
1141
+ const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$d}`;
1142
+ const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$d}`;
1143
+ const EVENT_DRAG_START = `dragstart${EVENT_KEY$d}`;
1144
+ const EVENT_LOAD_DATA_API$5 = `load${EVENT_KEY$d}${DATA_API_KEY$a}`;
1145
+ const EVENT_CLICK_DATA_API$8 = `click${EVENT_KEY$d}${DATA_API_KEY$a}`;
1146
1146
  const CLASS_NAME_CAROUSEL = 'carousel';
1147
- const CLASS_NAME_ACTIVE$4 = 'active';
1147
+ const CLASS_NAME_ACTIVE$5 = 'active';
1148
1148
  const CLASS_NAME_SLIDE = 'slide';
1149
1149
  const CLASS_NAME_END = 'carousel-item-end';
1150
1150
  const CLASS_NAME_START = 'carousel-item-start';
@@ -1161,7 +1161,7 @@ const KEY_TO_DIRECTION = {
1161
1161
  [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT,
1162
1162
  [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT
1163
1163
  };
1164
- const Default$f = {
1164
+ const Default$g = {
1165
1165
  interval: 5000,
1166
1166
  keyboard: true,
1167
1167
  pause: 'hover',
@@ -1169,7 +1169,7 @@ const Default$f = {
1169
1169
  touch: true,
1170
1170
  wrap: true
1171
1171
  };
1172
- const DefaultType$f = {
1172
+ const DefaultType$g = {
1173
1173
  interval: '(number|boolean)',
1174
1174
  // TODO:v6 remove boolean support
1175
1175
  keyboard: 'boolean',
@@ -1200,13 +1200,13 @@ class Carousel extends BaseComponent {
1200
1200
 
1201
1201
  // Getters
1202
1202
  static get Default() {
1203
- return Default$f;
1203
+ return Default$g;
1204
1204
  }
1205
1205
  static get DefaultType() {
1206
- return DefaultType$f;
1206
+ return DefaultType$g;
1207
1207
  }
1208
1208
  static get NAME() {
1209
- return NAME$g;
1209
+ return NAME$h;
1210
1210
  }
1211
1211
 
1212
1212
  // Public
@@ -1333,11 +1333,11 @@ class Carousel extends BaseComponent {
1333
1333
  return;
1334
1334
  }
1335
1335
  const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement);
1336
- activeIndicator.classList.remove(CLASS_NAME_ACTIVE$4);
1336
+ activeIndicator.classList.remove(CLASS_NAME_ACTIVE$5);
1337
1337
  activeIndicator.removeAttribute('aria-current');
1338
1338
  const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to="${index}"]`, this._indicatorsElement);
1339
1339
  if (newActiveIndicator) {
1340
- newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$4);
1340
+ newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$5);
1341
1341
  newActiveIndicator.setAttribute('aria-current', 'true');
1342
1342
  }
1343
1343
  }
@@ -1390,8 +1390,8 @@ class Carousel extends BaseComponent {
1390
1390
  nextElement.classList.add(directionalClassName);
1391
1391
  const completeCallBack = () => {
1392
1392
  nextElement.classList.remove(directionalClassName, orderClassName);
1393
- nextElement.classList.add(CLASS_NAME_ACTIVE$4);
1394
- activeElement.classList.remove(CLASS_NAME_ACTIVE$4, orderClassName, directionalClassName);
1393
+ nextElement.classList.add(CLASS_NAME_ACTIVE$5);
1394
+ activeElement.classList.remove(CLASS_NAME_ACTIVE$5, orderClassName, directionalClassName);
1395
1395
  this._isSliding = false;
1396
1396
  triggerEvent(EVENT_SLID);
1397
1397
  };
@@ -1450,7 +1450,7 @@ class Carousel extends BaseComponent {
1450
1450
  * Data API implementation
1451
1451
  */
1452
1452
 
1453
- EventHandler.on(document, EVENT_CLICK_DATA_API$7, SELECTOR_DATA_SLIDE, function (event) {
1453
+ EventHandler.on(document, EVENT_CLICK_DATA_API$8, SELECTOR_DATA_SLIDE, function (event) {
1454
1454
  const target = SelectorEngine.getElementFromSelector(this);
1455
1455
  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {
1456
1456
  return;
@@ -1496,25 +1496,25 @@ defineJQueryPlugin(Carousel);
1496
1496
  * Constants
1497
1497
  */
1498
1498
 
1499
- const NAME$f = 'chip';
1500
- const DATA_KEY$b = 'bs.chip';
1501
- const EVENT_KEY$b = `.${DATA_KEY$b}`;
1502
- const DATA_API_KEY$8 = '.data-api';
1503
- const EVENT_REMOVE$1 = `remove${EVENT_KEY$b}`;
1504
- const EVENT_REMOVED = `removed${EVENT_KEY$b}`;
1505
- const EVENT_SELECT$1 = `select${EVENT_KEY$b}`;
1506
- const EVENT_SELECTED = `selected${EVENT_KEY$b}`;
1507
- const EVENT_DESELECT = `deselect${EVENT_KEY$b}`;
1508
- const EVENT_DESELECTED = `deselected${EVENT_KEY$b}`;
1499
+ const NAME$g = 'chip';
1500
+ const DATA_KEY$c = 'bs.chip';
1501
+ const EVENT_KEY$c = `.${DATA_KEY$c}`;
1502
+ const DATA_API_KEY$9 = '.data-api';
1503
+ const EVENT_REMOVE$1 = `remove${EVENT_KEY$c}`;
1504
+ const EVENT_REMOVED = `removed${EVENT_KEY$c}`;
1505
+ const EVENT_SELECT$1 = `select${EVENT_KEY$c}`;
1506
+ const EVENT_SELECTED = `selected${EVENT_KEY$c}`;
1507
+ const EVENT_DESELECT = `deselect${EVENT_KEY$c}`;
1508
+ const EVENT_DESELECTED = `deselected${EVENT_KEY$c}`;
1509
1509
  const SELECTOR_CHIP_REMOVE$1 = '.chip-remove';
1510
1510
  const SELECTOR_DATA_CHIP = '[data-bs-chip]';
1511
1511
  const SELECTOR_FOCUSABLE_ITEMS$1 = '.chip:not(.disabled)';
1512
1512
  const CLASS_NAME_CHIP_CLICKABLE = 'chip-clickable';
1513
1513
  const CLASS_NAME_CHIP_REMOVE = 'chip-remove';
1514
- const CLASS_NAME_ACTIVE$3 = 'active';
1514
+ const CLASS_NAME_ACTIVE$4 = 'active';
1515
1515
  const CLASS_NAME_DISABLED$1 = 'disabled';
1516
1516
  const DEFAULT_REMOVE_ICON$1 = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="4" y1="4" x2="12" y2="12"/><line x1="12" y1="4" x2="4" y2="12"/></svg>';
1517
- const Default$e = {
1517
+ const Default$f = {
1518
1518
  ariaRemoveLabel: 'Remove',
1519
1519
  disabled: false,
1520
1520
  removable: false,
@@ -1522,7 +1522,7 @@ const Default$e = {
1522
1522
  selectable: false,
1523
1523
  selected: false
1524
1524
  };
1525
- const DefaultType$e = {
1525
+ const DefaultType$f = {
1526
1526
  ariaRemoveLabel: 'string',
1527
1527
  disabled: 'boolean',
1528
1528
  removable: 'boolean',
@@ -1539,7 +1539,7 @@ class Chip extends BaseComponent {
1539
1539
  constructor(element, config) {
1540
1540
  super(element, config);
1541
1541
  this._disabled = this._config.disabled || this._element.classList.contains(CLASS_NAME_DISABLED$1);
1542
- this._selected = this._config.selected || this._element.classList.contains(CLASS_NAME_ACTIVE$3);
1542
+ this._selected = this._config.selected || this._element.classList.contains(CLASS_NAME_ACTIVE$4);
1543
1543
  this._ensureRemoveButton();
1544
1544
  this._applyState();
1545
1545
  if (this._config.selectable || this._config.removable) {
@@ -1550,13 +1550,13 @@ class Chip extends BaseComponent {
1550
1550
 
1551
1551
  // Getters
1552
1552
  static get Default() {
1553
- return Default$e;
1553
+ return Default$f;
1554
1554
  }
1555
1555
  static get DefaultType() {
1556
- return DefaultType$e;
1556
+ return DefaultType$f;
1557
1557
  }
1558
1558
  static get NAME() {
1559
- return NAME$f;
1559
+ return NAME$g;
1560
1560
  }
1561
1561
 
1562
1562
  // Public
@@ -1639,10 +1639,10 @@ class Chip extends BaseComponent {
1639
1639
  }
1640
1640
  }
1641
1641
  if (this._config.selectable) {
1642
- this._element.classList.toggle(CLASS_NAME_ACTIVE$3, this._selected);
1642
+ this._element.classList.toggle(CLASS_NAME_ACTIVE$4, this._selected);
1643
1643
  this._element.setAttribute('aria-selected', this._selected ? 'true' : 'false');
1644
1644
  } else {
1645
- this._element.classList.remove(CLASS_NAME_ACTIVE$3);
1645
+ this._element.classList.remove(CLASS_NAME_ACTIVE$4);
1646
1646
  if (this._element.getAttribute('aria-selected') === 'true') {
1647
1647
  this._element.setAttribute('aria-selected', 'false');
1648
1648
  }
@@ -1779,7 +1779,7 @@ class Chip extends BaseComponent {
1779
1779
  * Data API implementation
1780
1780
  */
1781
1781
 
1782
- EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$b}${DATA_API_KEY$8}`, () => {
1782
+ EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$c}${DATA_API_KEY$9}`, () => {
1783
1783
  for (const element of SelectorEngine.find(SELECTOR_DATA_CHIP)) {
1784
1784
  Chip.chipInterface(element);
1785
1785
  }
@@ -1806,15 +1806,15 @@ defineJQueryPlugin(Chip);
1806
1806
  * Constants
1807
1807
  */
1808
1808
 
1809
- const NAME$e = 'chip-input';
1810
- const DATA_KEY$a = 'bs.chip-input';
1811
- const EVENT_KEY$a = `.${DATA_KEY$a}`;
1812
- const DATA_API_KEY$7 = '.data-api';
1813
- const EVENT_ADD = `add${EVENT_KEY$a}`;
1814
- const EVENT_REMOVE = `remove${EVENT_KEY$a}`;
1815
- const EVENT_CHANGE = `change${EVENT_KEY$a}`;
1816
- const EVENT_SELECT = `select${EVENT_KEY$a}`;
1817
- const EVENT_INPUT = `input${EVENT_KEY$a}`;
1809
+ const NAME$f = 'chip-input';
1810
+ const DATA_KEY$b = 'bs.chip-input';
1811
+ const EVENT_KEY$b = `.${DATA_KEY$b}`;
1812
+ const DATA_API_KEY$8 = '.data-api';
1813
+ const EVENT_ADD = `add${EVENT_KEY$b}`;
1814
+ const EVENT_REMOVE = `remove${EVENT_KEY$b}`;
1815
+ const EVENT_CHANGE = `change${EVENT_KEY$b}`;
1816
+ const EVENT_SELECT = `select${EVENT_KEY$b}`;
1817
+ const EVENT_INPUT = `input${EVENT_KEY$b}`;
1818
1818
  const SELECTOR_DATA_CHIP_INPUT = '[data-bs-chip-input]';
1819
1819
  const SELECTOR_CHIP = '.chip';
1820
1820
  const SELECTOR_CHIP_ACTIVE = `${SELECTOR_CHIP}.active`;
@@ -1825,7 +1825,7 @@ const CLASS_NAME_CHIP = 'chip';
1825
1825
  const CLASS_NAME_DISABLED = 'disabled';
1826
1826
  const CLASS_NAME_CHIP_INPUT_FIELD = 'chip-input-field';
1827
1827
  const DEFAULT_REMOVE_ICON = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="4" y1="4" x2="12" y2="12"/><line x1="12" y1="4" x2="4" y2="12"/></svg>';
1828
- const Default$d = {
1828
+ const Default$e = {
1829
1829
  chipClassName: null,
1830
1830
  createOnBlur: true,
1831
1831
  disabled: false,
@@ -1839,7 +1839,7 @@ const Default$d = {
1839
1839
  selectable: false,
1840
1840
  separator: ','
1841
1841
  };
1842
- const DefaultType$d = {
1842
+ const DefaultType$e = {
1843
1843
  chipClassName: '(string|function|null)',
1844
1844
  createOnBlur: 'boolean',
1845
1845
  disabled: 'boolean',
@@ -1881,13 +1881,13 @@ class ChipInput extends BaseComponent {
1881
1881
 
1882
1882
  // Getters
1883
1883
  static get Default() {
1884
- return Default$d;
1884
+ return Default$e;
1885
1885
  }
1886
1886
  static get DefaultType() {
1887
- return DefaultType$d;
1887
+ return DefaultType$e;
1888
1888
  }
1889
1889
  static get NAME() {
1890
- return NAME$e;
1890
+ return NAME$f;
1891
1891
  }
1892
1892
 
1893
1893
  // Public
@@ -2296,7 +2296,7 @@ class ChipInput extends BaseComponent {
2296
2296
  * Data API implementation
2297
2297
  */
2298
2298
 
2299
- EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$a}${DATA_API_KEY$7}`, () => {
2299
+ EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$b}${DATA_API_KEY$8}`, () => {
2300
2300
  for (const element of SelectorEngine.find(SELECTOR_DATA_CHIP_INPUT)) {
2301
2301
  ChipInput.getOrCreateInstance(element);
2302
2302
  }
@@ -2317,15 +2317,15 @@ EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$a}${DATA_API_KEY$7}`, ()
2317
2317
  * Constants
2318
2318
  */
2319
2319
 
2320
- const NAME$d = 'collapse';
2321
- const DATA_KEY$9 = 'bs.collapse';
2322
- const EVENT_KEY$9 = `.${DATA_KEY$9}`;
2323
- const DATA_API_KEY$6 = '.data-api';
2324
- const EVENT_SHOW$7 = `show${EVENT_KEY$9}`;
2325
- const EVENT_SHOWN$7 = `shown${EVENT_KEY$9}`;
2326
- const EVENT_HIDE$7 = `hide${EVENT_KEY$9}`;
2327
- const EVENT_HIDDEN$7 = `hidden${EVENT_KEY$9}`;
2328
- const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$9}${DATA_API_KEY$6}`;
2320
+ const NAME$e = 'collapse';
2321
+ const DATA_KEY$a = 'bs.collapse';
2322
+ const EVENT_KEY$a = `.${DATA_KEY$a}`;
2323
+ const DATA_API_KEY$7 = '.data-api';
2324
+ const EVENT_SHOW$7 = `show${EVENT_KEY$a}`;
2325
+ const EVENT_SHOWN$7 = `shown${EVENT_KEY$a}`;
2326
+ const EVENT_HIDE$7 = `hide${EVENT_KEY$a}`;
2327
+ const EVENT_HIDDEN$7 = `hidden${EVENT_KEY$a}`;
2328
+ const EVENT_CLICK_DATA_API$7 = `click${EVENT_KEY$a}${DATA_API_KEY$7}`;
2329
2329
  const CLASS_NAME_SHOW$9 = 'show';
2330
2330
  const CLASS_NAME_COLLAPSE = 'collapse';
2331
2331
  const CLASS_NAME_COLLAPSING = 'collapsing';
@@ -2335,12 +2335,12 @@ const CLASS_NAME_HORIZONTAL = 'collapse-horizontal';
2335
2335
  const WIDTH = 'width';
2336
2336
  const HEIGHT = 'height';
2337
2337
  const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
2338
- const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="collapse"]';
2339
- const Default$c = {
2338
+ const SELECTOR_DATA_TOGGLE$6 = '[data-bs-toggle="collapse"]';
2339
+ const Default$d = {
2340
2340
  parent: null,
2341
2341
  toggle: true
2342
2342
  };
2343
- const DefaultType$c = {
2343
+ const DefaultType$d = {
2344
2344
  parent: '(null|element)',
2345
2345
  toggle: 'boolean'
2346
2346
  };
@@ -2354,7 +2354,7 @@ class Collapse extends BaseComponent {
2354
2354
  super(element, config);
2355
2355
  this._isTransitioning = false;
2356
2356
  this._triggerArray = [];
2357
- const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$5);
2357
+ const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$6);
2358
2358
  for (const elem of toggleList) {
2359
2359
  const selector = SelectorEngine.getSelectorFromElement(elem);
2360
2360
  const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);
@@ -2373,13 +2373,13 @@ class Collapse extends BaseComponent {
2373
2373
 
2374
2374
  // Getters
2375
2375
  static get Default() {
2376
- return Default$c;
2376
+ return Default$d;
2377
2377
  }
2378
2378
  static get DefaultType() {
2379
- return DefaultType$c;
2379
+ return DefaultType$d;
2380
2380
  }
2381
2381
  static get NAME() {
2382
- return NAME$d;
2382
+ return NAME$e;
2383
2383
  }
2384
2384
 
2385
2385
  // Public
@@ -2476,7 +2476,7 @@ class Collapse extends BaseComponent {
2476
2476
  if (!this._config.parent) {
2477
2477
  return;
2478
2478
  }
2479
- const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$5);
2479
+ const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$6);
2480
2480
  for (const element of children) {
2481
2481
  const selected = SelectorEngine.getElementFromSelector(element);
2482
2482
  if (selected) {
@@ -2521,7 +2521,7 @@ class Collapse extends BaseComponent {
2521
2521
  * Data API implementation
2522
2522
  */
2523
2523
 
2524
- EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, function (event) {
2524
+ EventHandler.on(document, EVENT_CLICK_DATA_API$7, SELECTOR_DATA_TOGGLE$6, function (event) {
2525
2525
  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
2526
2526
  if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {
2527
2527
  event.preventDefault();
@@ -2554,31 +2554,31 @@ defineJQueryPlugin(Collapse);
2554
2554
  * Constants
2555
2555
  */
2556
2556
 
2557
- const NAME$c = 'dropdown';
2558
- const DATA_KEY$8 = 'bs.dropdown';
2559
- const EVENT_KEY$8 = `.${DATA_KEY$8}`;
2560
- const DATA_API_KEY$5 = '.data-api';
2557
+ const NAME$d = 'dropdown';
2558
+ const DATA_KEY$9 = 'bs.dropdown';
2559
+ const EVENT_KEY$9 = `.${DATA_KEY$9}`;
2560
+ const DATA_API_KEY$6 = '.data-api';
2561
2561
  const ESCAPE_KEY$2 = 'Escape';
2562
2562
  const TAB_KEY$1 = 'Tab';
2563
2563
  const ARROW_UP_KEY$1 = 'ArrowUp';
2564
2564
  const ARROW_DOWN_KEY$1 = 'ArrowDown';
2565
2565
  const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
2566
2566
 
2567
- const EVENT_HIDE$6 = `hide${EVENT_KEY$8}`;
2568
- const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$8}`;
2569
- const EVENT_SHOW$6 = `show${EVENT_KEY$8}`;
2570
- const EVENT_SHOWN$6 = `shown${EVENT_KEY$8}`;
2571
- const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
2572
- const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$8}${DATA_API_KEY$5}`;
2573
- const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$8}${DATA_API_KEY$5}`;
2567
+ const EVENT_HIDE$6 = `hide${EVENT_KEY$9}`;
2568
+ const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$9}`;
2569
+ const EVENT_SHOW$6 = `show${EVENT_KEY$9}`;
2570
+ const EVENT_SHOWN$6 = `shown${EVENT_KEY$9}`;
2571
+ const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$9}${DATA_API_KEY$6}`;
2572
+ const EVENT_KEYDOWN_DATA_API$1 = `keydown${EVENT_KEY$9}${DATA_API_KEY$6}`;
2573
+ const EVENT_KEYUP_DATA_API$1 = `keyup${EVENT_KEY$9}${DATA_API_KEY$6}`;
2574
2574
  const CLASS_NAME_SHOW$8 = 'show';
2575
2575
  const CLASS_NAME_DROPUP = 'dropup';
2576
2576
  const CLASS_NAME_DROPEND = 'dropend';
2577
2577
  const CLASS_NAME_DROPSTART = 'dropstart';
2578
2578
  const CLASS_NAME_DROPUP_CENTER = 'dropup-center';
2579
2579
  const CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';
2580
- const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)';
2581
- const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$4}.${CLASS_NAME_SHOW$8}`;
2580
+ const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)';
2581
+ const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$5}.${CLASS_NAME_SHOW$8}`;
2582
2582
  const SELECTOR_MENU = '.dropdown-menu';
2583
2583
  const SELECTOR_NAVBAR = '.navbar';
2584
2584
  const SELECTOR_NAVBAR_NAV = '.navbar-nav';
@@ -2591,7 +2591,7 @@ const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';
2591
2591
  const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
2592
2592
  const PLACEMENT_TOPCENTER = 'top';
2593
2593
  const PLACEMENT_BOTTOMCENTER = 'bottom';
2594
- const Default$b = {
2594
+ const Default$c = {
2595
2595
  autoClose: true,
2596
2596
  boundary: 'clippingParents',
2597
2597
  display: 'dynamic',
@@ -2599,7 +2599,7 @@ const Default$b = {
2599
2599
  popperConfig: null,
2600
2600
  reference: 'toggle'
2601
2601
  };
2602
- const DefaultType$b = {
2602
+ const DefaultType$c = {
2603
2603
  autoClose: '(boolean|string)',
2604
2604
  boundary: '(string|element)',
2605
2605
  display: 'string',
@@ -2624,13 +2624,13 @@ class Dropdown extends BaseComponent {
2624
2624
 
2625
2625
  // Getters
2626
2626
  static get Default() {
2627
- return Default$b;
2627
+ return Default$c;
2628
2628
  }
2629
2629
  static get DefaultType() {
2630
- return DefaultType$b;
2630
+ return DefaultType$c;
2631
2631
  }
2632
2632
  static get NAME() {
2633
- return NAME$c;
2633
+ return NAME$d;
2634
2634
  }
2635
2635
 
2636
2636
  // Public
@@ -2714,7 +2714,7 @@ class Dropdown extends BaseComponent {
2714
2714
  config = super._getConfig(config);
2715
2715
  if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
2716
2716
  // Popper virtual elements require a getBoundingClientRect method
2717
- throw new TypeError(`${NAME$c.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
2717
+ throw new TypeError(`${NAME$d.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
2718
2718
  }
2719
2719
  return config;
2720
2720
  }
@@ -2874,7 +2874,7 @@ class Dropdown extends BaseComponent {
2874
2874
  event.preventDefault();
2875
2875
 
2876
2876
  // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
2877
- const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$4) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$4)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$4)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$4, event.delegateTarget.parentNode);
2877
+ const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$5) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$5)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$5)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$5, event.delegateTarget.parentNode);
2878
2878
  const instance = Dropdown.getOrCreateInstance(getToggleButton);
2879
2879
  if (isUpOrDownEvent) {
2880
2880
  event.stopPropagation();
@@ -2895,11 +2895,11 @@ class Dropdown extends BaseComponent {
2895
2895
  * Data API implementation
2896
2896
  */
2897
2897
 
2898
- EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$4, Dropdown.dataApiKeydownHandler);
2899
- EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
2900
- EventHandler.on(document, EVENT_CLICK_DATA_API$5, Dropdown.clearMenus);
2901
- EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);
2902
- EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$4, function (event) {
2898
+ EventHandler.on(document, EVENT_KEYDOWN_DATA_API$1, SELECTOR_DATA_TOGGLE$5, Dropdown.dataApiKeydownHandler);
2899
+ EventHandler.on(document, EVENT_KEYDOWN_DATA_API$1, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
2900
+ EventHandler.on(document, EVENT_CLICK_DATA_API$6, Dropdown.clearMenus);
2901
+ EventHandler.on(document, EVENT_KEYUP_DATA_API$1, Dropdown.clearMenus);
2902
+ EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, function (event) {
2903
2903
  event.preventDefault();
2904
2904
  Dropdown.getOrCreateInstance(this).toggle();
2905
2905
  });
@@ -2925,11 +2925,11 @@ defineJQueryPlugin(Dropdown);
2925
2925
  * Constants
2926
2926
  */
2927
2927
 
2928
- const NAME$b = 'backdrop';
2928
+ const NAME$c = 'backdrop';
2929
2929
  const CLASS_NAME_FADE$4 = 'fade';
2930
2930
  const CLASS_NAME_SHOW$7 = 'show';
2931
- const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$b}`;
2932
- const Default$a = {
2931
+ const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$c}`;
2932
+ const Default$b = {
2933
2933
  className: 'modal-backdrop',
2934
2934
  clickCallback: null,
2935
2935
  isAnimated: false,
@@ -2937,7 +2937,7 @@ const Default$a = {
2937
2937
  // if false, we use the backdrop helper without adding any element to the dom
2938
2938
  rootElement: 'body' // give the choice to place backdrop under different elements
2939
2939
  };
2940
- const DefaultType$a = {
2940
+ const DefaultType$b = {
2941
2941
  className: 'string',
2942
2942
  clickCallback: '(function|null)',
2943
2943
  isAnimated: 'boolean',
@@ -2959,13 +2959,13 @@ class Backdrop extends Config {
2959
2959
 
2960
2960
  // Getters
2961
2961
  static get Default() {
2962
- return Default$a;
2962
+ return Default$b;
2963
2963
  }
2964
2964
  static get DefaultType() {
2965
- return DefaultType$a;
2965
+ return DefaultType$b;
2966
2966
  }
2967
2967
  static get NAME() {
2968
- return NAME$b;
2968
+ return NAME$c;
2969
2969
  }
2970
2970
 
2971
2971
  // Public
@@ -3052,19 +3052,19 @@ class Backdrop extends Config {
3052
3052
  * Constants
3053
3053
  */
3054
3054
 
3055
- const NAME$a = 'focustrap';
3056
- const DATA_KEY$7 = 'bs.focustrap';
3057
- const EVENT_KEY$7 = `.${DATA_KEY$7}`;
3058
- const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$7}`;
3059
- const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$7}`;
3055
+ const NAME$b = 'focustrap';
3056
+ const DATA_KEY$8 = 'bs.focustrap';
3057
+ const EVENT_KEY$8 = `.${DATA_KEY$8}`;
3058
+ const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$8}`;
3059
+ const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$8}`;
3060
3060
  const TAB_KEY = 'Tab';
3061
3061
  const TAB_NAV_FORWARD = 'forward';
3062
3062
  const TAB_NAV_BACKWARD = 'backward';
3063
- const Default$9 = {
3063
+ const Default$a = {
3064
3064
  autofocus: true,
3065
3065
  trapElement: null // The element to trap focus inside of
3066
3066
  };
3067
- const DefaultType$9 = {
3067
+ const DefaultType$a = {
3068
3068
  autofocus: 'boolean',
3069
3069
  trapElement: 'element'
3070
3070
  };
@@ -3083,13 +3083,13 @@ class FocusTrap extends Config {
3083
3083
 
3084
3084
  // Getters
3085
3085
  static get Default() {
3086
- return Default$9;
3086
+ return Default$a;
3087
3087
  }
3088
3088
  static get DefaultType() {
3089
- return DefaultType$9;
3089
+ return DefaultType$a;
3090
3090
  }
3091
3091
  static get NAME() {
3092
- return NAME$a;
3092
+ return NAME$b;
3093
3093
  }
3094
3094
 
3095
3095
  // Public
@@ -3100,7 +3100,7 @@ class FocusTrap extends Config {
3100
3100
  if (this._config.autofocus) {
3101
3101
  this._config.trapElement.focus();
3102
3102
  }
3103
- EventHandler.off(document, EVENT_KEY$7); // guard against infinite focus loop
3103
+ EventHandler.off(document, EVENT_KEY$8); // guard against infinite focus loop
3104
3104
  EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));
3105
3105
  EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));
3106
3106
  this._isActive = true;
@@ -3110,7 +3110,7 @@ class FocusTrap extends Config {
3110
3110
  return;
3111
3111
  }
3112
3112
  this._isActive = false;
3113
- EventHandler.off(document, EVENT_KEY$7);
3113
+ EventHandler.off(document, EVENT_KEY$8);
3114
3114
  }
3115
3115
 
3116
3116
  // Private
@@ -3254,21 +3254,21 @@ class ScrollBarHelper {
3254
3254
  * Constants
3255
3255
  */
3256
3256
 
3257
- const NAME$9 = 'modal';
3258
- const DATA_KEY$6 = 'bs.modal';
3259
- const EVENT_KEY$6 = `.${DATA_KEY$6}`;
3260
- const DATA_API_KEY$4 = '.data-api';
3257
+ const NAME$a = 'modal';
3258
+ const DATA_KEY$7 = 'bs.modal';
3259
+ const EVENT_KEY$7 = `.${DATA_KEY$7}`;
3260
+ const DATA_API_KEY$5 = '.data-api';
3261
3261
  const ESCAPE_KEY$1 = 'Escape';
3262
- const EVENT_HIDE$5 = `hide${EVENT_KEY$6}`;
3263
- const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$6}`;
3264
- const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`;
3265
- const EVENT_SHOW$5 = `show${EVENT_KEY$6}`;
3266
- const EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`;
3267
- const EVENT_RESIZE$2 = `resize${EVENT_KEY$6}`;
3268
- const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$6}`;
3269
- const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$6}`;
3270
- const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$6}`;
3271
- const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$6}${DATA_API_KEY$4}`;
3262
+ const EVENT_HIDE$5 = `hide${EVENT_KEY$7}`;
3263
+ const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$7}`;
3264
+ const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$7}`;
3265
+ const EVENT_SHOW$5 = `show${EVENT_KEY$7}`;
3266
+ const EVENT_SHOWN$5 = `shown${EVENT_KEY$7}`;
3267
+ const EVENT_RESIZE$2 = `resize${EVENT_KEY$7}`;
3268
+ const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$7}`;
3269
+ const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$7}`;
3270
+ const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$7}`;
3271
+ const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$7}${DATA_API_KEY$5}`;
3272
3272
  const CLASS_NAME_OPEN = 'modal-open';
3273
3273
  const CLASS_NAME_FADE$3 = 'fade';
3274
3274
  const CLASS_NAME_SHOW$6 = 'show';
@@ -3276,13 +3276,13 @@ const CLASS_NAME_STATIC = 'modal-static';
3276
3276
  const OPEN_SELECTOR$1 = '.modal.show';
3277
3277
  const SELECTOR_DIALOG = '.modal-dialog';
3278
3278
  const SELECTOR_MODAL_BODY = '.modal-body';
3279
- const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="modal"]';
3280
- const Default$8 = {
3279
+ const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="modal"]';
3280
+ const Default$9 = {
3281
3281
  backdrop: true,
3282
3282
  focus: true,
3283
3283
  keyboard: true
3284
3284
  };
3285
- const DefaultType$8 = {
3285
+ const DefaultType$9 = {
3286
3286
  backdrop: '(boolean|string)',
3287
3287
  focus: 'boolean',
3288
3288
  keyboard: 'boolean'
@@ -3306,13 +3306,13 @@ class Modal extends BaseComponent {
3306
3306
 
3307
3307
  // Getters
3308
3308
  static get Default() {
3309
- return Default$8;
3309
+ return Default$9;
3310
3310
  }
3311
3311
  static get DefaultType() {
3312
- return DefaultType$8;
3312
+ return DefaultType$9;
3313
3313
  }
3314
3314
  static get NAME() {
3315
- return NAME$9;
3315
+ return NAME$a;
3316
3316
  }
3317
3317
 
3318
3318
  // Public
@@ -3351,8 +3351,8 @@ class Modal extends BaseComponent {
3351
3351
  this._queueCallback(() => this._hideModal(), this._element, this._isAnimated());
3352
3352
  }
3353
3353
  dispose() {
3354
- EventHandler.off(window, EVENT_KEY$6);
3355
- EventHandler.off(this._dialog, EVENT_KEY$6);
3354
+ EventHandler.off(window, EVENT_KEY$7);
3355
+ EventHandler.off(this._dialog, EVENT_KEY$7);
3356
3356
  this._backdrop.dispose();
3357
3357
  this._focustrap.deactivate();
3358
3358
  super.dispose();
@@ -3514,7 +3514,7 @@ class Modal extends BaseComponent {
3514
3514
  * Data API implementation
3515
3515
  */
3516
3516
 
3517
- EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$3, function (event) {
3517
+ EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$4, function (event) {
3518
3518
  const target = SelectorEngine.getElementFromSelector(this);
3519
3519
  if (['A', 'AREA'].includes(this.tagName)) {
3520
3520
  event.preventDefault();
@@ -3561,29 +3561,29 @@ defineJQueryPlugin(Modal);
3561
3561
  * ------------------------------------------------------------------------
3562
3562
  */
3563
3563
 
3564
- const NAME$8 = 'navigation';
3565
- const DATA_KEY$5 = 'bs.navigation';
3566
- const EVENT_KEY$5 = `.${DATA_KEY$5}`;
3567
- const DATA_API_KEY$3 = '.data-api';
3568
- const Default$7 = {
3564
+ const NAME$9 = 'navigation';
3565
+ const DATA_KEY$6 = 'bs.navigation';
3566
+ const EVENT_KEY$6 = `.${DATA_KEY$6}`;
3567
+ const DATA_API_KEY$4 = '.data-api';
3568
+ const Default$8 = {
3569
3569
  activeLinksExact: true,
3570
3570
  groupsAutoCollapse: true
3571
3571
  };
3572
- const DefaultType$7 = {
3572
+ const DefaultType$8 = {
3573
3573
  activeLinksExact: 'boolean',
3574
3574
  groupsAutoCollapse: '(string|boolean)'
3575
3575
  };
3576
- const CLASS_NAME_ACTIVE$2 = 'active';
3576
+ const CLASS_NAME_ACTIVE$3 = 'active';
3577
3577
  const CLASS_NAME_SHOW$5 = 'show';
3578
3578
  const CLASS_NAME_NAV_GROUP = 'nav-group';
3579
3579
  const CLASS_NAME_NAV_GROUP_TOGGLE = 'nav-group-toggle';
3580
- const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$5}${DATA_API_KEY$3}`;
3581
- const EVENT_LOAD_DATA_API$4 = `load${EVENT_KEY$5}${DATA_API_KEY$3}`;
3580
+ const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$6}${DATA_API_KEY$4}`;
3581
+ const EVENT_LOAD_DATA_API$4 = `load${EVENT_KEY$6}${DATA_API_KEY$4}`;
3582
3582
  const SELECTOR_NAV_GROUP = '.nav-group';
3583
3583
  const SELECTOR_NAV_GROUP_ITEMS = '.nav-group-items';
3584
3584
  const SELECTOR_NAV_GROUP_TOGGLE = '.nav-group-toggle';
3585
3585
  const SELECTOR_NAV_LINK = '.nav-link';
3586
- const SELECTOR_DATA_NAVIGATION = '[data-bs="navigation"]';
3586
+ const SELECTOR_DATA_NAVIGATION = '[data-bs-navigation], [data-bs="navigation"]';
3587
3587
 
3588
3588
  /**
3589
3589
  * ------------------------------------------------------------------------
@@ -3597,21 +3597,21 @@ class Navigation extends BaseComponent {
3597
3597
  this._config = this._getConfig(config);
3598
3598
  this._setActiveLink();
3599
3599
  this._addEventListeners();
3600
- Data.set(element, DATA_KEY$5, this);
3600
+ Data.set(element, DATA_KEY$6, this);
3601
3601
  }
3602
3602
  // Getters
3603
3603
 
3604
3604
  static get Default() {
3605
- return Default$7;
3605
+ return Default$8;
3606
3606
  }
3607
3607
  static get DATA_KEY() {
3608
- return DATA_KEY$5;
3608
+ return DATA_KEY$6;
3609
3609
  }
3610
3610
  static get DefaultType() {
3611
- return DefaultType$7;
3611
+ return DefaultType$8;
3612
3612
  }
3613
3613
  static get NAME() {
3614
- return NAME$8;
3614
+ return NAME$9;
3615
3615
  }
3616
3616
 
3617
3617
  // Private
@@ -3632,7 +3632,7 @@ class Navigation extends BaseComponent {
3632
3632
  currentUrl = currentUrl.split('#')[0];
3633
3633
  }
3634
3634
  if (this._config.activeLinksExact && element.href === currentUrl) {
3635
- element.classList.add(CLASS_NAME_ACTIVE$2);
3635
+ element.classList.add(CLASS_NAME_ACTIVE$3);
3636
3636
  // eslint-disable-next-line unicorn/no-array-for-each
3637
3637
  Array.from(this._getParents(element, SELECTOR_NAV_GROUP)).forEach(element => {
3638
3638
  element.classList.add(CLASS_NAME_SHOW$5);
@@ -3640,7 +3640,7 @@ class Navigation extends BaseComponent {
3640
3640
  });
3641
3641
  }
3642
3642
  if (!this._config.activeLinksExact && currentUrl.startsWith(element.href)) {
3643
- element.classList.add(CLASS_NAME_ACTIVE$2);
3643
+ element.classList.add(CLASS_NAME_ACTIVE$3);
3644
3644
  // eslint-disable-next-line unicorn/no-array-for-each
3645
3645
  Array.from(this._getParents(element, SELECTOR_NAV_GROUP)).forEach(element => {
3646
3646
  element.classList.add(CLASS_NAME_SHOW$5);
@@ -3748,7 +3748,7 @@ class Navigation extends BaseComponent {
3748
3748
  this._slideDown(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, toggler.parentNode));
3749
3749
  }
3750
3750
  _addEventListeners() {
3751
- EventHandler.on(this._element, EVENT_CLICK_DATA_API$3, SELECTOR_NAV_GROUP_TOGGLE, event => {
3751
+ EventHandler.on(this._element, EVENT_CLICK_DATA_API$4, SELECTOR_NAV_GROUP_TOGGLE, event => {
3752
3752
  event.preventDefault();
3753
3753
  this._toggleGroupItems(event, this);
3754
3754
  });
@@ -3807,32 +3807,32 @@ defineJQueryPlugin(Navigation);
3807
3807
  * Constants
3808
3808
  */
3809
3809
 
3810
- const NAME$7 = 'offcanvas';
3811
- const DATA_KEY$4 = 'bs.offcanvas';
3812
- const EVENT_KEY$4 = `.${DATA_KEY$4}`;
3813
- const DATA_API_KEY$2 = '.data-api';
3814
- const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$4}${DATA_API_KEY$2}`;
3810
+ const NAME$8 = 'offcanvas';
3811
+ const DATA_KEY$5 = 'bs.offcanvas';
3812
+ const EVENT_KEY$5 = `.${DATA_KEY$5}`;
3813
+ const DATA_API_KEY$3 = '.data-api';
3814
+ const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$5}${DATA_API_KEY$3}`;
3815
3815
  const ESCAPE_KEY = 'Escape';
3816
3816
  const CLASS_NAME_SHOW$4 = 'show';
3817
3817
  const CLASS_NAME_SHOWING$1 = 'showing';
3818
3818
  const CLASS_NAME_HIDING = 'hiding';
3819
3819
  const CLASS_NAME_BACKDROP$1 = 'offcanvas-backdrop';
3820
3820
  const OPEN_SELECTOR = '.offcanvas.show';
3821
- const EVENT_SHOW$4 = `show${EVENT_KEY$4}`;
3822
- const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;
3823
- const EVENT_HIDE$4 = `hide${EVENT_KEY$4}`;
3824
- const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$4}`;
3825
- const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`;
3826
- const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;
3827
- const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;
3828
- const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$4}`;
3829
- const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="offcanvas"]';
3830
- const Default$6 = {
3821
+ const EVENT_SHOW$4 = `show${EVENT_KEY$5}`;
3822
+ const EVENT_SHOWN$4 = `shown${EVENT_KEY$5}`;
3823
+ const EVENT_HIDE$4 = `hide${EVENT_KEY$5}`;
3824
+ const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$5}`;
3825
+ const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$5}`;
3826
+ const EVENT_RESIZE$1 = `resize${EVENT_KEY$5}`;
3827
+ const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$5}${DATA_API_KEY$3}`;
3828
+ const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$5}`;
3829
+ const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="offcanvas"]';
3830
+ const Default$7 = {
3831
3831
  backdrop: true,
3832
3832
  keyboard: true,
3833
3833
  scroll: false
3834
3834
  };
3835
- const DefaultType$6 = {
3835
+ const DefaultType$7 = {
3836
3836
  backdrop: '(boolean|string)',
3837
3837
  keyboard: 'boolean',
3838
3838
  scroll: 'boolean'
@@ -3853,13 +3853,13 @@ class Offcanvas extends BaseComponent {
3853
3853
 
3854
3854
  // Getters
3855
3855
  static get Default() {
3856
- return Default$6;
3856
+ return Default$7;
3857
3857
  }
3858
3858
  static get DefaultType() {
3859
- return DefaultType$6;
3859
+ return DefaultType$7;
3860
3860
  }
3861
3861
  static get NAME() {
3862
- return NAME$7;
3862
+ return NAME$8;
3863
3863
  }
3864
3864
 
3865
3865
  // Public
@@ -3983,7 +3983,7 @@ class Offcanvas extends BaseComponent {
3983
3983
  * Data API implementation
3984
3984
  */
3985
3985
 
3986
- EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) {
3986
+ EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {
3987
3987
  const target = SelectorEngine.getElementFromSelector(this);
3988
3988
  if (['A', 'AREA'].includes(this.tagName)) {
3989
3989
  event.preventDefault();
@@ -4139,8 +4139,8 @@ function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {
4139
4139
  * Constants
4140
4140
  */
4141
4141
 
4142
- const NAME$6 = 'TemplateFactory';
4143
- const Default$5 = {
4142
+ const NAME$7 = 'TemplateFactory';
4143
+ const Default$6 = {
4144
4144
  allowList: DefaultAllowlist,
4145
4145
  content: {},
4146
4146
  // { selector : text , selector2 : text2 , }
@@ -4150,7 +4150,7 @@ const Default$5 = {
4150
4150
  sanitizeFn: null,
4151
4151
  template: '<div></div>'
4152
4152
  };
4153
- const DefaultType$5 = {
4153
+ const DefaultType$6 = {
4154
4154
  allowList: 'object',
4155
4155
  content: 'object',
4156
4156
  extraClass: '(string|function)',
@@ -4176,13 +4176,13 @@ class TemplateFactory extends Config {
4176
4176
 
4177
4177
  // Getters
4178
4178
  static get Default() {
4179
- return Default$5;
4179
+ return Default$6;
4180
4180
  }
4181
4181
  static get DefaultType() {
4182
- return DefaultType$5;
4182
+ return DefaultType$6;
4183
4183
  }
4184
4184
  static get NAME() {
4185
- return NAME$6;
4185
+ return NAME$7;
4186
4186
  }
4187
4187
 
4188
4188
  // Public
@@ -4278,7 +4278,7 @@ class TemplateFactory extends Config {
4278
4278
  * Constants
4279
4279
  */
4280
4280
 
4281
- const NAME$5 = 'tooltip';
4281
+ const NAME$6 = 'tooltip';
4282
4282
  const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);
4283
4283
  const CLASS_NAME_FADE$2 = 'fade';
4284
4284
  const CLASS_NAME_MODAL = 'modal';
@@ -4307,7 +4307,7 @@ const AttachmentMap = {
4307
4307
  BOTTOM: 'bottom',
4308
4308
  LEFT: isRTL() ? 'right' : 'left'
4309
4309
  };
4310
- const Default$4 = {
4310
+ const Default$5 = {
4311
4311
  allowList: DefaultAllowlist,
4312
4312
  animation: true,
4313
4313
  boundary: 'clippingParents',
@@ -4326,7 +4326,7 @@ const Default$4 = {
4326
4326
  title: '',
4327
4327
  trigger: 'hover focus'
4328
4328
  };
4329
- const DefaultType$4 = {
4329
+ const DefaultType$5 = {
4330
4330
  allowList: 'object',
4331
4331
  animation: 'boolean',
4332
4332
  boundary: '(string|element)',
@@ -4376,13 +4376,13 @@ class Tooltip extends BaseComponent {
4376
4376
 
4377
4377
  // Getters
4378
4378
  static get Default() {
4379
- return Default$4;
4379
+ return Default$5;
4380
4380
  }
4381
4381
  static get DefaultType() {
4382
- return DefaultType$4;
4382
+ return DefaultType$5;
4383
4383
  }
4384
4384
  static get NAME() {
4385
- return NAME$5;
4385
+ return NAME$6;
4386
4386
  }
4387
4387
 
4388
4388
  // Public
@@ -4793,10 +4793,10 @@ defineJQueryPlugin(Tooltip);
4793
4793
  * Constants
4794
4794
  */
4795
4795
 
4796
- const NAME$4 = 'popover';
4796
+ const NAME$5 = 'popover';
4797
4797
  const SELECTOR_TITLE = '.popover-header';
4798
4798
  const SELECTOR_CONTENT = '.popover-body';
4799
- const Default$3 = {
4799
+ const Default$4 = {
4800
4800
  ...Tooltip.Default,
4801
4801
  content: '',
4802
4802
  offset: [0, 8],
@@ -4804,7 +4804,7 @@ const Default$3 = {
4804
4804
  template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>',
4805
4805
  trigger: 'click'
4806
4806
  };
4807
- const DefaultType$3 = {
4807
+ const DefaultType$4 = {
4808
4808
  ...Tooltip.DefaultType,
4809
4809
  content: '(null|string|element|function)'
4810
4810
  };
@@ -4816,13 +4816,13 @@ const DefaultType$3 = {
4816
4816
  class Popover extends Tooltip {
4817
4817
  // Getters
4818
4818
  static get Default() {
4819
- return Default$3;
4819
+ return Default$4;
4820
4820
  }
4821
4821
  static get DefaultType() {
4822
- return DefaultType$3;
4822
+ return DefaultType$4;
4823
4823
  }
4824
4824
  static get NAME() {
4825
- return NAME$4;
4825
+ return NAME$5;
4826
4826
  }
4827
4827
 
4828
4828
  // Overrides
@@ -4877,15 +4877,15 @@ defineJQueryPlugin(Popover);
4877
4877
  * Constants
4878
4878
  */
4879
4879
 
4880
- const NAME$3 = 'scrollspy';
4881
- const DATA_KEY$3 = 'bs.scrollspy';
4882
- const EVENT_KEY$3 = `.${DATA_KEY$3}`;
4883
- const DATA_API_KEY$1 = '.data-api';
4884
- const EVENT_ACTIVATE = `activate${EVENT_KEY$3}`;
4885
- const EVENT_CLICK = `click${EVENT_KEY$3}`;
4886
- const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;
4880
+ const NAME$4 = 'scrollspy';
4881
+ const DATA_KEY$4 = 'bs.scrollspy';
4882
+ const EVENT_KEY$4 = `.${DATA_KEY$4}`;
4883
+ const DATA_API_KEY$2 = '.data-api';
4884
+ const EVENT_ACTIVATE = `activate${EVENT_KEY$4}`;
4885
+ const EVENT_CLICK = `click${EVENT_KEY$4}`;
4886
+ const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$4}${DATA_API_KEY$2}`;
4887
4887
  const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
4888
- const CLASS_NAME_ACTIVE$1 = 'active';
4888
+ const CLASS_NAME_ACTIVE$2 = 'active';
4889
4889
  const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]';
4890
4890
  const SELECTOR_TARGET_LINKS = '[href]';
4891
4891
  const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
@@ -4895,7 +4895,7 @@ const SELECTOR_LIST_ITEMS = '.list-group-item';
4895
4895
  const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`;
4896
4896
  const SELECTOR_DROPDOWN = '.dropdown';
4897
4897
  const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
4898
- const Default$2 = {
4898
+ const Default$3 = {
4899
4899
  offset: null,
4900
4900
  // TODO: v6 @deprecated, keep it for backwards compatibility reasons
4901
4901
  rootMargin: '0px 0px -25%',
@@ -4903,7 +4903,7 @@ const Default$2 = {
4903
4903
  target: null,
4904
4904
  threshold: [0.1, 0.5, 1]
4905
4905
  };
4906
- const DefaultType$2 = {
4906
+ const DefaultType$3 = {
4907
4907
  offset: '(number|null)',
4908
4908
  // TODO v6 @deprecated, keep it for backwards compatibility reasons
4909
4909
  rootMargin: 'string',
@@ -4935,13 +4935,13 @@ class ScrollSpy extends BaseComponent {
4935
4935
 
4936
4936
  // Getters
4937
4937
  static get Default() {
4938
- return Default$2;
4938
+ return Default$3;
4939
4939
  }
4940
4940
  static get DefaultType() {
4941
- return DefaultType$2;
4941
+ return DefaultType$3;
4942
4942
  }
4943
4943
  static get NAME() {
4944
- return NAME$3;
4944
+ return NAME$4;
4945
4945
  }
4946
4946
 
4947
4947
  // Public
@@ -5066,7 +5066,7 @@ class ScrollSpy extends BaseComponent {
5066
5066
  }
5067
5067
  this._clearActiveClass(this._config.target);
5068
5068
  this._activeTarget = target;
5069
- target.classList.add(CLASS_NAME_ACTIVE$1);
5069
+ target.classList.add(CLASS_NAME_ACTIVE$2);
5070
5070
  this._activateParents(target);
5071
5071
  EventHandler.trigger(this._element, EVENT_ACTIVATE, {
5072
5072
  relatedTarget: target
@@ -5075,22 +5075,22 @@ class ScrollSpy extends BaseComponent {
5075
5075
  _activateParents(target) {
5076
5076
  // Activate dropdown parents
5077
5077
  if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
5078
- SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);
5078
+ SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$2);
5079
5079
  return;
5080
5080
  }
5081
5081
  for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {
5082
5082
  // Set triggered links parents as active
5083
5083
  // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
5084
5084
  for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {
5085
- item.classList.add(CLASS_NAME_ACTIVE$1);
5085
+ item.classList.add(CLASS_NAME_ACTIVE$2);
5086
5086
  }
5087
5087
  }
5088
5088
  }
5089
5089
  _clearActiveClass(parent) {
5090
- parent.classList.remove(CLASS_NAME_ACTIVE$1);
5091
- const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$1}`, parent);
5090
+ parent.classList.remove(CLASS_NAME_ACTIVE$2);
5091
+ const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$2}`, parent);
5092
5092
  for (const node of activeNodes) {
5093
- node.classList.remove(CLASS_NAME_ACTIVE$1);
5093
+ node.classList.remove(CLASS_NAME_ACTIVE$2);
5094
5094
  }
5095
5095
  }
5096
5096
 
@@ -5125,6 +5125,327 @@ EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {
5125
5125
 
5126
5126
  defineJQueryPlugin(ScrollSpy);
5127
5127
 
5128
+ /**
5129
+ * --------------------------------------------------------------------------
5130
+ * CoreUI search-button.js
5131
+ * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5132
+ * --------------------------------------------------------------------------
5133
+ */
5134
+
5135
+
5136
+ /**
5137
+ * Constants
5138
+ */
5139
+
5140
+ const NAME$3 = 'search-button';
5141
+ const DATA_KEY$3 = 'bs.search-button';
5142
+ const EVENT_KEY$3 = `.${DATA_KEY$3}`;
5143
+ const DATA_API_KEY$1 = '.data-api';
5144
+ const EVENT_BLUR_DATA_API = `blur${EVENT_KEY$3}${DATA_API_KEY$1}`;
5145
+ const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`;
5146
+ const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$3}${DATA_API_KEY$1}`;
5147
+ const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$3}${DATA_API_KEY$1}`;
5148
+ const EVENT_TRIGGER = `trigger${EVENT_KEY$3}`;
5149
+ const CLASS_NAME_SHORTCUT_KEYS = 'search-button-keys';
5150
+ const CLASS_NAME_SHORTCUT_KEY = 'search-button-key';
5151
+ const CLASS_NAME_ACTIVE$1 = 'active';
5152
+ const SELECTOR_DATA_TOGGLE$2 = '[data-bs-search-button]';
5153
+ const SELECTOR_EDITABLE_TARGET = 'input, textarea, select, [contenteditable=""], [contenteditable="true"], [contenteditable="plaintext-only"]';
5154
+ const SELECTOR_PLACEHOLDER = '.search-button-placeholder';
5155
+ const SELECTOR_SHORTCUT_KEY = '.search-button-key';
5156
+ const SELECTOR_SHORTCUT_KEYS = '.search-button-keys';
5157
+ const Default$2 = {
5158
+ preventDefault: true,
5159
+ shortcut: 'meta+/,ctrl+/'
5160
+ };
5161
+ const DefaultType$2 = {
5162
+ preventDefault: 'boolean',
5163
+ shortcut: 'string'
5164
+ };
5165
+ const MODIFIER_KEYS = new Set(['alt', 'ctrl', 'meta', 'shift']);
5166
+ const KEY_ALIASES = {
5167
+ cmd: 'meta',
5168
+ command: 'meta',
5169
+ control: 'ctrl',
5170
+ option: 'alt',
5171
+ return: 'enter',
5172
+ esc: 'escape',
5173
+ spacebar: 'space',
5174
+ ' ': 'space'
5175
+ };
5176
+ const KEY_LABELS = {
5177
+ alt: 'Alt',
5178
+ ctrl: 'Ctrl',
5179
+ meta: '⌘',
5180
+ shift: 'Shift',
5181
+ space: 'Space'
5182
+ };
5183
+
5184
+ /**
5185
+ * Class definition
5186
+ */
5187
+
5188
+ class SearchButton extends BaseComponent {
5189
+ constructor(element, config) {
5190
+ super(element, config);
5191
+ this._shortcutTriggered = false;
5192
+ this._shortcuts = this._parseShortcut(this._config.shortcut);
5193
+ this._preferredShortcut = this._getPreferredShortcut(this._shortcuts);
5194
+ this._syncShortcutKeys();
5195
+ }
5196
+
5197
+ // Getters
5198
+ static get Default() {
5199
+ return Default$2;
5200
+ }
5201
+ static get DefaultType() {
5202
+ return DefaultType$2;
5203
+ }
5204
+ static get NAME() {
5205
+ return NAME$3;
5206
+ }
5207
+
5208
+ // Public
5209
+ trigger() {
5210
+ this._triggerEvent('api');
5211
+ }
5212
+
5213
+ // Private
5214
+ _triggerEvent(trigger) {
5215
+ if (this._isDisabled()) {
5216
+ return;
5217
+ }
5218
+ EventHandler.trigger(this._element, EVENT_TRIGGER, {
5219
+ trigger
5220
+ });
5221
+ }
5222
+ _handleShortcut(event) {
5223
+ if (this._isDisabled() || event.defaultPrevented || event.repeat || this._shouldIgnoreShortcut(event)) {
5224
+ return false;
5225
+ }
5226
+ const matchedShortcut = this._shortcuts.find(shortcut => this._matchesShortcut(shortcut, event));
5227
+ if (!matchedShortcut) {
5228
+ return false;
5229
+ }
5230
+ if (this._config.preventDefault) {
5231
+ event.preventDefault();
5232
+ }
5233
+ this._shortcutTriggered = true;
5234
+ try {
5235
+ this._element.click();
5236
+ } finally {
5237
+ this._shortcutTriggered = false;
5238
+ }
5239
+ return true;
5240
+ }
5241
+ _isDisabled() {
5242
+ return this._element.classList.contains('disabled') || this._element.getAttribute('aria-disabled') === 'true' || this._element.disabled;
5243
+ }
5244
+ _ensureShortcutKeys() {
5245
+ const existingShortcutKeys = this._element.querySelector(SELECTOR_SHORTCUT_KEYS);
5246
+ if (existingShortcutKeys) {
5247
+ return existingShortcutKeys;
5248
+ }
5249
+ const shortcutKeys = document.createElement('span');
5250
+ shortcutKeys.className = CLASS_NAME_SHORTCUT_KEYS;
5251
+ shortcutKeys.setAttribute('aria-hidden', 'true');
5252
+ const placeholder = this._element.querySelector(SELECTOR_PLACEHOLDER);
5253
+ if (placeholder) {
5254
+ placeholder.after(shortcutKeys);
5255
+ return shortcutKeys;
5256
+ }
5257
+ this._element.append(shortcutKeys);
5258
+ return shortcutKeys;
5259
+ }
5260
+ _syncShortcutKeys() {
5261
+ var _this$_preferredShort;
5262
+ const shortcutKeys = this._ensureShortcutKeys();
5263
+ const shortcutTokens = this._formatShortcutTokens(((_this$_preferredShort = this._preferredShortcut) == null ? void 0 : _this$_preferredShort.shortcut) || '').filter(Boolean);
5264
+ shortcutKeys.replaceChildren();
5265
+ for (const key of shortcutTokens) {
5266
+ const shortcutKey = document.createElement('span');
5267
+ shortcutKey.className = CLASS_NAME_SHORTCUT_KEY;
5268
+ shortcutKey.textContent = key;
5269
+ shortcutKey.dataset.bsSearchButtonKey = key;
5270
+ shortcutKeys.append(shortcutKey);
5271
+ }
5272
+ }
5273
+ _syncActiveKeys(event) {
5274
+ const pressedKeys = this._getPressedKeys(event);
5275
+ for (const shortcutKey of this._element.querySelectorAll(SELECTOR_SHORTCUT_KEY)) {
5276
+ shortcutKey.classList.toggle(CLASS_NAME_ACTIVE$1, pressedKeys.has(shortcutKey.dataset.bsSearchButtonKey));
5277
+ }
5278
+ }
5279
+ _clearActiveKeys() {
5280
+ for (const shortcutKey of this._element.querySelectorAll(SELECTOR_SHORTCUT_KEY)) {
5281
+ shortcutKey.classList.remove(CLASS_NAME_ACTIVE$1);
5282
+ }
5283
+ }
5284
+ _consumeShortcutTrigger() {
5285
+ const shortcutTriggered = this._shortcutTriggered;
5286
+ this._shortcutTriggered = false;
5287
+ return shortcutTriggered;
5288
+ }
5289
+ _shouldIgnoreShortcut(event) {
5290
+ return this._isEditableTarget(event.target) && !event.ctrlKey && !event.metaKey;
5291
+ }
5292
+ _isEditableTarget(target) {
5293
+ if (!(target instanceof Element)) {
5294
+ return false;
5295
+ }
5296
+ return target.matches(SELECTOR_EDITABLE_TARGET) || target.closest(SELECTOR_EDITABLE_TARGET);
5297
+ }
5298
+ _normalizeKey(key) {
5299
+ return KEY_ALIASES[key.toLowerCase()] || key.toLowerCase();
5300
+ }
5301
+ _parseShortcut(shortcut) {
5302
+ return shortcut.split(',').map(value => value.trim()).filter(Boolean).map(value => {
5303
+ const keys = value.split('+').map(part => this._normalizeKey(part.trim()));
5304
+ const modifiers = {
5305
+ alt: false,
5306
+ ctrl: false,
5307
+ meta: false,
5308
+ shift: false
5309
+ };
5310
+ let key = '';
5311
+ for (const part of keys) {
5312
+ if (MODIFIER_KEYS.has(part)) {
5313
+ modifiers[part] = true;
5314
+ continue;
5315
+ }
5316
+ key = part;
5317
+ }
5318
+ return {
5319
+ key,
5320
+ modifiers,
5321
+ shortcut: value
5322
+ };
5323
+ });
5324
+ }
5325
+ _matchesShortcut(shortcut, event) {
5326
+ if (!shortcut.key || this._normalizeKey(event.key) !== shortcut.key) {
5327
+ return false;
5328
+ }
5329
+ return shortcut.modifiers.alt === event.altKey && shortcut.modifiers.ctrl === event.ctrlKey && shortcut.modifiers.meta === event.metaKey && shortcut.modifiers.shift === event.shiftKey;
5330
+ }
5331
+ _formatShortcutTokens(shortcut) {
5332
+ return shortcut.split('+').map(part => this._normalizeKey(part.trim())).map(part => this._getKeyLabel(part));
5333
+ }
5334
+ _getPlatform() {
5335
+ var _window$navigator$use;
5336
+ return ((_window$navigator$use = window.navigator.userAgentData) == null ? void 0 : _window$navigator$use.platform) || window.navigator.platform || window.navigator.userAgent || '';
5337
+ }
5338
+ _isMacOS() {
5339
+ return /Mac|iPhone|iPad|iPod|macOS|Macintosh/.test(this._getPlatform());
5340
+ }
5341
+ _getPreferredShortcut(shortcuts) {
5342
+ return shortcuts.find(shortcut => {
5343
+ return this._isMacOS() ? shortcut.modifiers.meta : shortcut.modifiers.ctrl;
5344
+ }) || shortcuts[0] || null;
5345
+ }
5346
+ _getPressedKeys(event) {
5347
+ const pressedKeys = new Set();
5348
+ if (event.altKey) {
5349
+ pressedKeys.add(KEY_LABELS.alt);
5350
+ }
5351
+ if (event.ctrlKey) {
5352
+ pressedKeys.add(KEY_LABELS.ctrl);
5353
+ }
5354
+ if (event.metaKey) {
5355
+ pressedKeys.add(KEY_LABELS.meta);
5356
+ }
5357
+ if (event.shiftKey) {
5358
+ pressedKeys.add(KEY_LABELS.shift);
5359
+ }
5360
+ const normalizedKey = this._normalizeKey(event.key);
5361
+ const keyLabel = this._getKeyLabel(normalizedKey);
5362
+ if (!MODIFIER_KEYS.has(normalizedKey) && event.type === 'keydown') {
5363
+ pressedKeys.add(keyLabel);
5364
+ }
5365
+ return pressedKeys;
5366
+ }
5367
+ _getKeyLabel(key) {
5368
+ return KEY_LABELS[key] || (key.length === 1 ? key.toUpperCase() : `${key.charAt(0).toUpperCase()}${key.slice(1)}`);
5369
+ }
5370
+
5371
+ // Static
5372
+ static searchButtonInterface(element, config) {
5373
+ const data = SearchButton.getOrCreateInstance(element, config);
5374
+ if (typeof config === 'string') {
5375
+ if (config.startsWith('_') || typeof data[config] !== 'function') {
5376
+ throw new TypeError(`No method named "${config}"`);
5377
+ }
5378
+ data[config]();
5379
+ }
5380
+ }
5381
+ static jQueryInterface(config) {
5382
+ return this.each(function () {
5383
+ SearchButton.searchButtonInterface(this, config);
5384
+ });
5385
+ }
5386
+ static _initializeDataApi() {
5387
+ for (const button of document.querySelectorAll(SELECTOR_DATA_TOGGLE$2)) {
5388
+ SearchButton.getOrCreateInstance(button);
5389
+ }
5390
+ }
5391
+ static _handleDataApiClick(event) {
5392
+ event.preventDefault();
5393
+ const button = event.target.closest(SELECTOR_DATA_TOGGLE$2);
5394
+ const data = SearchButton.getOrCreateInstance(button);
5395
+ const shortcutTriggered = data._consumeShortcutTrigger();
5396
+ if (shortcutTriggered) {
5397
+ data._triggerEvent('shortcut');
5398
+ return;
5399
+ }
5400
+ data._triggerEvent('click');
5401
+ }
5402
+ static _handleDataApiKeydown(event) {
5403
+ for (const button of document.querySelectorAll(SELECTOR_DATA_TOGGLE$2)) {
5404
+ const data = SearchButton.getOrCreateInstance(button);
5405
+ data._syncActiveKeys(event);
5406
+ if (data._handleShortcut(event)) {
5407
+ break;
5408
+ }
5409
+ }
5410
+ }
5411
+ static _handleDataApiKeyup(event) {
5412
+ for (const button of document.querySelectorAll(SELECTOR_DATA_TOGGLE$2)) {
5413
+ SearchButton.getOrCreateInstance(button)._syncActiveKeys(event);
5414
+ }
5415
+ }
5416
+ static _handleDataApiBlur() {
5417
+ for (const button of document.querySelectorAll(SELECTOR_DATA_TOGGLE$2)) {
5418
+ SearchButton.getOrCreateInstance(button)._clearActiveKeys();
5419
+ }
5420
+ }
5421
+ }
5422
+
5423
+ /**
5424
+ * Data API implementation
5425
+ */
5426
+
5427
+ EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$3}${DATA_API_KEY$1}`, () => {
5428
+ SearchButton._initializeDataApi();
5429
+ });
5430
+ EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, event => {
5431
+ SearchButton._handleDataApiClick(event);
5432
+ });
5433
+ EventHandler.on(document, EVENT_KEYDOWN_DATA_API, event => {
5434
+ SearchButton._handleDataApiKeydown(event);
5435
+ });
5436
+ EventHandler.on(document, EVENT_KEYUP_DATA_API, event => {
5437
+ SearchButton._handleDataApiKeyup(event);
5438
+ });
5439
+ EventHandler.on(window, EVENT_BLUR_DATA_API, () => {
5440
+ SearchButton._handleDataApiBlur();
5441
+ });
5442
+
5443
+ /**
5444
+ * jQuery
5445
+ */
5446
+
5447
+ defineJQueryPlugin(SearchButton);
5448
+
5128
5449
  /**
5129
5450
  * --------------------------------------------------------------------------
5130
5451
  * CoreUI sidebar.js
@@ -5251,13 +5572,13 @@ class Sidebar extends BaseComponent {
5251
5572
  }
5252
5573
  narrow() {
5253
5574
  if (!this._isMobile()) {
5254
- this._addClassName(CLASS_NAME_SIDEBAR_NARROW);
5575
+ this._element.classList.add(CLASS_NAME_SIDEBAR_NARROW);
5255
5576
  this._narrow = true;
5256
5577
  }
5257
5578
  }
5258
5579
  unfoldable() {
5259
5580
  if (!this._isMobile()) {
5260
- this._addClassName(CLASS_NAME_SIDEBAR_NARROW_UNFOLDABLE);
5581
+ this._element.classList.add(CLASS_NAME_SIDEBAR_NARROW_UNFOLDABLE);
5261
5582
  this._unfoldable = true;
5262
5583
  }
5263
5584
  }
@@ -5315,19 +5636,16 @@ class Sidebar extends BaseComponent {
5315
5636
  const rect = this._element.getBoundingClientRect();
5316
5637
  return rect.top >= 0 && rect.left >= 0 && Math.floor(rect.bottom) <= (window.innerHeight || document.documentElement.clientHeight) && Math.floor(rect.right) <= (window.innerWidth || document.documentElement.clientWidth);
5317
5638
  }
5318
- _addClassName(className) {
5319
- this._element.classList.add(className);
5320
- }
5321
- _clickOutListener(event, sidebar) {
5639
+ _clickOutListener(event) {
5322
5640
  if (event.target.closest(SELECTOR_SIDEBAR) === null) {
5323
5641
  event.preventDefault();
5324
5642
  event.stopPropagation();
5325
- sidebar.hide();
5643
+ this.hide();
5326
5644
  }
5327
5645
  }
5328
5646
  _addClickOutListener() {
5329
5647
  EventHandler.on(document, EVENT_CLICK_DATA_API$1, event => {
5330
- this._clickOutListener(event, this);
5648
+ this._clickOutListener(event);
5331
5649
  });
5332
5650
  }
5333
5651
  _removeClickOutListener() {
@@ -5344,7 +5662,7 @@ class Sidebar extends BaseComponent {
5344
5662
  }
5345
5663
  EventHandler.on(this._element, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, event => {
5346
5664
  event.preventDefault();
5347
- const toggle = Manipulator.getDataAttribute(event.target, 'toggle');
5665
+ const toggle = Manipulator.getDataAttribute(event.target.closest(SELECTOR_DATA_TOGGLE$1), 'toggle');
5348
5666
  if (toggle === 'narrow') {
5349
5667
  this.toggleNarrow();
5350
5668
  }
@@ -5861,5 +6179,5 @@ enableDismissTrigger(Toast);
5861
6179
 
5862
6180
  defineJQueryPlugin(Toast);
5863
6181
 
5864
- export { Alert, Button, Carousel, Chip, ChipInput, Collapse, Dropdown, Modal, Navigation, Offcanvas, Popover, ScrollSpy, Sidebar, Tab, Toast, Tooltip };
6182
+ export { Alert, Button, Carousel, Chip, ChipInput, Collapse, Dropdown, Modal, Navigation, Offcanvas, Popover, ScrollSpy, SearchButton, Sidebar, Tab, Toast, Tooltip };
5865
6183
  //# sourceMappingURL=bootstrap.esm.js.map